feat(SPA): screen to manage API keys (PART 2/3)
This commit is contained in:
1 parent
844842fdae
commit
514a082c96
30 files changed
+3844
-83
No files matched your search
@@ -0,0 +1,65 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { messages } from './messages'
|
||||
|
||||
const API_KEYS_MESSAGES = [
|
||||
'API keys',
|
||||
'Create key',
|
||||
'Key',
|
||||
'Created by',
|
||||
'Last used',
|
||||
'Expires',
|
||||
'active',
|
||||
'expired',
|
||||
'revoked',
|
||||
'Revoke',
|
||||
'None',
|
||||
'Never',
|
||||
'Created {0}',
|
||||
'Created {0} by {1}',
|
||||
'Last used {0}',
|
||||
'Expires {0}',
|
||||
"Keys act as the user who created them. As an owner you see everyone's keys.",
|
||||
'Keys act as you, with your role. You only see your own keys.',
|
||||
"Resetting a user's password revokes all of their keys.",
|
||||
'No API keys yet',
|
||||
'Create a key to call the API from a script or service.',
|
||||
"Couldn't load your API keys",
|
||||
'Create API key',
|
||||
'The key acts as you, with your role. It is shown in full once.',
|
||||
'Required. Up to 60 characters.',
|
||||
'Expiry date (optional)',
|
||||
'Optional. Must be in the future. Leave it empty for a key that does not expire.',
|
||||
'Enter a name.',
|
||||
'Use 60 characters or fewer.',
|
||||
'Choose a date in the future.',
|
||||
'Your new API key',
|
||||
'"{0}" is ready. Copy the key and store it somewhere safe.',
|
||||
"You won't be able to see this key again.",
|
||||
'Closing this window discards the key from the screen. Copy it first.',
|
||||
'Done',
|
||||
'Revoke this key?',
|
||||
'"{0}" ({1}) will stop working right away. Requests that use it answer 401. This can\'t be undone.',
|
||||
'Keep key',
|
||||
'Revoke key',
|
||||
'Key revoked',
|
||||
'"{0}" can no longer be used.',
|
||||
'Revoking…',
|
||||
"Couldn't create the key. Try again in a moment.",
|
||||
"Couldn't reach RenewCMS. Check your connection and try again.",
|
||||
'Too many requests. Wait a moment, then try again.',
|
||||
"Something in the form isn't valid. Check the highlighted fields.",
|
||||
"Couldn't revoke the key. Try again in a moment.",
|
||||
'That key no longer exists.',
|
||||
'Manage API keys',
|
||||
'Loading API keys',
|
||||
]
|
||||
|
||||
describe('API keys screen messages', () => {
|
||||
it.each(API_KEYS_MESSAGES)('has a French entry for "%s"', (key) => {
|
||||
const french = (messages as Record<string, string>)[key]
|
||||
expect(french).toBeTruthy()
|
||||
if (key !== 'active') {
|
||||
expect(french).not.toBe(key)
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -293,6 +293,7 @@ export const messages = {
|
||||
"Titles can't be changed after an article is created. To use a different title, create a new article and delete this one.":
|
||||
'Les titres ne peuvent pas être modifiés après la création d’un article. Pour changer de titre, créez un nouvel article et supprimez celui-ci.',
|
||||
'Back to Articles': 'Retour aux articles',
|
||||
'Back to Integration': 'Retour à l’intégration',
|
||||
'Your changes to "{0}" haven\'t been saved.':
|
||||
'Vos modifications de « {0} » n’ont pas été enregistrées.',
|
||||
'Shorten the text or remove an image. Formatting counts too.':
|
||||
@@ -824,6 +825,65 @@ export const messages = {
|
||||
'images, {0} selected': 'images, {0} sélectionnées',
|
||||
'Used in 1 article': 'Utilisée dans 1 article',
|
||||
'Used in {0} articles': 'Utilisée dans {0} articles',
|
||||
'API keys': 'Clés d’API',
|
||||
'Create key': 'Créer une clé',
|
||||
Key: 'Clé',
|
||||
'Created by': 'Créée par',
|
||||
'Last used': 'Dernière utilisation',
|
||||
Expires: 'Expire le',
|
||||
active: 'active',
|
||||
expired: 'expirée',
|
||||
revoked: 'révoquée',
|
||||
Revoke: 'Révoquer',
|
||||
None: 'Aucune',
|
||||
Never: 'Jamais',
|
||||
'Created {0}': 'Créée le {0}',
|
||||
'Created {0} by {1}': 'Créée le {0} par {1}',
|
||||
'Last used {0}': 'Dernière utilisation : {0}',
|
||||
'Expires {0}': 'Expire : {0}',
|
||||
"Keys act as the user who created them. As an owner you see everyone's keys.":
|
||||
'Les clés agissent comme l’utilisateur qui les a créées. En tant que propriétaire, vous voyez les clés de tout le monde.',
|
||||
'Keys act as you, with your role. You only see your own keys.':
|
||||
'Les clés agissent en votre nom, avec votre rôle. Vous ne voyez que vos propres clés.',
|
||||
"Resetting a user's password revokes all of their keys.":
|
||||
'Réinitialiser le mot de passe d’un utilisateur révoque toutes ses clés.',
|
||||
'No API keys yet': 'Aucune clé d’API pour l’instant',
|
||||
'Create a key to call the API from a script or service.':
|
||||
'Créez une clé pour appeler l’API depuis un script ou un service.',
|
||||
"Couldn't load your API keys": 'Impossible de charger vos clés d’API',
|
||||
'Create API key': 'Créer une clé d’API',
|
||||
'The key acts as you, with your role. It is shown in full once.':
|
||||
'La clé agit en votre nom, avec votre rôle. Elle n’est affichée en entier qu’une seule fois.',
|
||||
'Required. Up to 60 characters.': 'Obligatoire. 60 caractères maximum.',
|
||||
'Expiry date (optional)': 'Date d’expiration (facultative)',
|
||||
'Optional. Must be in the future. Leave it empty for a key that does not expire.':
|
||||
'Facultative. Doit être dans le futur. Laissez vide pour une clé qui n’expire pas.',
|
||||
'Enter a name.': 'Saisissez un nom.',
|
||||
'Choose a date in the future.': 'Choisissez une date dans le futur.',
|
||||
'Your new API key': 'Votre nouvelle clé d’API',
|
||||
'"{0}" is ready. Copy the key and store it somewhere safe.':
|
||||
'« {0} » est prête. Copiez la clé et conservez-la en lieu sûr.',
|
||||
"You won't be able to see this key again.": 'Vous ne pourrez plus revoir cette clé.',
|
||||
'Closing this window discards the key from the screen. Copy it first.':
|
||||
'Fermer cette fenêtre supprime la clé de l’écran. Copiez-la d’abord.',
|
||||
Done: 'Terminé',
|
||||
'Revoke this key?': 'Révoquer cette clé ?',
|
||||
'"{0}" ({1}) will stop working right away. Requests that use it answer 401. This can\'t be undone.':
|
||||
'« {0} » ({1}) cessera de fonctionner immédiatement. Les requêtes qui l’utilisent recevront une réponse 401. Cette action est irréversible.',
|
||||
'Keep key': 'Garder la clé',
|
||||
'Revoke key': 'Révoquer la clé',
|
||||
'Key revoked': 'Clé révoquée',
|
||||
'"{0}" can no longer be used.': '« {0} » ne peut plus être utilisée.',
|
||||
'Revoking…': 'Révocation…',
|
||||
"Couldn't create the key. Try again in a moment.":
|
||||
'Impossible de créer la clé. Réessayez dans un instant.',
|
||||
'Too many requests. Wait a moment, then try again.':
|
||||
'Trop de requêtes. Patientez un instant, puis réessayez.',
|
||||
"Couldn't revoke the key. Try again in a moment.":
|
||||
'Impossible de révoquer la clé. Réessayez dans un instant.',
|
||||
'That key no longer exists.': 'Cette clé n’existe plus.',
|
||||
'Manage API keys': 'Gérer les clés d’API',
|
||||
'Loading API keys': 'Chargement des clés d’API',
|
||||
} as const
|
||||
|
||||
export type MessageKey = keyof typeof messages
|
||||
Reference in new issue
Block a user