feat: roles SPA Users, Profile, API keys, Activity
This commit is contained in:
1 parent
3db490a615
commit
34dffe222f
98 files changed
+4957
-434
No files matched your search
@@ -18,7 +18,7 @@ const API_KEYS_MESSAGES = [
|
||||
'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 the user who created them. 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',
|
||||
|
||||
@@ -583,7 +583,8 @@ export const messages = {
|
||||
"We'll email them a link to choose a username and password. The link expires after 3 days.":
|
||||
'Nous lui enverrons un lien pour choisir un nom d’utilisateur et un mot de passe. Ce lien expire après 3 jours.',
|
||||
'Invite sent': 'Invitation envoyée',
|
||||
'{0} has 3 days to accept.': '{0} a 3 jours pour accepter.',
|
||||
'{0} has {1} to accept.': '{0} a {1} pour accepter.',
|
||||
'1 day': '1 jour',
|
||||
'Too many invites. Wait a moment, then try again.':
|
||||
'Trop d’invitations. Patientez, puis réessayez.',
|
||||
"There's already a pending invite for this address.":
|
||||
@@ -604,7 +605,7 @@ export const messages = {
|
||||
'Renew invite': 'Renouveler l’invitation',
|
||||
'Renewing…': 'Renouvellement…',
|
||||
'Invite renewed': 'Invitation renouvelée',
|
||||
'{0} has 3 days to accept the new link.': '{0} a 3 jours pour accepter le nouveau lien.',
|
||||
'{0} has {1} to accept the new link.': '{0} a {1} pour accepter le nouveau lien.',
|
||||
"Couldn't renew the invite": 'Impossible de renouveler l’invitation',
|
||||
'Cancel invite': 'Annuler l’invitation',
|
||||
'Cancel this invite?': 'Annuler cette invitation ?',
|
||||
@@ -861,8 +862,8 @@ export const messages = {
|
||||
'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 the user who created them. You see everyone's keys.":
|
||||
'Les clés agissent comme l’utilisateur qui les a créées. 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.":
|
||||
@@ -3137,6 +3138,82 @@ export const messages = {
|
||||
'Install a new version of RenewCMS.': 'Installer une nouvelle version de RenewCMS.',
|
||||
'How long the activity log is kept.': 'Durée de conservation du journal d’activité.',
|
||||
'Make another member the owner.': 'Faire d’un autre membre le propriétaire.',
|
||||
'1 member has this role.': '1 membre a ce rôle.',
|
||||
"A key can do what its creator's role can do, today. If the person's role changes, their keys change with it.":
|
||||
'Une clé peut faire ce que le rôle de son créateur peut faire, aujourd’hui. Si le rôle de la personne change, ses clés changent avec lui.',
|
||||
'A summary of your role, {0}. Read-only.': 'Un résumé de votre rôle, {0}. Lecture seule.',
|
||||
'Assigned by {0}': 'Attribué par {0}',
|
||||
'Change role': 'Changer le rôle',
|
||||
'Change role for {0}': 'Changer le rôle de {0}',
|
||||
'Changed the role of {0}': 'A changé le rôle de {0}',
|
||||
'Changing…': 'Modification…',
|
||||
'Choose who becomes the owner. Only members can be chosen.':
|
||||
'Choisissez qui devient propriétaire. Seuls les membres peuvent être choisis.',
|
||||
Continue: 'Continuer',
|
||||
"Couldn't change the role. Try again in a moment.":
|
||||
'Impossible de changer le rôle. Réessayez dans un instant.',
|
||||
"Couldn't transfer ownership. Try again in a moment.":
|
||||
'Impossible de transférer la propriété. Réessayez dans un instant.',
|
||||
'Failed to change the role of {0}': 'Échec du changement de rôle de {0}',
|
||||
'Failed to create the role {0}': 'Échec de la création du rôle {0}',
|
||||
'Failed to delete the role {0}': 'Échec de la suppression du rôle {0}',
|
||||
'Failed to edit the role {0}': 'Échec de la modification du rôle {0}',
|
||||
'Failed to move the members of the role {0}': 'Échec du déplacement des membres du rôle {0}',
|
||||
'Failed to transfer ownership to {0}': 'Échec du transfert de la propriété à {0}',
|
||||
'Follows role': 'Suit le rôle',
|
||||
"Keys follow their creator's role": 'Les clés suivent le rôle de leur créateur',
|
||||
'Moved the members of the role {0}': 'A déplacé les membres du rôle {0}',
|
||||
'Only the owner can apply updates, delete a site and change activity retention.':
|
||||
'Seul le propriétaire peut appliquer les mises à jour, supprimer un site et modifier la conservation de l’activité.',
|
||||
'Ownership changed meanwhile': 'La propriété a changé entre-temps',
|
||||
'Ownership transferred': 'Propriété transférée',
|
||||
'Ownership transferred from {0} to {1}': 'Propriété transférée de {0} à {1}',
|
||||
'Role changed': 'Rôle modifié',
|
||||
'Role {0} created': 'Rôle {0} créé',
|
||||
'Role {0} deleted': 'Rôle {0} supprimé',
|
||||
'Role {0} edited': 'Rôle {0} modifié',
|
||||
'See what I can do': 'Voir ce que je peux faire',
|
||||
'That email does not match. Check it and try again.':
|
||||
'Cet e-mail ne correspond pas. Vérifiez-le et réessayez.',
|
||||
"That person can't become the owner. Choose another member.":
|
||||
'Cette personne ne peut pas devenir propriétaire. Choisissez un autre membre.',
|
||||
"That role isn't available anymore. Choose another one.":
|
||||
'Ce rôle n’est plus disponible. Choisissez-en un autre.',
|
||||
'That user no longer exists': 'Cet utilisateur n’existe plus',
|
||||
'The email must match exactly.': 'L’e-mail doit correspondre exactement.',
|
||||
'The list was refreshed.': 'La liste a été actualisée.',
|
||||
"The owner can't be changed or removed. Transfer ownership first.":
|
||||
'Le propriétaire ne peut être ni modifié ni retiré. Transférez d’abord la propriété.',
|
||||
'Their API keys follow the new role.': 'Ses clés d’API suivent le nouveau rôle.',
|
||||
'Their role changed meanwhile': 'Son rôle a changé entre-temps',
|
||||
'There is one owner. Transfer ownership to change who it is.':
|
||||
'Il n’y a qu’un propriétaire. Transférez la propriété pour changer de propriétaire.',
|
||||
'They get an email with a link to set a password.':
|
||||
'La personne reçoit un e-mail avec un lien pour définir un mot de passe.',
|
||||
'This takes effect straight away.': 'Cela prend effet immédiatement.',
|
||||
'Transfer ownership to {0}': 'Transférer la propriété à {0}',
|
||||
'Transferring…': 'Transfert…',
|
||||
'Type {0} to confirm': 'Saisissez {0} pour confirmer',
|
||||
'What changed': 'Ce qui a changé',
|
||||
'What you can do': 'Ce que vous pouvez faire',
|
||||
'Writer is the default. You can change a role later.':
|
||||
'Writer est le rôle par défaut. Vous pourrez le changer plus tard.',
|
||||
"You become an Admin. You can't take ownership back unless they transfer it.":
|
||||
'Vous devenez Admin. Vous ne pourrez pas reprendre la propriété sauf si cette personne vous la transfère.',
|
||||
"You can't change your own role. Ask another owner or admin.":
|
||||
'Vous ne pouvez pas changer votre propre rôle. Demandez à un autre propriétaire ou administrateur.',
|
||||
'You need permission to view roles to change a role.':
|
||||
'Il faut pouvoir consulter les rôles pour changer un rôle.',
|
||||
'Your API keys follow this role. If your role changes, they change too.':
|
||||
'Vos clés d’API suivent ce rôle. Si votre rôle change, elles changent aussi.',
|
||||
'Your API keys follow your new role.': 'Vos clés d’API suivent votre nouveau rôle.',
|
||||
'Your role': 'Votre rôle',
|
||||
'{0} becomes the owner.': '{0} devient propriétaire.',
|
||||
'{0} is now the owner. You are an Admin.': '{0} est maintenant propriétaire. Vous êtes Admin.',
|
||||
'{0} members have this role.': '{0} membres ont ce rôle.',
|
||||
'{0} now has the {1} role.': '{0} a maintenant le rôle {1}.',
|
||||
'{0}: {1} → {2}': '{0} : {1} → {2}',
|
||||
"{0}'s role changed from {1} to {2}": 'Le rôle de {0} est passé de {1} à {2}',
|
||||
} as const
|
||||
|
||||
export type MessageKey = keyof typeof messages
|
||||
@@ -61,3 +61,39 @@ describe('Roles screens copy', () => {
|
||||
expect(t('Roles')).toBe('Rôles')
|
||||
})
|
||||
})
|
||||
|
||||
const USERS_ROLES_KEYS = [
|
||||
'Assigned by {0}',
|
||||
'Your role',
|
||||
'See what I can do',
|
||||
'What you can do',
|
||||
'A summary of your role, {0}. Read-only.',
|
||||
'Change role',
|
||||
'Change role for {0}',
|
||||
'Their API keys follow the new role.',
|
||||
'Transfer ownership to {0}',
|
||||
'Type {0} to confirm',
|
||||
'The email must match exactly.',
|
||||
"Keys follow their creator's role",
|
||||
'Follows role',
|
||||
'What changed',
|
||||
'Role {0} created',
|
||||
'Role {0} edited',
|
||||
'Role {0} deleted',
|
||||
"{0}'s role changed from {1} to {2}",
|
||||
'Ownership transferred from {0} to {1}',
|
||||
'They get an email with a link to set a password.',
|
||||
'Writer is the default. You can change a role later.',
|
||||
] as const
|
||||
|
||||
describe('Users, Profile, API keys and Activity copy for roles', () => {
|
||||
it.each(USERS_ROLES_KEYS)('"%s" has a French entry', (key) => {
|
||||
expect((messages as Record<string, string>)[key]).toMatch(/\S/)
|
||||
})
|
||||
|
||||
it('renders "Assigned by {0}" in both languages', () => {
|
||||
expect(t('Assigned by {0}', ['Marta Alves'])).toBe('Assigned by Marta Alves')
|
||||
setLocale('fr')
|
||||
expect(t('Assigned by {0}', ['Marta Alves'])).toBe('Attribué par Marta Alves')
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user