1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-17 18:32:35 +00:00

Resolve "Prepare for translation management tool"

This commit is contained in:
Bram Wiepjes 2022-01-26 16:04:13 +00:00
parent 7fdfa3bc3f
commit 20c700cb33
174 changed files with 2600 additions and 4152 deletions
changelog.md
premium/web-frontend/modules/baserow_premium
web-frontend

View file

@ -2,7 +2,9 @@
## Unreleased
* Fixed `'<' not supported between instances of 'NoneType' and 'int'` error. Blank string for a decimal value is now converted to `None` when using the REST API.
* Fixed `'<' not supported between instances of 'NoneType' and 'int'` error. Blank
string for a decimal value is now converted to `None` when using the REST API.
* Moved the in component `<i18n>` translations to JSON files.
* Fix restoring table linking to trashed tables creating invalid link field.
* Fixed not being able to create or convert a single select field with edge case name.

View file

@ -94,20 +94,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"activeUsers": {
"newUsers": "New users",
"activeUsers": "Active users"
}
},
"fr": {
"activeUsers": {
"newUsers": "Nouveaux utilisateurs",
"activeUsers": "Utilisateurs actifs"
}
}
}
</i18n>

View file

@ -119,28 +119,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupsAdminTable": {
"allGroups": "All groups",
"id": "ID",
"name":"Name",
"members": "Members",
"applications": "Applications",
"created": "Created"
}
},
"fr": {
"groupsAdminTable": {
"allGroups": "Liste des groupes",
"id": "ID",
"name":"Nom",
"members": "Membres",
"applications": "Applications",
"created": "Créé le"
}
}
}
</i18n>

View file

@ -40,18 +40,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"editGroupContext": {
"delete": "Permanently delete"
}
},
"fr": {
"editGroupContext": {
"delete": "Supprimer définitivement"
}
}
}
</i18n>

View file

@ -67,24 +67,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"deleteGroupModal": {
"title": "Delete {name}",
"confirmation": "Are you sure you want to delete the group: {name}?",
"comment":"The group will be permanently deleted, including the related applications. It is not possible to undo this action.",
"delete": "Delete group {name}"
}
},
"fr": {
"deleteGroupModal": {
"title": "Supprimer {name}",
"confirmation": "Êtes-vous sûr·e de vouloir supprimer le groupe : {name} ?",
"comment":"Le groupe va être supprimé définitivement ainsi que ses applications liées. Il est impossible d'annuler cette action.",
"delete": "Supprimer le groupe {name}"
}
}
}
</i18n>

View file

@ -138,32 +138,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"usersAdminTable": {
"allUsers": "All users",
"id": "ID",
"username": "Username",
"name": "Name",
"groups": "Groups",
"lastLogin": "Last login",
"dateJoined": "Signed up",
"active": "Active"
}
},
"fr": {
"usersAdminTable": {
"allUsers": "Liste des utilisateurs",
"id": "ID",
"username": "Identifiant",
"name": "Nom",
"groups": "Groupes",
"lastLogin": "Dernière connexion",
"dateJoined": "Date d'inscription",
"active": "Actif"
}
}
}
</i18n>

View file

@ -131,20 +131,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"editUserContext": {
"changePassword": "Change password",
"delete": "Permanently delete"
}
},
"fr": {
"editUserContext": {
"changePassword": "Modifier le mot de passe",
"delete": "Supprimer définitivement"
}
}
}
</i18n>

View file

@ -78,28 +78,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"changePasswordForm": {
"newPassword": "New password",
"repeatPassword": "Repeat password",
"changePassword": "Change password",
"error":{
"doesntMatch": "This field must match your password field."
}
}
},
"fr": {
"changePasswordForm": {
"newPassword": "Nouveau mot de passe",
"repeatPassword": "Répétez le mot de passe",
"changePassword": "Mettre à jour le mot de passe",
"error":{
"doesntMatch": "Les deux mots de passe ne correspondent pas."
}
}
}
}
</i18n>

View file

@ -107,40 +107,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"userForm": {
"fullName": "Full name",
"email": "Email",
"isActive": "Is active",
"warning": {
"changeEmail":"Changing this users email address means when they sign in they must use the new email address to do so. This must be communicated with that user.",
"inactiveUser": "When a user is marked as inactive they are prevented from signing in.",
"userStaff": "Making the user staff gives them admin access to all users, all groups and the ability to revoke your own staff permissions."
},
"error": {
"invalidName": "Please enter a valid full name, it must be longer than 2 letters and less than 150.",
"invalidEmail": "Please enter a valid e-mail address."
}
}
},
"fr": {
"userForm": {
"fullName": "Nom complet",
"email": "Adresse électronique",
"isActive": "Est actif",
"warning": {
"changeEmail":"Si vous changez l'adresse électronique, l'utilisateur devra désormais utiliser celle-ci pour s'identifier. Ceci doit être signifié à l'utilisateur.",
"inactiveUser": "Un utilisateur inactif n'est plus en mesure de s'identifier.",
"userStaff": "Un collaborateur a accès à la liste des utilisateurs, des groupes et peut changer les permissions de tous les utilisateurs."
},
"error": {
"invalidName": "Veuillez saisir un nom valide, il doit être composé de plus de 2 charactères et moins de 150.",
"invalidEmail": "Veuillez saisir une adresse électronique valide."
}
}
}
}
</i18n>

View file

@ -51,18 +51,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"changeUserPasswordModal": {
"changePassword": "Change password for {username}"
}
},
"fr": {
"changeUserPasswordModal": {
"changePassword": "Changer le mot de passe pour {username}"
}
}
}
</i18n>

View file

@ -68,26 +68,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"deleteUserModal": {
"title": "Delete {username}",
"confirmation": "Are you sure you want to delete the user: {name}?",
"comment1":"The user account will be deleted, however the groups that user is a member of will continue existing. The users group will not be deleted, even if this user is the last user in the group. Deleting the last user in a group prevents anyone being able to access that group.",
"comment2":"After deleting a user it is possible for a new user to sign up again using the deleted users email address. To ensure they cannot sign up again instead deactivate the user and do not delete them.",
"delete": "Delete user {username}"
}
},
"fr": {
"deleteUserModal": {
"title": "Supprimer {username}",
"confirmation": "Êtes-vous sûr·e de vouloir supprimer l'utilisateur : {name} ?",
"comment1":"Le compte de l'utilisateur va être supprimé, cependant les groupes dont l'utilisateur est membre vont continuer d'exister. Ces groupes ne seront pas supprimés même si cet utilisateur est le dernier utilisateur du groupe. Supprimer le dernier utilisateur d'un groupe interdit à quiconque d'y accéder de nouveau.",
"comment2":"Après avoir supprimé un utilisateur, il sera possible de créer un nouveau compte avec la même adresse email. Si vous souhaitez éviter que l'utilisateur puisse se connecter avec cette adresse, vous pouvez désactiver l'utilisateur plutôt que supprimer son compte.",
"delete": "Supprimer l'utilisateur {username}"
}
}
}
</i18n>

View file

@ -71,20 +71,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"editUserModal": {
"delete": "Delete user",
"edit": "Edit { username }"
}
},
"fr": {
"editUserModal": {
"delete": "Supprimer l'utilisateur",
"edit": "Modifier {username}"
}
}
}
</i18n>

View file

@ -59,18 +59,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"crudTableSearchContext": {
"search": "Search"
}
},
"fr": {
"crudTableSearchContext": {
"search": "Chercher"
}
}
}
</i18n>

View file

@ -42,18 +42,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"tableJSONExporter": {
"encoding": "Encoding"
}
},
"fr": {
"tableJSONExporter": {
"encoding": "Encodage"
}
}
}
</i18n>

View file

@ -42,18 +42,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"tableXMLExporter": {
"encoding": "Encoding"
}
},
"fr": {
"tableXMLExporter": {
"encoding": "Encodage"
}
}
}
</i18n>

View file

@ -64,20 +64,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"disconnectLicenseModal": {
"disconnectLicense": "Disconnect license",
"disconnectDescription": "Are you sure that you want to disconnect this license? If you disconnect this license while it's active, the related users wont have access to the plan anymore. It will effectively remove the license. Please contact our support team at {contact} if you want to use this license in another self hosted instance."
}
},
"fr": {
"disconnectLicenseModal": {
"disconnectLicense": "Déconnecter la licence",
"disconnectDescription": "Êtes-vous sur·e de vouloir déconnecter la licence ? Si vous deconnectez la licence alors que celle-ci est active, les utilisateurs associés n'auront plus accès aux fonctionnalités qu'elle offre. Cela retire définitivement la licence. Veuillez contacter notre support via {contact} si vous souhaitez utiliser cette licence sur une autre instance hebergée."
}
}
}
</i18n>

View file

@ -47,18 +47,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"registerLicenseForm": {
"licenseKey": "License key"
}
},
"fr": {
"registerLicenseForm": {
"licenseKey": "Clé de licence"
}
}
}
</i18n>

View file

@ -92,48 +92,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"registerLicenseModal": {
"titleRegisterLicense": "Register a license",
"registerLicense": "Register license",
"viewPricing": "View pricing",
"licenseDescription": "A license can only be obtained on baserow.io. If you have already purchased a license, it will be delivered to you by email and you can get in from the overview in your account. Copy and paste the license key in the box below and click on the button to register the license key to this instance. Its not possible to use the same key on two different installations. {pricingLink} if you dont have a key yet.",
"licenseError": {
"invalidTitle": "Invalid",
"invalid": "The provided license is invalid.",
"unsupportedTitle": "Unsupported",
"unsupported": "The provided license is incompatible with your Baserow version. Please update to the latest version and try again.",
"expiredTitle": "Expired",
"expired": "The provided license has expired.",
"duplicateTitle": "Duplicate",
"duplicate": "The provided license is already registered to this instance.",
"instanceMismatchTitle": "Instance mistmatch",
"instanceMismatch": "The provided license does not belong to this instance."
}
}
},
"fr": {
"registerLicenseModal": {
"titleRegisterLicense": "Activer une licence",
"registerLicense": "Activer la licence",
"viewPricing": "Consultez les tarifs",
"licenseDescription": "Une licence peut-être obtenue uniquement sur baserow.io. Si vous avez déjà acheté une licence, elle vous sera envoyée par email et vous pourrez la consulter dans votre compte. Copiez-collez la clé de licence dans le champ ci-dessous et cliquez sur le bouton afin d'activer la licence pour cette instance de Baserow. Il n'est pas possible d'utiliser la même clé pour plusieurs instances. {pricingLink} si vous n'avez pas encore de clé.",
"licenseError": {
"invalidTitle": "Invalide",
"invalid": "La licence fournie est invalide.",
"unsupportedTitle": "Non supportée",
"unsupported": "La licence fournie est incompatible avec la version actuelle de Baserow. Veuillez mettre à jour votre instance avec la dernière version et essayez de nouveau.",
"expiredTitle": "Expirée",
"expired": "La licence fournie a expiré.",
"duplicateTitle": "Déja enregistrée",
"duplicate": "La licence fournie est déjà enregistrée sur cette instance.",
"instanceMismatchTitle": "Instance incorrecte",
"instanceMismatch": "La licence fournie n'a pas été créée pour cette instance."
}
}
}
}
</i18n>

View file

@ -49,18 +49,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"rowComment": {
"you": "You"
}
},
"fr": {
"rowComment": {
"you": "Vous"
}
}
}
</i18n>

View file

@ -159,24 +159,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"rowCommentSidebar": {
"onlyPremium": "Row comments are available in the premium version.",
"readOnlyNoComment": "No comments for this row.",
"noComment": "No comments for this row yet. Use the form below to add a comment.",
"comment": "Comment"
}
},
"fr": {
"rowCommentSidebar": {
"onlyPremium": "Les commentaires de lignes sont disponibles dans la version premium.",
"readOnlyNoComment": "Aucun commentaire pour cette ligne.",
"noComment": "Aucun commentaire pour cette ligne. Utilisez le formulaire ci-dessous pour ajouter un commentaire.",
"comment": "Commentaire"
}
}
}
</i18n>

View file

@ -192,22 +192,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"kanbanViewHeader": {
"stackBy": "Stack by",
"stackedBy": "Stacked by {fieldName}",
"customizeCards": "Customize cards"
}
},
"fr": {
"kanbanViewHeader": {
"stackBy": "Regrouper par",
"stackedBy": "Regroupé par {fieldName}",
"customizeCards": "Configurer les cartes"
}
}
}
</i18n>

View file

@ -70,18 +70,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"kanbanViewOptionForm": {
"selectOption": "Select option"
}
},
"fr": {
"kanbanViewOptionForm": {
"selectOption": "Nom de la colonne"
}
}
}
</i18n>

View file

@ -527,22 +527,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"kanbanViewStack": {
"uncategorized": "Uncategorized",
"tryAgain": "Try again",
"new": "New"
}
},
"fr": {
"kanbanViewStack": {
"uncategorized": "Sans catégorie",
"tryAgain": "Essayer encore",
"new": "Nouveau"
}
}
}
</i18n>

View file

@ -121,26 +121,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"kanbanViewStackContext": {
"createCard": "Create card",
"editStack": "Edit stack",
"deleteStack": "Delete stack",
"delete": "Delete {name}",
"deleteDescription": "Are you sure that you want to delete stack {name}? Deleting the stack results in deleting the select option of the single select field, which might result into data loss because row values are going to be set to empty."
}
},
"fr": {
"kanbanViewStackContext": {
"createCard": "Créer une carte",
"editStack": "Modifier la colonne",
"deleteStack": "Supprimer la colonne",
"delete": "Supprimer {name}",
"deleteDescription": "Êtes-vous sur·e de vouloir supprimer la colonne {name} ? Supprimer une valeur revient à supprimer l'option correspondante de la liste déroulante, ce qui peut impliquer une perte d'information car les lignes contenant cette valeur auront désormais une valeur vide à la place pour ce champ."
}
}
}
</i18n>

View file

@ -107,22 +107,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"kanbanViewStakedBy": {
"title": "Group field",
"chooseField": "Which single select field should the cards be stacked by?",
"addSelectField": "add single select field"
}
},
"fr": {
"kanbanViewStakedBy": {
"title": "Champ de regroupement",
"chooseField": "Par quel champ de type « liste déroulante » souhaitez-vous regrouper vos cartes ?",
"addSelectField": "Ajouter une liste déroulante"
}
}
}
</i18n>

View file

@ -1,21 +0,0 @@
export default {
user: {
isStaff: 'Is staff',
isGroupAdmin: 'Is group admin',
active: 'Active',
deactivated: 'Deactivated',
},
adminType: {
dashboard: 'Dashboard',
users: 'Users',
groups: 'Groups',
licenses: 'Licenses',
},
viewType: {
kanban: 'Kanban',
},
exporterType: {
json: 'Export to JSON',
xml: 'Export to XML',
},
}

View file

@ -0,0 +1,224 @@
{
"premium": {
"user":{
"isStaff": "Is staff",
"isGroupAdmin": "Is group admin",
"active": "Active",
"deactivated": "Deactivated"
},
"adminType":{
"dashboard": "Dashboard",
"users": "Users",
"groups": "Groups",
"licenses": "Licenses"
},
"viewType":{
"kanban": "Kanban"
},
"exporterType":{
"json": "Export to JSON",
"xml": "Export to XML"
}
},
"rowCommentSidebar": {
"onlyPremium": "Row comments are available in the premium version.",
"readOnlyNoComment": "No comments for this row.",
"noComment": "No comments for this row yet. Use the form below to add a comment.",
"comment": "Comment"
},
"rowComment": {
"you": "You"
},
"registerLicenseModal": {
"titleRegisterLicense": "Register a license",
"registerLicense": "Register license",
"viewPricing": "View pricing",
"licenseDescription": "A license can only be obtained on baserow.io. If you have already purchased a license, it will be delivered to you by email and you can get in from the overview in your account. Copy and paste the license key in the box below and click on the button to register the license key to this instance. Its not possible to use the same key on two different installations. {pricingLink} if you dont have a key yet.",
"licenseError": {
"invalidTitle": "Invalid",
"invalid": "The provided license is invalid.",
"unsupportedTitle": "Unsupported",
"unsupported": "The provided license is incompatible with your Baserow version. Please update to the latest version and try again.",
"expiredTitle": "Expired",
"expired": "The provided license has expired.",
"duplicateTitle": "Duplicate",
"duplicate": "The provided license is already registered to this instance.",
"instanceMismatchTitle": "Instance mistmatch",
"instanceMismatch": "The provided license does not belong to this instance."
}
},
"disconnectLicenseModal": {
"disconnectLicense": "Disconnect license",
"disconnectDescription": "Are you sure that you want to disconnect this license? If you disconnect this license while it's active, the related users wont have access to the plan anymore. It will effectively remove the license. Please contact our support team at {contact} if you want to use this license in another self hosted instance."
},
"registerLicenseForm": {
"licenseKey": "License key"
},
"groupsAdminTable": {
"allGroups": "All groups",
"id": "ID",
"name": "Name",
"members": "Members",
"applications": "Applications",
"created": "Created"
},
"editGroupContext": {
"delete": "Permanently delete"
},
"deleteGroupModal": {
"title": "Delete {name}",
"confirmation": "Are you sure you want to delete the group: {name}?",
"comment": "The group will be permanently deleted, including the related applications. It is not possible to undo this action.",
"delete": "Delete group {name}"
},
"activeUsers": {
"newUsers": "New users",
"activeUsers": "Active users"
},
"usersAdminTable": {
"allUsers": "All users",
"id": "ID",
"username": "Username",
"name": "Name",
"groups": "Groups",
"lastLogin": "Last login",
"dateJoined": "Signed up",
"active": "Active"
},
"editUserContext": {
"changePassword": "Change password",
"delete": "Permanently delete"
},
"changePasswordForm": {
"newPassword": "New password",
"repeatPassword": "Repeat password",
"changePassword": "Change password",
"error": {
"doesntMatch": "This field must match your password field."
}
},
"userForm": {
"fullName": "Full name",
"email": "Email",
"isActive": "Is active",
"warning": {
"changeEmail": "Changing this users email address means when they sign in they must use the new email address to do so. This must be communicated with that user.",
"inactiveUser": "When a user is marked as inactive they are prevented from signing in.",
"userStaff": "Making the user staff gives them admin access to all users, all groups and the ability to revoke your own staff permissions."
},
"error": {
"invalidName": "Please enter a valid full name, it must be longer than 2 letters and less than 150.",
"invalidEmail": "Please enter a valid e-mail address."
}
},
"changeUserPasswordModal": {
"changePassword": "Change password for {username}"
},
"deleteUserModal": {
"title": "Delete {username}",
"confirmation": "Are you sure you want to delete the user: {name}?",
"comment1": "The user account will be deleted, however the groups that user is a member of will continue existing. The users group will not be deleted, even if this user is the last user in the group. Deleting the last user in a group prevents anyone being able to access that group.",
"comment2": "After deleting a user it is possible for a new user to sign up again using the deleted users email address. To ensure they cannot sign up again instead deactivate the user and do not delete them.",
"delete": "Delete user {username}"
},
"editUserModal": {
"delete": "Delete user",
"edit": "Edit { username }"
},
"crudTableSearchContext": {
"search": "Search"
},
"tableJSONExporter": {
"encoding": "Encoding"
},
"tableXMLExporter": {
"encoding": "Encoding"
},
"kanbanViewStackContext": {
"createCard": "Create card",
"editStack": "Edit stack",
"deleteStack": "Delete stack",
"delete": "Delete {name}",
"deleteDescription": "Are you sure that you want to delete stack {name}? Deleting the stack results in deleting the select option of the single select field, which might result into data loss because row values are going to be set to empty."
},
"kanbanViewHeader": {
"stackBy": "Stack by",
"stackedBy": "Stacked by {fieldName}",
"customizeCards": "Customize cards"
},
"kanbanViewOptionForm": {
"selectOption": "Select option"
},
"kanbanViewStakedBy": {
"title": "Group field",
"chooseField": "Which single select field should the cards be stacked by?",
"addSelectField": "add single select field"
},
"kanbanViewStack": {
"uncategorized": "Uncategorized",
"tryAgain": "Try again",
"new": "New"
},
"dashboard": {
"title": "Dashboard",
"totals": "Totals",
"totalUsers": "Total users",
"totalGroups": "Total groups",
"totalApplications": "Total applications",
"newUsers": "New users",
"newUsers24h": "New users last 24 hours",
"newUsers7days": "New users last 7 days",
"newUsers30days": "New users last 30 days",
"activeUsers": "Active users",
"activeUsers24h": "Active users last 24 hours",
"activeUsers7days": "Active users last 7 days",
"activeUsers30days": "Active users last 30 days",
"viewAll": "View all"
},
"licenses": {
"titleNoLicenses": "No licenses found",
"titleLicenses": "Licenses",
"noLicensesDescription": "Your Baserow instance doesnt have any licenses registered. A premium license gives you immediate access to all of the additional features. If you already have a license, you can register it here. Alternatively you can get one by clicking on the button below.",
"rowComments": "Row comments",
"kanbanView": "Kanban view",
"exports": "JSON and XML export",
"admin": "Admin functionality",
"getLicense": "Get a license",
"baserowInstanceId": "Your Baserow instance ID is:",
"registerLicense": "Register license",
"licenceId": "License ID",
"premium": "Premium",
"expired": "Expired",
"validity": "Valid from {start} through {end}",
"seats": "seats",
"premiumFeatures": "Premium features"
},
"license": {
"title": "{product_code} plan",
"users": "Users",
"description": "Choose the users that can use the {product_code} plan. This license allows you to grant {product_code} to a maximum of {seats} users.",
"seatLeft": "You have no seats left|You have one seat left|You have {count} seats left",
"fillSeats": "Fill seats with users that are not on the plan",
"removeAll": "Remove all users",
"licenseId": "License ID",
"addUser": "Add a user",
"plan": "Plan",
"premium": "premium",
"expired": "Expired",
"validFrom": "Valid from",
"validThrough": "Valid through",
"validThroughDescription": "After your license has expired, you and any assigned users will no longer be able to use the extra functionality granted by the license.",
"lastCheck": "Last check",
"lastCheckDescription": "The license is periodically checked for changes. If you for example renewed or upgraded your license, the changes become active after the check.",
"checkNow": "check now",
"seats": "Seats (amount of users)",
"licensedTo": "Licensed to",
"premiumFeatures": "Premium features",
"applications": "Applications / databases",
"unlimited": "Unlimited",
"rowUsage": "Row usage",
"storeUsage": "Storage usage",
"disconnectLicense": "Disconnect license",
"disconnectDescription": "If you disconnect this license while it's active, the related users wont have access to the plan anymore. It will effectively remove the license. Please contact our support team at {contact} if you want to use this license in another self hosted instance."
}
}

View file

@ -1,21 +0,0 @@
export default {
user: {
isStaff: 'Est collaborateur',
isGroupAdmin: "Est l'administrateur du groupe",
active: 'Actif',
deactivated: 'Inactif',
},
adminType: {
dashboard: 'Statistiques',
users: 'Utilisateurs',
groups: 'Groupes',
licenses: 'Licences',
},
viewType: {
kanban: 'Kanban',
},
exporterType: {
json: 'Exporter vers JSON',
xml: 'Exporter vers XML',
},
}

View file

@ -0,0 +1,224 @@
{
"premium": {
"user":{
"isStaff": "Est collaborateur",
"isGroupAdmin": "Est l'administrateur du groupe",
"active": "Actif",
"deactivated": "Inactif"
},
"adminType":{
"dashboard": "Statistiques",
"users": "Utilisateurs",
"groups": "Groupes",
"licenses": "Licences"
},
"viewType":{
"kanban": "Kanban"
},
"exporterType":{
"json": "Exporter vers JSON",
"xml": "Exporter vers XML"
}
},
"rowCommentSidebar": {
"onlyPremium": "Les commentaires de lignes sont disponibles dans la version premium.",
"readOnlyNoComment": "Aucun commentaire pour cette ligne.",
"noComment": "Aucun commentaire pour cette ligne. Utilisez le formulaire ci-dessous pour ajouter un commentaire.",
"comment": "Commentaire"
},
"rowComment": {
"you": "Vous"
},
"registerLicenseModal": {
"titleRegisterLicense": "Activer une licence",
"registerLicense": "Activer la licence",
"viewPricing": "Consultez les tarifs",
"licenseDescription": "Une licence peut-être obtenue uniquement sur baserow.io. Si vous avez déjà acheté une licence, elle vous sera envoyée par email et vous pourrez la consulter dans votre compte. Copiez-collez la clé de licence dans le champ ci-dessous et cliquez sur le bouton afin d'activer la licence pour cette instance de Baserow. Il n'est pas possible d'utiliser la même clé pour plusieurs instances. {pricingLink} si vous n'avez pas encore de clé.",
"licenseError": {
"invalidTitle": "Invalide",
"invalid": "La licence fournie est invalide.",
"unsupportedTitle": "Non supportée",
"unsupported": "La licence fournie est incompatible avec la version actuelle de Baserow. Veuillez mettre à jour votre instance avec la dernière version et essayez de nouveau.",
"expiredTitle": "Expirée",
"expired": "La licence fournie a expiré.",
"duplicateTitle": "Déja enregistrée",
"duplicate": "La licence fournie est déjà enregistrée sur cette instance.",
"instanceMismatchTitle": "Instance incorrecte",
"instanceMismatch": "La licence fournie n'a pas été créée pour cette instance."
}
},
"disconnectLicenseModal": {
"disconnectLicense": "Déconnecter la licence",
"disconnectDescription": "Êtes-vous sur·e de vouloir déconnecter la licence ? Si vous deconnectez la licence alors que celle-ci est active, les utilisateurs associés n'auront plus accès aux fonctionnalités qu'elle offre. Cela retire définitivement la licence. Veuillez contacter notre support via {contact} si vous souhaitez utiliser cette licence sur une autre instance hebergée."
},
"registerLicenseForm": {
"licenseKey": "Clé de licence"
},
"groupsAdminTable": {
"allGroups": "Liste des groupes",
"id": "ID",
"name": "Nom",
"members": "Membres",
"applications": "Applications",
"created": "Créé le"
},
"editGroupContext": {
"delete": "Supprimer définitivement"
},
"deleteGroupModal": {
"title": "Supprimer {name}",
"confirmation": "Êtes-vous sûr·e de vouloir supprimer le groupe : {name} ?",
"comment": "Le groupe va être supprimé définitivement ainsi que ses applications liées. Il est impossible d'annuler cette action.",
"delete": "Supprimer le groupe {name}"
},
"activeUsers": {
"newUsers": "Nouveaux utilisateurs",
"activeUsers": "Utilisateurs actifs"
},
"usersAdminTable": {
"allUsers": "Liste des utilisateurs",
"id": "ID",
"username": "Identifiant",
"name": "Nom",
"groups": "Groupes",
"lastLogin": "Dernière connexion",
"dateJoined": "Date d'inscription",
"active": "Actif"
},
"editUserContext": {
"changePassword": "Modifier le mot de passe",
"delete": "Supprimer définitivement"
},
"changePasswordForm": {
"newPassword": "Nouveau mot de passe",
"repeatPassword": "Répétez le mot de passe",
"changePassword": "Mettre à jour le mot de passe",
"error": {
"doesntMatch": "Les deux mots de passe ne correspondent pas."
}
},
"userForm": {
"fullName": "Nom complet",
"email": "Adresse électronique",
"isActive": "Est actif",
"warning": {
"changeEmail": "Si vous changez l'adresse électronique, l'utilisateur devra désormais utiliser celle-ci pour s'identifier. Ceci doit être signifié à l'utilisateur.",
"inactiveUser": "Un utilisateur inactif n'est plus en mesure de s'identifier.",
"userStaff": "Un collaborateur a accès à la liste des utilisateurs, des groupes et peut changer les permissions de tous les utilisateurs."
},
"error": {
"invalidName": "Veuillez saisir un nom valide, il doit être composé de plus de 2 charactères et moins de 150.",
"invalidEmail": "Veuillez saisir une adresse électronique valide."
}
},
"changeUserPasswordModal": {
"changePassword": "Changer le mot de passe pour {username}"
},
"deleteUserModal": {
"title": "Supprimer {username}",
"confirmation": "Êtes-vous sûr·e de vouloir supprimer l'utilisateur : {name} ?",
"comment1": "Le compte de l'utilisateur va être supprimé, cependant les groupes dont l'utilisateur est membre vont continuer d'exister. Ces groupes ne seront pas supprimés même si cet utilisateur est le dernier utilisateur du groupe. Supprimer le dernier utilisateur d'un groupe interdit à quiconque d'y accéder de nouveau.",
"comment2": "Après avoir supprimé un utilisateur, il sera possible de créer un nouveau compte avec la même adresse email. Si vous souhaitez éviter que l'utilisateur puisse se connecter avec cette adresse, vous pouvez désactiver l'utilisateur plutôt que supprimer son compte.",
"delete": "Supprimer l'utilisateur {username}"
},
"editUserModal": {
"delete": "Supprimer l'utilisateur",
"edit": "Modifier {username}"
},
"crudTableSearchContext": {
"search": "Chercher"
},
"tableJSONExporter": {
"encoding": "Encodage"
},
"tableXMLExporter": {
"encoding": "Encodage"
},
"kanbanViewStackContext": {
"createCard": "Créer une carte",
"editStack": "Modifier la colonne",
"deleteStack": "Supprimer la colonne",
"delete": "Supprimer {name}",
"deleteDescription": "Êtes-vous sur·e de vouloir supprimer la colonne {name} ? Supprimer une valeur revient à supprimer l'option correspondante de la liste déroulante, ce qui peut impliquer une perte d'information car les lignes contenant cette valeur auront désormais une valeur vide à la place pour ce champ."
},
"kanbanViewHeader": {
"stackBy": "Regrouper par",
"stackedBy": "Regroupé par {fieldName}",
"customizeCards": "Configurer les cartes"
},
"kanbanViewOptionForm": {
"selectOption": "Nom de la colonne"
},
"kanbanViewStakedBy": {
"title": "Champ de regroupement",
"chooseField": "Par quel champ de type « liste déroulante » souhaitez-vous regrouper vos cartes ?",
"addSelectField": "Ajouter une liste déroulante"
},
"kanbanViewStack": {
"uncategorized": "Sans catégorie",
"tryAgain": "Essayer encore",
"new": "Nouveau"
},
"dashboard": {
"title": "Statistiques",
"totals": "Résumé",
"totalUsers": "Nombre d'utilisateur",
"totalGroups": "Nombre de groupe",
"totalApplications": "Nombre d'application",
"newUsers": "Nouveaux utilisateurs",
"newUsers24h": "Sur les dernières 24h",
"newUsers7days": "sur les 7 derniers jours",
"newUsers30days": "Sur les 30 derniers jours",
"activeUsers": "Utilisateurs actifs",
"activeUsers24h": "Sur les dernières 24h",
"activeUsers7days": "sur les 7 derniers jours",
"activeUsers30days": "Sur les 30 derniers jours",
"viewAll": "Consulter"
},
"licenses": {
"titleNoLicenses": "Aucune licences trouvée",
"titleLicenses": "Licences",
"noLicensesDescription": "Votre instance de Baserow n'a aucune licence enregistrée. Une licence premium vous donne immédiatement accés à plusieurs fonctionnalités additionnelles. Si vous avez déjà une licence, vous pouvez l'enregistrer ici. Vous pouvez également en obtenir une en cliquant sur le bouton ci-dessous.",
"rowComments": "Commentaires par lignes",
"kanbanView": "Vue Kanban",
"exports": "Export JSON et XML",
"admin": "Interface d'administration",
"getLicense": "Obtenir une licence",
"baserowInstanceId": "Votre identifiant d'instance Baserow est :",
"registerLicense": "Activer une licence",
"licenceId": "Numéro de licence",
"premium": "Premium",
"expired": "Expirée",
"validity": "Valide du {start} au {end}",
"seats": "places",
"premiumFeatures": "Fonctionalités premium"
},
"license": {
"title": "Plan {product_code}",
"users": "Utilisateurs",
"description": "Choisissez les utilisateurs qui peuvent utiliser les fonctionalités du plan {product_code}. Cette licence vous permet de distribuer le plan {product_code} à un maximum de {seats} utilisateurs.",
"seatLeft": "Vous n'avez plus de place disponible|Il reste une seule place|Il reste {count} places",
"fillSeats": "Distribuer les places aux utilisateurs restants",
"removeAll": "Enlever tous les utilisateurs",
"licenseId": "Numéro de licence",
"addUser": "Ajouter un utilisateur",
"plan": "Plan",
"premium": "premium",
"expired": "Expirée",
"validFrom": "Début de validité",
"validThrough": "Fin de validité",
"validThroughDescription": "Quand la licence expire, les utilisateurs associés n'auront plus accès aux fonctionnalités offertes par la licence.",
"lastCheck": "Dernière vérification",
"lastCheckDescription": "La licence est vérifiée réguliérement. Si vous avez, par exemple, renouvellé ou mis à jour votre licence, les changements ne deviennent actifs qu'après la vérification.",
"checkNow": "Vérifier maintenant",
"seats": "Places (nombre d'utilisateur max.)",
"licensedTo": "Attribuée à",
"premiumFeatures": "Fonctionnalités premium",
"applications": "Applications / Bases de données",
"unlimited": "Illimité",
"rowUsage": "Nombre de ligne",
"storeUsage": "Espace disponible",
"disconnectLicense": "Déconnecter la licence",
"disconnectDescription": "Si vous déconnectez la licence alors que celle-ci est active, les utilisateurs associés n'auront plus accès aux fonctionnalités qu'elle offre. Cela retire définitivement la licence. Veuillez contacter notre support via {contact} si vous souhaitez utiliser cette licence sur une autre instance hebergée."
}
}

View file

@ -2,23 +2,12 @@ import path from 'path'
import { routes } from './routes'
import en from './locales/en'
import fr from './locales/fr'
import en from './locales/en.json'
import fr from './locales/fr.json'
export default function () {
this.nuxt.hook('i18n:extend-messages', function (additionalMessages) {
additionalMessages.push({
en: {
premium: {
...en,
},
},
fr: {
premium: {
...fr,
},
},
})
this.nuxt.hook('i18n:extend-messages', (additionalMessages) => {
additionalMessages.push({ en, fr })
})
// Register new alias to the web-frontend directory.

View file

@ -280,44 +280,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"dashboard": {
"title": "Dashboard",
"totals": "Totals",
"totalUsers": "Total users",
"totalGroups": "Total groups",
"totalApplications": "Total applications",
"newUsers": "New users",
"newUsers24h": "New users last 24 hours",
"newUsers7days": "New users last 7 days",
"newUsers30days": "New users last 30 days",
"activeUsers": "Active users",
"activeUsers24h": "Active users last 24 hours",
"activeUsers7days": "Active users last 7 days",
"activeUsers30days": "Active users last 30 days",
"viewAll": "View all"
}
},
"fr": {
"dashboard": {
"title": "Statistiques",
"totals": "Résumé",
"totalUsers": "Nombre d'utilisateur",
"totalGroups": "Nombre de groupe",
"totalApplications": "Nombre d'application",
"newUsers": "Nouveaux utilisateurs",
"newUsers24h": "Sur les dernières 24h",
"newUsers7days": "sur les 7 derniers jours",
"newUsers30days": "Sur les 30 derniers jours",
"activeUsers": "Utilisateurs actifs",
"activeUsers24h": "Sur les dernières 24h",
"activeUsers7days": "sur les 7 derniers jours",
"activeUsers30days": "Sur les 30 derniers jours",
"viewAll": "Consulter"
}
}
}
</i18n>

View file

@ -383,68 +383,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"license": {
"title": "{product_code} plan",
"users": "Users",
"description": "Choose the users that can use the {product_code} plan. This license allows you to grant {product_code} to a maximum of {seats} users.",
"seatLeft": "You have no seats left|You have one seat left|You have {count} seats left",
"fillSeats": "Fill seats with users that are not on the plan",
"removeAll": "Remove all users",
"licenseId": "License ID",
"addUser": "Add a user",
"plan": "Plan",
"premium": "premium",
"expired": "Expired",
"validFrom": "Valid from",
"validThrough": "Valid through",
"validThroughDescription": "After your license has expired, you and any assigned users will no longer be able to use the extra functionality granted by the license.",
"lastCheck": "Last check",
"lastCheckDescription": "The license is periodically checked for changes. If you for example renewed or upgraded your license, the changes become active after the check.",
"checkNow": "check now",
"seats": "Seats (amount of users)",
"licensedTo": "Licensed to",
"premiumFeatures": "Premium features",
"applications": "Applications / databases",
"unlimited": "Unlimited",
"rowUsage": "Row usage",
"storeUsage": "Storage usage",
"disconnectLicense": "Disconnect license",
"disconnectDescription": "If you disconnect this license while it's active, the related users wont have access to the plan anymore. It will effectively remove the license. Please contact our support team at {contact} if you want to use this license in another self hosted instance."
}
},
"fr": {
"license": {
"title": "Plan {product_code}",
"users": "Utilisateurs",
"description": "Choisissez les utilisateurs qui peuvent utiliser les fonctionalités du plan {product_code}. Cette licence vous permet de distribuer le plan {product_code} à un maximum de {seats} utilisateurs.",
"seatLeft": "Vous n'avez plus de place disponible|Il reste une seule place|Il reste {count} places",
"fillSeats": "Distribuer les places aux utilisateurs restants",
"removeAll": "Enlever tous les utilisateurs",
"licenseId": "Numéro de licence",
"addUser": "Ajouter un utilisateur",
"plan": "Plan",
"premium": "premium",
"expired": "Expirée",
"validFrom": "Début de validité",
"validThrough": "Fin de validité",
"validThroughDescription": "Quand la licence expire, les utilisateurs associés n'auront plus accès aux fonctionnalités offertes par la licence.",
"lastCheck": "Dernière vérification",
"lastCheckDescription": "La licence est vérifiée réguliérement. Si vous avez, par exemple, renouvellé ou mis à jour votre licence, les changements ne deviennent actifs qu'après la vérification.",
"checkNow": "Vérifier maintenant",
"seats": "Places (nombre d'utilisateur max.)",
"licensedTo": "Attribuée à",
"premiumFeatures": "Fonctionnalités premium",
"applications": "Applications / Bases de données",
"unlimited": "Illimité",
"rowUsage": "Nombre de ligne",
"storeUsage": "Espace disponible",
"disconnectLicense": "Déconnecter la licence",
"disconnectDescription": "Si vous déconnectez la licence alors que celle-ci est active, les utilisateurs associés n'auront plus accès aux fonctionnalités qu'elle offre. Cela retire définitivement la licence. Veuillez contacter notre support via {contact} si vous souhaitez utiliser cette licence sur une autre instance hebergée."
}
}
}
</i18n>

View file

@ -203,48 +203,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"licenses": {
"titleNoLicenses": "No licenses found",
"titleLicenses": "Licenses",
"noLicensesDescription": "Your Baserow instance doesnt have any licenses registered. A premium license gives you immediate access to all of the additional features. If you already have a license, you can register it here. Alternatively you can get one by clicking on the button below.",
"rowComments": "Row comments",
"kanbanView": "Kanban view",
"exports": "JSON and XML export",
"admin": "Admin functionality",
"getLicense": "Get a license",
"baserowInstanceId": "Your Baserow instance ID is:",
"registerLicense": "Register license",
"licenceId": "License ID",
"premium": "Premium",
"expired": "Expired",
"validity": "Valid from {start} through {end}",
"seats": "seats",
"premiumFeatures": "Premium features"
}
},
"fr": {
"licenses": {
"titleNoLicenses": "Aucune licences trouvée",
"titleLicenses": "Licences",
"noLicensesDescription": "Votre instance de Baserow n'a aucune licence enregistrée. Une licence premium vous donne immédiatement accés à plusieurs fonctionnalités additionnelles. Si vous avez déjà une licence, vous pouvez l'enregistrer ici. Vous pouvez également en obtenir une en cliquant sur le bouton ci-dessous.",
"rowComments": "Commentaires par lignes",
"kanbanView": "Vue Kanban",
"exports": "Export JSON et XML",
"admin": "Interface d'administration",
"getLicense": "Obtenir une licence",
"baserowInstanceId": "Votre identifiant d'instance Baserow est :",
"registerLicense": "Activer une licence",
"licenceId": "Numéro de licence",
"premium": "Premium",
"expired": "Expirée",
"validity": "Valide du {start} au {end}",
"seats": "places",
"premiumFeatures": "Fonctionalités premium"
}
}
}
</i18n>

View file

@ -15,8 +15,11 @@ import { PremiumDatabaseApplicationType } from '@baserow_premium/applicationType
import { registerRealtimeEvents } from '@baserow_premium/realtime'
import { KanbanViewType } from '@baserow_premium/viewTypes'
import en from '@baserow_premium/locales/en.json'
import fr from '@baserow_premium/locales/fr.json'
export default (context) => {
const { store, app } = context
const { store, app, isDev } = context
app.$clientErrorMap.setError(
'ERROR_NO_ACTIVE_PREMIUM_LICENSE',
@ -24,6 +27,13 @@ export default (context) => {
'This functionality requires an active premium license. Please refresh the page.'
)
// Allow locale file hot reloading
if (isDev && app.i18n) {
const { i18n } = app
i18n.mergeLocaleMessage('en', en)
i18n.mergeLocaleMessage('fr', fr)
}
store.registerModule('row_comments', rowCommentsStore)
store.registerModule('page/view/kanban', kanbanStore)
store.registerModule('template/view/kanban', kanbanStore)

View file

@ -1,417 +0,0 @@
export default {
common: {
yes: 'yes',
no: 'no',
wrong: 'Something went wrong',
none: 'None',
},
action: {
upload: 'Upload',
back: 'Back',
backToLogin: 'Back to login',
signUp: 'Sign up',
signIn: 'Sign in',
createNew: 'Create new',
create: 'Create',
edit: 'Edit',
change: 'Change',
delete: 'Delete',
rename: 'Rename',
add: 'Add',
makeChoice: 'Make a choice',
cancel: 'Cancel',
save: 'Save',
retry: 'Retry',
search: 'Search',
copy: 'Copy',
activate: 'Activate',
deactivate: 'Deactivate',
},
adminType: {
settings: 'Settings',
},
applicationType: {
database: 'Database',
cantSelectTableTitle: "Couldn't select the database.",
cantSelectTableDescription:
"The database couldn't be selected because it doesn't have any tables. Use the" +
' sidebar to create one.',
},
settingType: {
account: 'Account',
password: 'Password',
tokens: 'API Tokens',
},
userFileUploadType: {
file: 'my device',
url: 'a URL',
},
field: {
emailAddress: 'E-mail address',
},
error: {
invalidEmail: 'Please enter a valid e-mail address.',
notMatchingPassword: 'This field must match your password field.',
minLength: 'A minimum of {min} characters is required here.',
maxLength: 'A maximum of {max} characters is allowed here.',
minMaxLength:
'A minimum of {min} and a maximum of {max} characters is allowed here.',
requiredField: 'This field is required.',
},
permission: {
admin: 'Admin',
adminDescription: 'Can fully configure and edit groups and applications.',
member: 'Member',
memberDescription: 'Can fully configure and edit applications.',
},
fieldType: {
singleLineText: 'Single line text',
longText: 'Long text',
linkToTable: 'Link to table',
number: 'Number',
rating: 'Rating',
boolean: 'Boolean',
date: 'Date',
lastModified: 'Last modified',
createdOn: 'Created on',
url: 'URL',
email: 'Email',
file: 'File',
singleSelect: 'Single select',
multipleSelect: 'Multiple select',
phoneNumber: 'Phone number',
formula: 'Formula',
lookup: 'Lookup',
},
fieldErrors: {
invalidNumber: 'Invalid number',
maxDigits: 'Max {max} digits allowed.',
invalidUrl: 'Invalid URL',
max254Chars: 'Max 254 chars',
invalidEmail: 'Invalid email',
invalidPhoneNumber: 'Invalid Phone Number',
},
fieldDocs: {
readOnly: 'This is a read only field.',
text: 'Accepts single line text.',
longText: 'Accepts multi line text.',
linkRow:
'Accepts an array containing the identifiers of the related rows from table' +
' id {table}. All identifiers must be provided every time the relations are' +
' updated. If an empty array is provided all relations will be deleted.',
number: 'Accepts a number.',
numberPositive: 'Accepts a positive number.',
decimal: 'Accepts a decimal with {places} decimal places after the dot.',
decimalPositive:
'Accepts a positive decimal with {places} decimal places after the dot.',
rating: 'Accepts a number.',
boolean: 'Accepts a boolean.',
date: 'Accepts a date time in ISO format.',
dateTime: 'Accepts a date in ISO format.',
dateResponse: 'The response will be a datetime in ISO format.',
dateTimeResponse: 'The response will be a date in ISO format.',
lastModifiedReadOnly: 'The last modified field is a read only field.',
createdOnReadOnly: 'The created on field is a read only field.',
url: 'Accepts a string that must be a URL.',
email: 'Accepts a string that must be an email address.',
file: 'Accepts an array of objects containing at least the name of the user file.',
singleSelect:
'Accepts an integer representing the chosen select option id or null if none' +
' is selected.',
multipleSelect:
'Accepts an array of integers each representing the chosen select option id.',
phoneNumber:
'Accepts a phone number which has a maximum length of 100 characters' +
' consisting solely of digits, spaces and the following characters: ' +
'Nx,._+*()#=;/- .',
formula:
'A read-only field defined by a formula written in the Baserow formula' +
' language.',
lookup:
'A read-only field connected to a link row field which returns an array of' +
' values and row ids from the chosen lookup field in the linked table.',
},
viewFilter: {
contains: 'contains',
containsNot: 'contains not',
filenameContains: 'filename contains',
has: 'has',
hasNot: 'has not',
higherThan: 'higher than',
is: 'is',
isNot: 'is not',
isEmpty: 'is empty',
isNotEmpty: 'is not empty',
isDate: 'is date',
isDayOfMonth: 'day of month is',
isBeforeDate: 'is before date',
isAfterDate: 'is after date',
isNotDate: 'is not date',
isToday: 'is today',
inThisMonth: 'in this month',
inThisYear: 'in this year',
lowerThan: 'lower than',
lengthIsLowerThan: 'length is lower than',
hasFileType: 'has file type',
},
viewType: {
grid: 'Grid',
gallery: 'Gallery',
form: 'Form',
sharing: {
linkName: 'view',
formLinkName: 'form',
},
},
premium: {
deactivated: 'Available in premium version',
},
trashType: {
group: 'group',
application: 'application',
table: 'table',
field: 'field',
row: 'row',
},
webhook: {
request: 'Request',
response: 'Response',
successfullyUpdated: 'Webhook successfully updated.',
status: {
noStatus: 'NO STATUS',
statusOK: 'OK',
statusNotOK: 'NOT OK',
},
eventType: {
rowCreated: 'When a row is created',
rowUpdated: 'When a row is updated',
rowDeleted: 'When a row is deleted',
},
},
clientHandler: {
notFoundTitle: '{name} not found.',
notFoundDescription:
"The selected {name} wasn't found, maybe it has already been deleted.",
networkErrorTitle: 'Network error',
networkErrorDescription: 'Could not connect to the API server.',
tooManyRequestsTitle: 'Too many requests',
tooManyRequestsDescription:
'You are sending too many requests to the server. Please wait a moment.',
notCompletedTitle: 'Action not completed.',
notCompletedDescription:
"The action couldn't be completed because an unknown error has occured.",
userNotInGroupTitle: 'Action not allowed.',
userNotInGroupDescription:
"The action couldn't be completed because you aren't a member of the related group.",
invalidGroupPermissionsTitle: 'Action not allowed.',
invalidGroupPermissionsDescription:
"The action couldn't be completed because you don't have the right permissions to the related group.",
tableDoesNotExistTitle: "Table doesn't exist.",
tableDoesNotExistDescription:
"The action couldn't be completed because the related table doesn't exist anymore.",
rowDoesNotExistTitle: "Row doesn't exist.",
rowDoesNotExistDescription:
"The action couldn't be completed because the related row doesn't exist anymore.",
fileSizeTooLargeTitle: 'File to large',
fileSizeTooLargeDescription: 'The provided file is too large.',
invalidFileTitle: 'Invalid file',
invalidFileDescription: 'The provided file is not a valid file.',
fileUrlCouldNotBeReachedTitle: 'Invalid URL',
fileUrlCouldNotBeReachedDescription:
'The provided file URL could not be reached.',
invalidFileUrlTitle: 'Invalid URL',
invalidFileUrlDescription:
'The provided file URL is invalid or not allowed.',
adminCannotDeactivateSelfTitle: 'Action not allowed.',
adminCannotDeactivateSelfDescription:
'You cannot de-activate or un-staff yourself.',
adminCannotDeleteSelfTitle: 'Action not allowed.',
adminCannotDeleteSelfDescription: 'You cannot delete yourself.',
maxFieldCountExceededTitle: "Couldn't create field.",
maxFieldCountExceededDescription:
"The action couldn't be completed because the field count exceeds the limit",
cannotRestoreParentBeforeChildTitle: 'Please restore the parent first.',
cannotRestoreParentBeforeChildDescription:
'You cannot restore this item because it depends on a deleted item. Please restore the parent item first.',
cannotRestoreAsRelatedTableTrashedTitle:
'Please restore the related tables first.',
cannotRestoreAsRelatedTableTrashedDescription:
'You cannot restore this field because it depends on other tables which are' +
' still trashed. Please' +
' restore the other related tables first.',
groupUserIsLastAdminTitle: "Can't leave the group",
groupUserIsLastAdminDescription:
"It's not possible to leave the group because you're the last admin. Please delete the group or give another user admin permissions.",
},
importerType: {
csv: 'Import a CSV file',
paste: 'Paste table data',
xml: 'Import an XML file',
json: 'Import a JSON file',
},
apiDocs: {
intro: 'Introduction',
authent: 'Authentication',
table: '{name} table',
filters: 'Filters',
errors: 'HTTP Errors',
fields: 'Fields',
listFields: 'List fields',
listRows: 'List rows',
getRow: 'Get row',
createRow: 'Create row',
updateRow: 'Update row',
moveRow: 'Move row',
deleteRow: 'Delete row',
queryParameters: 'Query parameters',
pathParameters: 'Path parameters',
requestBodySchema: 'Request body schema',
userFieldNamesDescription:
'When any value is provided for the `user_field_names` GET param then field names returned by this endpoint will be the actual names of the fields.\n\n If the `user_field_names` GET param is not provided, then all returned field names will be `field_` followed by the id of the field. For example `field_1` refers to the field with an id of `1`.',
},
exporterType: {
csv: 'Export to CSV',
},
previewType: {
imageBrowser: 'Open in browser',
videoBrowser: 'Open in browser',
AudioBrowser: 'Open in browser',
pdfBrowser: 'Open in browser',
googleDocs: 'Open with Google Docs',
},
humanDateFormat: {
'dd/mm/yyyy': 'dd/mm/yyyy',
'mm/dd/yyyy': 'mm/dd/yyyy',
'yyyy-mm-dd': 'yyyy-mm-dd',
},
formulaFunctions: {
upperDescription: 'Returns its argument in upper case.',
lowerDescription: 'Returns its argument in lower case.',
concatDescription:
'Returns its arguments joined together as a single piece of text.',
addDescription: 'Returns its two arguments added together.',
minusDescription: 'Returns its two arguments subtracted.',
multiplyDescription: 'Returns its two arguments multiplied together.',
divideDescription:
'Returns its two arguments divided, the first divided by the second.',
equalDescription: 'Returns if its two arguments have the same value.',
ifDescription:
'If the first argument is true then returns the second argument, otherwise returns the third.',
toTextDescription: 'Converts the input to text.',
datetimeFormatDescription:
'Converts the date to text given a way of formatting the date.',
toNumberDescription: 'Converts the input to a number if possible.',
fieldDescription: 'Returns the field named by the single text argument.',
lookupDescription:
'Looks up the values from a field in another table for rows in a link row' +
' field. The first argument should be the name of a link row field in the' +
' current table and the second should be the name of a field in the linked' +
' table.',
isBlankDescription:
'Returns true if the argument is empty or blank, false otherwise.',
tDescription:
"Returns the arguments value if it is text, but otherwise ''.",
notDescription:
'Returns false if the argument is true and true if the argument is false.',
greaterThanDescription:
'Returns true if the first argument greater than the second, otherwise false.',
greaterThanOrEqualDescription:
'Returns true if the first argument is greater than or equal to the second, otherwise false.',
lessThanDescription:
'Returns true if the first argument less than the second, otherwise false.',
lessThanOrEqualDescription:
'Returns true if the first argument less than or equal to the second, otherwise false.',
toDateDescription:
'Returns the first argument converted into a date given a date format string as the second argument.',
dayDescription:
'Returns the day of the month as a number between 1 to 31 from the argument.',
dateDiffDescription:
"Given a date unit to measure in as the first argument ('year', " +
"'month', 'week', 'day', 'hour', 'minute', 'seconds') calculates and returns " +
'the number of units from the second argument to the third.',
andDescription:
'Returns the logical and of the first and second argument, so if they are both' +
'true then the result is true, otherwise it is false.',
orDescription:
'Returns the logical or of the first and second argument, so if either are ' +
'true then the result is true, otherwise it is false.',
dateIntervalDescription:
'Returns the date interval corresponding to the provided argument.',
replaceDescription:
'Replaces all instances of the second argument in the first argument with ' +
'the third argument.',
searchDescription:
'Returns a positive integer starting from 1 for the first ' +
'occurrence of the second argument inside the first, or 0 if no ' +
'occurrence is found.',
rowIdDescription: 'Returns the rows unique identifying number.',
lengthDescription:
'Returns the number of characters in the first argument provided.',
reverseDescription:
'Returns the reversed text of the provided first argument.',
notEqualDescription: 'Returns if its two arguments have different values.',
countDescription: 'Returns the number of items in its first argument.',
containsDescription:
'Returns true if the first piece of text contains at least once the second.',
leftDescription:
'Extracts the left most characters from the first input, stops when it has' +
' extracted the number of characters specified by the second input.',
rightDescription:
'Extracts the right most characters from the first input, stops when it has' +
' extracted the number of characters specified by the second input.',
trimDescription:
'Removes all whitespace from the left and right sides of the input.',
regexReplaceDescription:
'Replaces any text in the first input which matches the regex specified by' +
' the second input with the text in the third input.',
greatestDescription: 'Returns the greatest value of the two inputs.',
leastDescription: 'Returns the smallest of the two inputs.',
monthDescription: 'Returns the number of months in the provided date.',
yearDescription: 'Returns the number of years in the provided date.',
secondDescription: 'Returns the number of seconds in the provided date.',
whenEmptyDescription:
'If the first input is calculated to be empty the ' +
'second input will be returned instead, otherwise if the first input is not' +
' empty the first will be returned.',
anyDescription:
'Returns true if any one of the provided looked up values is true,' +
' false if they are all false.',
everyDescription:
'Returns true if every one of the provided looked up values is true,' +
' false otherwise.',
maxDescription:
'Returns the largest number from all the looked up values provided.',
minDescription:
'Returns the smallest number from all the looked up values provided.',
joinDescription:
'Concats all of the values from the first input together using the values' +
' from the second input.',
stddevPopDescription:
'Calculates the population standard deviation of the values and returns the' +
' result. ' +
'The population standard deviation should be used when the provided values' +
' contain a ' +
' value for every single piece of data in the population.',
stddevSampleDescription:
'Calculates the sample standard deviation of the values and returns the' +
' result. ' +
'The sample deviation should be used when the provided values are only for a' +
' sample or subset of values for an underlying population.',
varianceSampleDescription:
'Calculates the sample variance of the values and returns the result. ' +
'The sample variance should be used when the provided values are only for a' +
' sample or subset of values for an underlying population.',
variancePopDescription:
'Calculates the population variance of the values and returns the result. ' +
'The population variance should be used when the provided values contain a ' +
' value for every single piece of data in the population.',
avgDescription: 'Averages all of the values and returns the result.',
sumDescription: 'Sums all of the values and returns the result.',
filterDescription:
'Filters down an expression involving a lookup/link field reference or a' +
' lookup function call.',
},
functionnalGridViewFieldLinkRow: {
unnamed: 'unnamed row {value}',
},
}

View file

@ -0,0 +1,314 @@
{
"common": {
"yes": "yes",
"no": "no",
"wrong": "Something went wrong",
"none": "None"
},
"action": {
"upload": "Upload",
"back": "Back",
"backToLogin": "Back to login",
"signUp": "Sign up",
"signIn": "Sign in",
"createNew": "Create new",
"create": "Create",
"edit": "Edit",
"change": "Change",
"delete": "Delete",
"rename": "Rename",
"add": "Add",
"makeChoice": "Make a choice",
"cancel": "Cancel",
"save": "Save",
"retry": "Retry",
"search": "Search",
"copy": "Copy",
"activate": "Activate",
"deactivate": "Deactivate"
},
"adminType": {
"settings": "Settings"
},
"applicationType": {
"database": "Database",
"cantSelectTableTitle": "Couldn't select the database.",
"cantSelectTableDescription": "The database couldn't be selected because it doesn't have any tables. Use the sidebar to create one."
},
"settingType": {
"account": "Account",
"password": "Password",
"tokens": "API Tokens"
},
"userFileUploadType": {
"file": "my device",
"url": "a URL"
},
"field": {
"emailAddress": "E-mail address"
},
"error": {
"invalidEmail": "Please enter a valid e-mail address.",
"notMatchingPassword": "This field must match your password field.",
"minLength": "A minimum of {min} characters is required here.",
"maxLength": "A maximum of {max} characters is allowed here.",
"minMaxLength": "A minimum of {min} and a maximum of {max} characters is allowed here.",
"requiredField": "This field is required."
},
"permission": {
"admin": "Admin",
"adminDescription": "Can fully configure and edit groups and applications.",
"member": "Member",
"memberDescription": "Can fully configure and edit applications."
},
"fieldType": {
"singleLineText": "Single line text",
"longText": "Long text",
"linkToTable": "Link to table",
"number": "Number",
"rating": "Rating",
"boolean": "Boolean",
"date": "Date",
"lastModified": "Last modified",
"createdOn": "Created on",
"url": "URL",
"email": "Email",
"file": "File",
"singleSelect": "Single select",
"multipleSelect": "Multiple select",
"phoneNumber": "Phone number",
"formula": "Formula",
"lookup": "Lookup"
},
"fieldErrors": {
"invalidNumber": "Invalid number",
"maxDigits": "Max {max} digits allowed.",
"invalidUrl": "Invalid URL",
"max254Chars": "Max 254 chars",
"invalidEmail": "Invalid email",
"invalidPhoneNumber": "Invalid Phone Number"
},
"fieldDocs": {
"readOnly": "This is a read only field.",
"text": "Accepts single line text.",
"longText": "Accepts multi line text.",
"linkRow": "Accepts an array containing the identifiers of the related rows from table id {table}. All identifiers must be provided every time the relations are updated. If an empty array is provided all relations will be deleted.",
"number": "Accepts a number.",
"numberPositive": "Accepts a positive number.",
"decimal": "Accepts a decimal with {places} decimal places after the dot.",
"decimalPositive": "Accepts a positive decimal with {places} decimal places after the dot.",
"rating": "Accepts a number.",
"boolean": "Accepts a boolean.",
"date": "Accepts a date time in ISO format.",
"dateTime": "Accepts a date in ISO format.",
"dateResponse": "The response will be a datetime in ISO format.",
"dateTimeResponse": "The response will be a date in ISO format.",
"lastModifiedReadOnly": "The last modified field is a read only field.",
"createdOnReadOnly": "The created on field is a read only field.",
"url": "Accepts a string that must be a URL.",
"email": "Accepts a string that must be an email address.",
"file": "Accepts an array of objects containing at least the name of the user file.",
"singleSelect": "Accepts an integer representing the chosen select option id or null if none is selected.",
"multipleSelect": "Accepts an array of integers each representing the chosen select option id.",
"phoneNumber": "Accepts a phone number which has a maximum length of 100 characters consisting solely of digits, spaces and the following characters: Nx,._+*()#=;/- .",
"formula": "A read-only field defined by a formula written in the Baserow formula language.",
"lookup": "A read-only field connected to a link row field which returns an array of values and row ids from the chosen lookup field in the linked table."
},
"viewFilter": {
"contains": "contains",
"containsNot": "contains not",
"filenameContains": "filename contains",
"has": "has",
"hasNot": "has not",
"higherThan": "higher than",
"is": "is",
"isNot": "is not",
"isEmpty": "is empty",
"isNotEmpty": "is not empty",
"isDate": "is date",
"isDayOfMonth": "day of month is",
"isBeforeDate": "is before date",
"isAfterDate": "is after date",
"isNotDate": "is not date",
"isToday": "is today",
"inThisMonth": "in this month",
"inThisYear": "in this year",
"lowerThan": "lower than",
"lengthIsLowerThan": "length is lower than",
"hasFileType": "has file type"
},
"viewType": {
"grid": "Grid",
"gallery": "Gallery",
"form": "Form",
"sharing": {
"linkName": "view",
"formLinkName": "form"
}
},
"premium": {
"deactivated": "Available in premium version"
},
"trashType": {
"group": "group",
"application": "application",
"table": "table",
"field": "field",
"row": "row"
},
"webhook": {
"request": "Request",
"response": "Response",
"successfullyUpdated": "Webhook successfully updated.",
"status": {
"noStatus": "NO STATUS",
"statusOK": "OK",
"statusNotOK": "NOT OK"
},
"eventType": {
"rowCreated": "When a row is created",
"rowUpdated": "When a row is updated",
"rowDeleted": "When a row is deleted"
}
},
"clientHandler": {
"notFoundTitle": "{name} not found.",
"notFoundDescription": "The selected {name} wasn't found, maybe it has already been deleted.",
"networkErrorTitle": "Network error",
"networkErrorDescription": "Could not connect to the API server.",
"tooManyRequestsTitle": "Too many requests",
"tooManyRequestsDescription": "You are sending too many requests to the server. Please wait a moment.",
"notCompletedTitle": "Action not completed.",
"notCompletedDescription": "The action couldn't be completed because an unknown error has occured.",
"userNotInGroupTitle": "Action not allowed.",
"userNotInGroupDescription": "The action couldn't be completed because you aren't a member of the related group.",
"invalidGroupPermissionsTitle": "Action not allowed.",
"invalidGroupPermissionsDescription": "The action couldn't be completed because you don't have the right permissions to the related group.",
"tableDoesNotExistTitle": "Table doesn't exist.",
"tableDoesNotExistDescription": "The action couldn't be completed because the related table doesn't exist anymore.",
"rowDoesNotExistTitle": "Row doesn't exist.",
"rowDoesNotExistDescription": "The action couldn't be completed because the related row doesn't exist anymore.",
"fileSizeTooLargeTitle": "File to large",
"fileSizeTooLargeDescription": "The provided file is too large.",
"invalidFileTitle": "Invalid file",
"invalidFileDescription": "The provided file is not a valid file.",
"fileUrlCouldNotBeReachedTitle": "Invalid URL",
"fileUrlCouldNotBeReachedDescription": "The provided file URL could not be reached.",
"invalidFileUrlTitle": "Invalid URL",
"invalidFileUrlDescription": "The provided file URL is invalid or not allowed.",
"adminCannotDeactivateSelfTitle": "Action not allowed.",
"adminCannotDeactivateSelfDescription": "You cannot de-activate or un-staff yourself.",
"adminCannotDeleteSelfTitle": "Action not allowed.",
"adminCannotDeleteSelfDescription": "You cannot delete yourself.",
"maxFieldCountExceededTitle": "Couldn't create field.",
"maxFieldCountExceededDescription": "The action couldn't be completed because the field count exceeds the limit",
"cannotRestoreParentBeforeChildTitle": "Please restore the parent first.",
"cannotRestoreParentBeforeChildDescription": "You cannot restore this item because it depends on a deleted item. Please restore the parent item first.",
"cannotRestoreAsRelatedTableTrashedTitle": "Please restore the related tables first.",
"cannotRestoreAsRelatedTableTrashedDescription": "You cannot restore this field because it depends on other tables which are still trashed. Please restore the other related tables first.",
"groupUserIsLastAdminTitle": "Can't leave the group",
"groupUserIsLastAdminDescription": "It's not possible to leave the group because you're the last admin. Please delete the group or give another user admin permissions."
},
"importerType": {
"csv": "Import a CSV file",
"paste": "Paste table data",
"xml": "Import an XML file",
"json": "Import a JSON file"
},
"apiDocs": {
"intro": "Introduction",
"authent": "Authentication",
"table": "{name} table",
"filters": "Filters",
"errors": "HTTP Errors",
"fields": "Fields",
"listFields": "List fields",
"listRows": "List rows",
"getRow": "Get row",
"createRow": "Create row",
"updateRow": "Update row",
"moveRow": "Move row",
"deleteRow": "Delete row",
"queryParameters": "Query parameters",
"pathParameters": "Path parameters",
"requestBodySchema": "Request body schema",
"userFieldNamesDescription": "When any value is provided for the `user_field_names` GET param then field names returned by this endpoint will be the actual names of the fields.\n\n If the `user_field_names` GET param is not provided, then all returned field names will be `field_` followed by the id of the field. For example `field_1` refers to the field with an id of `1`."
},
"exporterType": {
"csv": "Export to CSV"
},
"previewType": {
"imageBrowser": "Open in browser",
"videoBrowser": "Open in browser",
"AudioBrowser": "Open in browser",
"pdfBrowser": "Open in browser",
"googleDocs": "Open with Google Docs"
},
"humanDateFormat": {
"dd/mm/yyyy": "dd/mm/yyyy",
"mm/dd/yyyy": "mm/dd/yyyy",
"yyyy-mm-dd": "yyyy-mm-dd"
},
"formulaFunctions": {
"upperDescription": "Returns its argument in upper case.",
"lowerDescription": "Returns its argument in lower case.",
"concatDescription": "Returns its arguments joined together as a single piece of text.",
"addDescription": "Returns its two arguments added together.",
"minusDescription": "Returns its two arguments subtracted.",
"multiplyDescription": "Returns its two arguments multiplied together.",
"divideDescription": "Returns its two arguments divided, the first divided by the second.",
"equalDescription": "Returns if its two arguments have the same value.",
"ifDescription": "If the first argument is true then returns the second argument, otherwise returns the third.",
"toTextDescription": "Converts the input to text.",
"datetimeFormatDescription": "Converts the date to text given a way of formatting the date.",
"toNumberDescription": "Converts the input to a number if possible.",
"fieldDescription": "Returns the field named by the single text argument.",
"lookupDescription": "Looks up the values from a field in another table for rows in a link row field. The first argument should be the name of a link row field in the current table and the second should be the name of a field in the linked table.",
"isBlankDescription": "Returns true if the argument is empty or blank, false otherwise.",
"tDescription": "Returns the arguments value if it is text, but otherwise ''.",
"notDescription": "Returns false if the argument is true and true if the argument is false.",
"greaterThanDescription": "Returns true if the first argument greater than the second, otherwise false.",
"greaterThanOrEqualDescription": "Returns true if the first argument is greater than or equal to the second, otherwise false.",
"lessThanDescription": "Returns true if the first argument less than the second, otherwise false.",
"lessThanOrEqualDescription": "Returns true if the first argument less than or equal to the second, otherwise false.",
"toDateDescription": "Returns the first argument converted into a date given a date format string as the second argument.",
"dayDescription": "Returns the day of the month as a number between 1 to 31 from the argument.",
"dateDiffDescription": "Given a date unit to measure in as the first argument ('year', 'month', 'week', 'day', 'hour', 'minute', 'seconds') calculates and returns the number of units from the second argument to the third.",
"andDescription": "Returns the logical and of the first and second argument, so if they are bothtrue then the result is true, otherwise it is false.",
"orDescription": "Returns the logical or of the first and second argument, so if either are true then the result is true, otherwise it is false.",
"dateIntervalDescription": "Returns the date interval corresponding to the provided argument.",
"replaceDescription": "Replaces all instances of the second argument in the first argument with the third argument.",
"searchDescription": "Returns a positive integer starting from 1 for the first occurrence of the second argument inside the first, or 0 if no occurrence is found.",
"rowIdDescription": "Returns the rows unique identifying number.",
"lengthDescription": "Returns the number of characters in the first argument provided.",
"reverseDescription": "Returns the reversed text of the provided first argument.",
"notEqualDescription": "Returns if its two arguments have different values.",
"countDescription": "Returns the number of items in its first argument.",
"containsDescription": "Returns true if the first piece of text contains at least once the second.",
"leftDescription": "Extracts the left most characters from the first input, stops when it has extracted the number of characters specified by the second input.",
"rightDescription": "Extracts the right most characters from the first input, stops when it has extracted the number of characters specified by the second input.",
"trimDescription": "Removes all whitespace from the left and right sides of the input.",
"regexReplaceDescription": "Replaces any text in the first input which matches the regex specified by the second input with the text in the third input.",
"greatestDescription": "Returns the greatest value of the two inputs.",
"leastDescription": "Returns the smallest of the two inputs.",
"monthDescription": "Returns the number of months in the provided date.",
"yearDescription": "Returns the number of years in the provided date.",
"secondDescription": "Returns the number of seconds in the provided date.",
"whenEmptyDescription": "If the first input is calculated to be empty the second input will be returned instead, otherwise if the first input is not empty the first will be returned.",
"anyDescription": "Returns true if any one of the provided looked up values is true, false if they are all false.",
"everyDescription": "Returns true if every one of the provided looked up values is true, false otherwise.",
"maxDescription": "Returns the largest number from all the looked up values provided.",
"minDescription": "Returns the smallest number from all the looked up values provided.",
"joinDescription": "Concats all of the values from the first input together using the values from the second input.",
"stddevPopDescription": "Calculates the population standard deviation of the values and returns the result. The population standard deviation should be used when the provided values contain a value for every single piece of data in the population.",
"stddevSampleDescription": "Calculates the sample standard deviation of the values and returns the result. The sample deviation should be used when the provided values are only for a sample or subset of values for an underlying population.",
"varianceSampleDescription": "Calculates the sample variance of the values and returns the result. The sample variance should be used when the provided values are only for a sample or subset of values for an underlying population.",
"variancePopDescription": "Calculates the population variance of the values and returns the result. The population variance should be used when the provided values contain a value for every single piece of data in the population.",
"avgDescription": "Averages all of the values and returns the result.",
"sumDescription": "Sums all of the values and returns the result.",
"filterDescription": "Filters down an expression involving a lookup/link field reference or a lookup function call."
},
"functionnalGridViewFieldLinkRow": {
"unnamed": "unnamed row {value}"
}
}

View file

@ -1,389 +0,0 @@
export default {
common: {
yes: 'oui',
no: 'non',
wrong: 'Une erreur est survenue',
none: 'Aucun(e)',
},
action: {
upload: 'Envoyer',
back: 'Retour',
backToLogin: "Retour à l'identification",
signUp: 'Créer un compte',
signIn: "S'identifier",
createNew: 'Nouveau',
create: 'Créer',
edit: 'Modifier',
change: 'Changer',
delete: 'Supprimer',
rename: 'Renommer',
add: 'Ajouter',
makeChoice: 'Choisissez',
cancel: 'Annuler',
save: 'Enregistrer',
retry: 'Réessayer',
search: 'Chercher',
copy: 'Copier',
activate: 'Activer',
deactivate: 'Désactiver',
},
adminType: {
settings: 'Paramètres',
},
applicationType: {
database: 'Base de données',
cantSelectTableTitle: 'Impossible de sélectionner la base de données.',
cantSelectTableDescription:
'La base de données ne peut pas être sélectionnée car elle ne contient ' +
"aucune table. Utilisez la bare latérale afin d'en créer une.",
},
settingType: {
account: 'Informations personnelles',
password: 'Mot de passe',
tokens: "Jetons d'API",
},
userFileUploadType: {
file: 'de mon appareil',
url: "d'une URL",
},
field: {
emailAddress: 'Adresse électronique',
},
error: {
invalidEmail: 'Veuillez entrer une adresse électronique valide.',
notMatchingPassword: 'Les mots de passe ne correspondent pas.',
minLength: 'Un minimum de {min} caractères sont attendus ici.',
maxLength: 'Un maximum de {max} caractères sont attendus ici.',
minMaxLength:
'Un minimum de {min} et un maximum de {max} caractères sont attendus ici.',
requiredField: 'Ce champ est requis.',
},
permission: {
admin: 'Admin',
adminDescription: 'Peut configurer et éditer les groupes et applications.',
member: 'Membre',
memberDescription: 'Peut configurer et éditer les applications.',
},
fieldType: {
singleLineText: 'Texte (une ligne)',
longText: 'Texte long',
linkToTable: 'Lien vers une table',
number: 'Nombre',
rating: 'Classement',
boolean: 'Booléen',
date: 'Date',
lastModified: 'Dernière modification',
createdOn: 'Date de création',
url: 'URL',
email: 'Email',
file: 'Fichier',
singleSelect: 'Liste déroulante',
multipleSelect: 'Selection multiple',
phoneNumber: 'Téléphone',
formula: 'Formule',
lookup: 'Champ rapporté',
},
fieldErrors: {
invalidNumber: 'Nombre invalide',
maxDigits: '{max} chiffres sont autorisés.',
invalidUrl: 'URL invalide',
max254Chars: '254 caractères maximum',
invalidEmail: 'Adresse email invalide',
invalidPhoneNumber: 'Num. téléphone invalide',
},
fieldDocs: {
readOnly: 'Ce champ est en lecture seule.',
text: 'Accepte une seule ligne de texte.',
longText: 'Accepte un texte multi-ligne.',
linkRow:
'Accepte un tableau contenant les identifiants des lignes ' +
"provenant de la table d'identifiant {table}. Tous les identifiants " +
'doivent être fournis à chaque fois que les relations sont modifiées. ' +
'Si une liste vide est fournie, toutes les relations seront supprimées.',
number: 'Accepte un entier.',
numberPositive: 'Accepte un entier positive.',
decimal: 'Accepte un nombre décimal.',
decimalPositive: 'Accepte un nombre décimal positif.',
rating: 'Accepte un nombre entier',
boolean: 'Accepte une valeur booléenne.',
date: 'Accepte une date au format ISO.',
dateTime: 'Accepte une date/heure au format ISO.',
dateResponse: 'La réponse sera une date au format ISO.',
dateTimeResponse: 'La réponse sera une date/heure au format ISO.',
lastModifiedReadOnly:
'La date de modification de la ligne, en lecture seule.',
createdOnReadOnly: 'La date de modification de la ligne, en lecture seule.',
url: 'Accepte une URL valide.',
email: 'Accepte une adresse email valide.',
file: "Accepte un tableau d'objet contenant au moins le nom du fichier utilisateur.",
singleSelect:
"Accepte un entier correspondant à l'identifiant de l'option sélectionnée " +
'ou nul si vide.',
multipleSelect:
"Accepte un tableau d'entier correspondant chacun à l'identifiant " +
"d'une valeur sélectionnée.",
phoneNumber:
"Accepte un numéro de téléphone d'une longueur maximum de 100 caractères " +
'qui doivent être des chiffres, des espaces ou les caractères suivants : ' +
'Nx,._+*()#=;/- .',
formula:
'Un champ en lecture seule défini par une formule rédigée ' +
'dans le format spécifique de Baserow.',
lookup:
'Un champ en lecture seule associé à un champ de type « lien vers une table » qui retourne un tableau' +
" de valeurs et d'identifiants de ligne provenant du champ choisi dans la table liée.",
},
viewFilter: {
contains: 'contient',
containsNot: 'ne contient pas',
filenameContains: 'nom du fichier contient',
has: 'a',
hasNot: "n'a pas",
higherThan: 'est plus grand que',
is: 'est',
isNot: "n'est pas",
isEmpty: 'est vide',
isNotEmpty: "n'est pas vide",
isDate: 'est égal à',
isDayOfMonth: 'est jour du mois',
isBeforeDate: 'est avant',
isAfterDate: 'est après',
isNotDate: 'est différent de',
isToday: "est aujourd'hui",
inThisMonth: 'est ce mois-ci',
inThisYear: 'est cette année',
lowerThan: 'est plus petit que',
lengthIsLowerThan: 'a une longueur inférieure à',
hasFileType: 'est de type',
},
viewType: {
grid: 'Tableau',
gallery: 'Galerie',
form: 'Formulaire',
sharing: {
linkName: 'la vue',
formLinkName: 'le formulaire',
},
},
premium: {
deactivated: 'Désactivé',
},
trashType: {
group: 'groupe',
application: 'application',
table: 'table',
field: 'champ',
row: 'ligne',
},
webhook: {
request: 'Requête',
response: 'Réponse',
successfullyUpdated: 'Le webhook a été mis à jour.',
status: {
noStatus: "PAS D'ÉTAT",
statusOK: 'OK',
statusNotOK: 'NON OK',
},
eventType: {
rowCreated: "Création d'une ligne",
rowUpdated: "Modification d'une ligne",
rowDeleted: "Suppression d'une ligne",
},
},
clientHandler: {
notFoundTitle: "L'élément {name} n'a pas été trouvé",
notFoundDescription:
"L'élément {name} sélectionné n'a pas été trouvé. Peut-être qu'il a déjà été supprimé.",
networkErrorTitle: 'Erreur de connection',
networkErrorDescription:
'Connection impossible avec le serveur. Veuillez vérifier votre connection.',
tooManyRequestsTitle: 'Trop de requêtes',
tooManyRequestsDescription:
'Vous envoyez trop de requêtes au serveur. Veuillez patienter avant de recommencer.',
notCompletedTitle: "Échec de l'action",
notCompletedDescription:
"L'action n'a pas pu aboutir pour une raison inconnue.",
userNotInGroupTitle: 'Action interdite',
userNotInGroupDescription:
"L'action n'a pas pu aboutir car vous n'êtes pas membre du groupe associé.",
invalidGroupPermissionsTitle: 'Action interdite',
invalidGroupPermissionsDescription:
"L'action n'a pas pu aboutir car vous n'avez pas les permissions nécessaires dans le groupe associé.",
tableDoesNotExistTitle: "La table n'existe pas",
tableDoesNotExistDescription:
"L'action n'a pas pu aboutir car la table concernée n'existe plus.",
rowDoesNotExistTitle: "La ligne n'existe pas",
rowDoesNotExistDescription:
"L'action n'a pas pu aboutir car la ligne concernée n'existe plus",
fileSizeTooLargeTitle: 'Fichier trop volumineux',
fileSizeTooLargeDescription: 'Le fichier fourni est trop volumineux.',
invalidFileTitle: 'Fichier invalide',
invalidFileDescription: "Le fichier fourni n'est pas un fichier valide.",
fileUrlCouldNotBeReachedTitle: 'URL invalide',
fileUrlCouldNotBeReachedDescription: "L'URL fournie n'est pas accessible.",
invalidFileUrlTitle: 'URL invalide',
invalidFileUrlDescription:
"L'URL fournie n'est pas valide ou est protégée.",
adminCannotDeactivateSelfTitle: 'Action interdite',
adminCannotDeactivateSelfDescription:
'Vous ne pouvez pas désactiver votre compte ou modifier votre statut de collaborateur.',
adminCannotDeleteSelfTitle: 'Action interdite',
adminCannotDeleteSelfDescription:
'Vous ne pouvez pas supprimer votre propre compte utilisateur.',
maxFieldCountExceededTitle: 'Impossible de créer un nouveau champ',
maxFieldCountExceededDescription:
"L'action n'a pas pu aboutir car vous avez atteint le nombre maximum de champ pour cette table.",
cannotRestoreParentBeforeChildTitle:
"Veuillez restaurer l'élément parent d'abord",
cannotRestoreParentBeforeChildDescription:
"Vous ne pouvez pas restaurer cet élément car il dépend d'un autre élément supprimé. Vous devez restaurer l'élément parent avant de pouvoir restaurer cet élément",
groupUserIsLastAdminTitle: 'Impossible de quitter le groupe',
groupUserIsLastAdminDescription:
"Il est impossible de quitter ce groupe car vous en êtes le dernier administrateur. Veuillez supprimer le groupe ou donner les droits d'administration à un autre utilisateur.",
},
importerType: {
csv: 'Importer un fichier CSV',
paste: 'Coller des données tabulaires',
xml: 'Importer un fichier XML',
json: 'Importer un fichier JSON',
},
apiDocs: {
intro: 'Introduction',
authent: 'Authentification',
table: 'Table {name}',
filters: 'Filtres',
errors: 'Erreurs HTTP',
fields: 'Champs',
listFields: 'Lister les champs',
listRows: 'Lister les lignes',
getRow: 'Lire une ligne',
createRow: 'Créer une ligne',
updateRow: 'Modifier une ligne',
moveRow: 'Déplacer une ligne',
deleteRow: 'Supprimer une ligne',
queryParameters: 'Paramètres de requête',
pathParameters: "Paramètres d'URL",
requestBodySchema: 'Schéma du corps de la requête',
userFieldNamesDescription:
'Quand une valeur est définie pour le paramètre GET `user_field_names`, ' +
"les noms de champs retournés par ce point d'accès seront les noms définis par l'utilisateur." +
"\n\n Si le paramètre `user_field_names` n'est pas fourni, alors le nom des champs sera " +
" `field_` suivi par l'identifiant du champ. Par example `field_1` fait référence au champ avec l'identifiant `1`.",
},
exporterType: {
csv: 'Exporter vers CSV',
},
previewType: {
imageBrowser: 'Ouvrir dans le navigateur',
videoBrowser: 'Ouvrir dans le navigateur',
AudioBrowser: 'Ouvrer dans le navigateur',
pdfBrowser: 'Ouvrir dans le navigateur',
googleDocs: 'Ouvrir dans Google Docs',
},
humanDateFormat: {
'dd/mm/yyyy': 'jj/mm/aaaa',
'mm/dd/yyyy': 'mm/jj/aaaa',
'yyyy-mm-dd': 'aaaa-mm-jj',
},
formulaFunctions: {
upperDescription: "Retourne l'argument en MAJUSCULES.",
lowerDescription: "Retourne l'argument en minuscules.",
concatDescription:
'Retourne ses arguments concaténés ensemble en une seule chaîne.',
addDescription: "Retourne le résultat de l'addition de ses deux arguments.",
minusDescription:
'Retourne le résultat de la soustraction du premier argument par le second.',
multiplyDescription:
'Retourne le résultat de la multiplication de ses deux arguments.',
divideDescription:
'Retourne le résultat de la division du premier argument par le second.',
equalDescription: 'Retourne vrai si ses deux arguments sont égaux.',
ifDescription:
"Si le premier argument est évalué à 'vrai' alors retourne le second argument, sinon retourne le troisième argument.",
toTextDescription: "Convertit l'argument en texte.",
datetimeFormatDescription:
'Convertit la date en texte en fonction de la façon dont elle est formatée.',
toNumberDescription: "Convertit l'argument en nombre si cela est possible.",
fieldDescription: 'Retourne le champ désigné par le nom en argument.',
lookupDescription:
"Rapporte la valeur d'un champ d'une autre table. Le premier argument doit être le nom d'un champ de lien de la table courante vers une autre table et le second argument doit être le nom d'un champ dans la table liée.",
isBlankDescription:
"Retourne vrai si l'argument est vide ou nul sinon retourne faux.",
tDescription:
"Retourne l'argument si c'est un texte et une chaîne vide autrement.",
notDescription: "Retourne faux si l'argument est vrai, vrai sinon.",
greaterThanDescription:
'Retourne vrai si le premier argument et strictement supérieur au second.',
greaterThanOrEqualDescription:
'Retourne vrai si le premier argument est supérieur ou égal au second.',
lessThanDescription:
'Retourne vrai si le premier argument et strictement inférieur au second.',
lessThanOrEqualDescription:
'Retourne vrai si le premier argument et inférieur ou égal au second.',
toDateDescription:
'Retourne le premier argument converti en date selon le format définit en second argument.',
dayDescription:
"Retourne le jour de la date en argument en tant qu'entier compris entre 1 et 31.",
dateDiffDescription:
"Étant donné l'unité de mesure définit par le premier argument ('year', 'month', 'week', 'day', 'hour', 'minute', 'seconds') calcule et retourne le nombre d'unité pour aller du second argument au troisième.",
andDescription:
'Retourne le ET logique entre le premier et le second argument. Si les deux arguments sont vrais alors le résultat est vrai, sinon le résultat est faux.',
orDescription:
'Retourne le OU logique entre le premier et le second argument. Si au moins un des argument est vrai alors le résultat est vrai, sinon le résultat est faux.',
dateIntervalDescription:
"Retourne l'interval de date correspondant à l'argument fourni.",
replaceDescription:
'Remplace toutes les occurrences du second argument dans le premier argument par le troisième argument.',
searchDescription:
"Retourne un entier positif supérieur ou égal à 1 représentant la position de la première occurrence du second argument dans le premier ou 0 si aucune occurrence n'est trouvée.",
rowIdDescription: "Retourne l'identifiant unique de la ligne.",
lengthDescription: "Retourne le nombre de caractère de l'argument.",
reverseDescription: "Retourne le texte en argument à l'envers.",
notEqualDescription:
'Retourne vrai si les deux arguments ont des valeurs différentes.',
countDescription: "Retourne le nombre d'élément de son argument.",
containsDescription:
'Retourne vrai si le premier argument contient au moins une fois le second.',
leftDescription:
"Permet d'extraire le nombre de caractères définit en second argument du premier argument en partant de la gauche.",
rightDescription:
"Permet d'extraire le nombre de caractères définit en second argument du premier argument en partant de la droite.",
trimDescription:
"Supprime tous les caractères 'espace' au début et à la fin de la chaîne en argument",
regexReplaceDescription:
"Remplace le texte du premier argument s'il correspond à l'expression régulière en second argument avec le texte en troisième argument.",
greatestDescription: 'Retourne le plus grand des deux arguments.',
leastDescription: 'Retourne le plus petit des deux arguments.',
monthDescription:
'Retourne le nombre correspondant au mois de la date en argument.',
yearDescription: "Retourne l'année de la date en argument.",
secondDescription: 'Retourne le nombre de secondes de la date en argument.',
whenEmptyDescription:
"Si le premier argument est vide le second est retourné, sinon c'est le premier que est retourné.",
anyDescription:
'Retourne vrai si au moins une des valeurs en argument est vraie et faux si elles sont toutes fausses.',
everyDescription:
'Retourne vrai si toutes les valeurs en argument sont vraies et faux sinon.',
maxDescription: 'Retourne la plus grande des valeurs en argument.',
minDescription: 'Retourne la plus petite des valeurs en argument.',
joinDescription:
'Concatène toutes les valeurs du premier argument en les séparant par le second argument.',
stddevPopDescription:
"Calcule l'écart-type (standard deviation) de l'ensemble de la population des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée uniquement quand les arguments fournis contiennent une valeur pour l'ensemble de la population.",
stddevSampleDescription:
"Calcule l'écart-type (standard deviation) du sous ensemble des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée quand les arguments fournis contiennent une valeur uniquement pour un sous ensemble de la population.",
variancePopDescription:
"Calcule la variance des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée uniquement quand tous les arguments fournis contiennent une valeur pour l'ensemble de la population.",
varianceSampleDescription:
'Calcule la variance des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée quand les arguments fournis contiennent une valeur uniquement pour un sous ensemble de la population.',
avgDescription:
'Calcule la moyenne de toutes les valeurs et retourne le résultat.',
sumDescription:
'Retourne la somme de toutes les valeurs en argument et retourne le résultat.',
filterDescription:
'Filtre une expression impliquant un champ rapporté,un champ lien vers une table ou un appel de la fonction lookup.',
},
functionnalGridViewFieldLinkRow: {
unnamed: 'Ligne sans nom {value}',
},
}

View file

@ -0,0 +1,312 @@
{
"common": {
"yes": "oui",
"no": "non",
"wrong": "Une erreur est survenue",
"none": "Aucun(e)"
},
"action": {
"upload": "Envoyer",
"back": "Retour",
"backToLogin": "Retour à l'identification",
"signUp": "Créer un compte",
"signIn": "S'identifier",
"createNew": "Nouveau",
"create": "Créer",
"edit": "Modifier",
"change": "Changer",
"delete": "Supprimer",
"rename": "Renommer",
"add": "Ajouter",
"makeChoice": "Choisissez",
"cancel": "Annuler",
"save": "Enregistrer",
"retry": "Réessayer",
"search": "Chercher",
"copy": "Copier",
"activate": "Activer",
"deactivate": "Désactiver"
},
"adminType": {
"settings": "Paramètres"
},
"applicationType": {
"database": "Base de données",
"cantSelectTableTitle": "Impossible de sélectionner la base de données.",
"cantSelectTableDescription": "La base de données ne peut pas être sélectionnée car elle ne contient aucune table. Utilisez la bare latérale afin d'en créer une."
},
"settingType": {
"account": "Informations personnelles",
"password": "Mot de passe",
"tokens": "Jetons d'API"
},
"userFileUploadType": {
"file": "de mon appareil",
"url": "d'une URL"
},
"field": {
"emailAddress": "Adresse électronique"
},
"error": {
"invalidEmail": "Veuillez entrer une adresse électronique valide.",
"notMatchingPassword": "Les mots de passe ne correspondent pas.",
"minLength": "Un minimum de {min} caractères sont attendus ici.",
"maxLength": "Un maximum de {max} caractères sont attendus ici.",
"minMaxLength": "Un minimum de {min} et un maximum de {max} caractères sont attendus ici.",
"requiredField": "Ce champ est requis."
},
"permission": {
"admin": "Admin",
"adminDescription": "Peut configurer et éditer les groupes et applications.",
"member": "Membre",
"memberDescription": "Peut configurer et éditer les applications."
},
"fieldType": {
"singleLineText": "Texte (une ligne)",
"longText": "Texte long",
"linkToTable": "Lien vers une table",
"number": "Nombre",
"rating": "Classement",
"boolean": "Booléen",
"date": "Date",
"lastModified": "Dernière modification",
"createdOn": "Date de création",
"url": "URL",
"email": "Email",
"file": "Fichier",
"singleSelect": "Liste déroulante",
"multipleSelect": "Selection multiple",
"phoneNumber": "Téléphone",
"formula": "Formule",
"lookup": "Champ rapporté"
},
"fieldErrors": {
"invalidNumber": "Nombre invalide",
"maxDigits": "{max} chiffres sont autorisés.",
"invalidUrl": "URL invalide",
"max254Chars": "254 caractères maximum",
"invalidEmail": "Adresse email invalide",
"invalidPhoneNumber": "Num. téléphone invalide"
},
"fieldDocs": {
"readOnly": "Ce champ est en lecture seule.",
"text": "Accepte une seule ligne de texte.",
"longText": "Accepte un texte multi-ligne.",
"linkRow": "Accepte un tableau contenant les identifiants des lignes provenant de la table d'identifiant {table}. Tous les identifiants doivent être fournis à chaque fois que les relations sont modifiées. Si une liste vide est fournie, toutes les relations seront supprimées.",
"number": "Accepte un entier.",
"numberPositive": "Accepte un entier positive.",
"decimal": "Accepte un nombre décimal.",
"decimalPositive": "Accepte un nombre décimal positif.",
"rating": "Accepte un nombre entier",
"boolean": "Accepte une valeur booléenne.",
"date": "Accepte une date au format ISO.",
"dateTime": "Accepte une date/heure au format ISO.",
"dateResponse": "La réponse sera une date au format ISO.",
"dateTimeResponse": "La réponse sera une date/heure au format ISO.",
"lastModifiedReadOnly": "La date de modification de la ligne, en lecture seule.",
"createdOnReadOnly": "La date de modification de la ligne, en lecture seule.",
"url": "Accepte une URL valide.",
"email": "Accepte une adresse email valide.",
"file": "Accepte un tableau d'objet contenant au moins le nom du fichier utilisateur.",
"singleSelect": "Accepte un entier correspondant à l'identifiant de l'option sélectionnée ou nul si vide.",
"multipleSelect": "Accepte un tableau d'entier correspondant chacun à l'identifiant d'une valeur sélectionnée.",
"phoneNumber": "Accepte un numéro de téléphone d'une longueur maximum de 100 caractères qui doivent être des chiffres, des espaces ou les caractères suivants : Nx,._+*()#=;/- .",
"formula": "Un champ en lecture seule défini par une formule rédigée dans le format spécifique de Baserow.",
"lookup": "Un champ en lecture seule associé à un champ de type « lien vers une table » qui retourne un tableau de valeurs et d'identifiants de ligne provenant du champ choisi dans la table liée."
},
"viewFilter": {
"contains": "contient",
"containsNot": "ne contient pas",
"filenameContains": "nom du fichier contient",
"has": "a",
"hasNot": "n'a pas",
"higherThan": "est plus grand que",
"is": "est",
"isNot": "n'est pas",
"isEmpty": "est vide",
"isNotEmpty": "n'est pas vide",
"isDate": "est égal à",
"isDayOfMonth": "est jour du mois",
"isBeforeDate": "est avant",
"isAfterDate": "est après",
"isNotDate": "est différent de",
"isToday": "est aujourd'hui",
"inThisMonth": "est ce mois-ci",
"inThisYear": "est cette année",
"lowerThan": "est plus petit que",
"lengthIsLowerThan": "a une longueur inférieure à",
"hasFileType": "est de type"
},
"viewType": {
"grid": "Tableau",
"gallery": "Galerie",
"form": "Formulaire",
"sharing": {
"linkName": "la vue",
"formLinkName": "le formulaire"
}
},
"premium": {
"deactivated": "Désactivé"
},
"trashType": {
"group": "groupe",
"application": "application",
"table": "table",
"field": "champ",
"row": "ligne"
},
"webhook": {
"request": "Requête",
"response": "Réponse",
"successfullyUpdated": "Le webhook a été mis à jour.",
"status": {
"noStatus": "PAS D'ÉTAT",
"statusOK": "OK",
"statusNotOK": "NON OK"
},
"eventType": {
"rowCreated": "Création d'une ligne",
"rowUpdated": "Modification d'une ligne",
"rowDeleted": "Suppression d'une ligne"
}
},
"clientHandler": {
"notFoundTitle": "L'élément {name} n'a pas été trouvé",
"notFoundDescription": "L'élément {name} sélectionné n'a pas été trouvé. Peut-être qu'il a déjà été supprimé.",
"networkErrorTitle": "Erreur de connection",
"networkErrorDescription": "Connection impossible avec le serveur. Veuillez vérifier votre connection.",
"tooManyRequestsTitle": "Trop de requêtes",
"tooManyRequestsDescription": "Vous envoyez trop de requêtes au serveur. Veuillez patienter avant de recommencer.",
"notCompletedTitle": "Échec de l'action",
"notCompletedDescription": "L'action n'a pas pu aboutir pour une raison inconnue.",
"userNotInGroupTitle": "Action interdite",
"userNotInGroupDescription": "L'action n'a pas pu aboutir car vous n'êtes pas membre du groupe associé.",
"invalidGroupPermissionsTitle": "Action interdite",
"invalidGroupPermissionsDescription": "L'action n'a pas pu aboutir car vous n'avez pas les permissions nécessaires dans le groupe associé.",
"tableDoesNotExistTitle": "La table n'existe pas",
"tableDoesNotExistDescription": "L'action n'a pas pu aboutir car la table concernée n'existe plus.",
"rowDoesNotExistTitle": "La ligne n'existe pas",
"rowDoesNotExistDescription": "L'action n'a pas pu aboutir car la ligne concernée n'existe plus",
"fileSizeTooLargeTitle": "Fichier trop volumineux",
"fileSizeTooLargeDescription": "Le fichier fourni est trop volumineux.",
"invalidFileTitle": "Fichier invalide",
"invalidFileDescription": "Le fichier fourni n'est pas un fichier valide.",
"fileUrlCouldNotBeReachedTitle": "URL invalide",
"fileUrlCouldNotBeReachedDescription": "L'URL fournie n'est pas accessible.",
"invalidFileUrlTitle": "URL invalide",
"invalidFileUrlDescription": "L'URL fournie n'est pas valide ou est protégée.",
"adminCannotDeactivateSelfTitle": "Action interdite",
"adminCannotDeactivateSelfDescription": "Vous ne pouvez pas désactiver votre compte ou modifier votre statut de collaborateur.",
"adminCannotDeleteSelfTitle": "Action interdite",
"adminCannotDeleteSelfDescription": "Vous ne pouvez pas supprimer votre propre compte utilisateur.",
"maxFieldCountExceededTitle": "Impossible de créer un nouveau champ",
"maxFieldCountExceededDescription": "L'action n'a pas pu aboutir car vous avez atteint le nombre maximum de champ pour cette table.",
"cannotRestoreParentBeforeChildTitle": "Veuillez restaurer l'élément parent d'abord",
"cannotRestoreParentBeforeChildDescription": "Vous ne pouvez pas restaurer cet élément car il dépend d'un autre élément supprimé. Vous devez restaurer l'élément parent avant de pouvoir restaurer cet élément",
"groupUserIsLastAdminTitle": "Impossible de quitter le groupe",
"groupUserIsLastAdminDescription": "Il est impossible de quitter ce groupe car vous en êtes le dernier administrateur. Veuillez supprimer le groupe ou donner les droits d'administration à un autre utilisateur."
},
"importerType": {
"csv": "Importer un fichier CSV",
"paste": "Coller des données tabulaires",
"xml": "Importer un fichier XML",
"json": "Importer un fichier JSON"
},
"apiDocs": {
"intro": "Introduction",
"authent": "Authentification",
"table": "Table {name}",
"filters": "Filtres",
"errors": "Erreurs HTTP",
"fields": "Champs",
"listFields": "Lister les champs",
"listRows": "Lister les lignes",
"getRow": "Lire une ligne",
"createRow": "Créer une ligne",
"updateRow": "Modifier une ligne",
"moveRow": "Déplacer une ligne",
"deleteRow": "Supprimer une ligne",
"queryParameters": "Paramètres de requête",
"pathParameters": "Paramètres d'URL",
"requestBodySchema": "Schéma du corps de la requête",
"userFieldNamesDescription": "Quand une valeur est définie pour le paramètre GET `user_field_names`, les noms de champs retournés par ce point d'accès seront les noms définis par l'utilisateur.\n\n Si le paramètre `user_field_names` n'est pas fourni, alors le nom des champs sera `field_` suivi par l'identifiant du champ. Par example `field_1` fait référence au champ avec l'identifiant `1`."
},
"exporterType": {
"csv": "Exporter vers CSV"
},
"previewType": {
"imageBrowser": "Ouvrir dans le navigateur",
"videoBrowser": "Ouvrir dans le navigateur",
"AudioBrowser": "Ouvrer dans le navigateur",
"pdfBrowser": "Ouvrir dans le navigateur",
"googleDocs": "Ouvrir dans Google Docs"
},
"humanDateFormat": {
"dd/mm/yyyy": "jj/mm/aaaa",
"mm/dd/yyyy": "mm/jj/aaaa",
"yyyy-mm-dd": "aaaa-mm-jj"
},
"formulaFunctions": {
"upperDescription": "Retourne l'argument en MAJUSCULES.",
"lowerDescription": "Retourne l'argument en minuscules.",
"concatDescription": "Retourne ses arguments concaténés ensemble en une seule chaîne.",
"addDescription": "Retourne le résultat de l'addition de ses deux arguments.",
"minusDescription": "Retourne le résultat de la soustraction du premier argument par le second.",
"multiplyDescription": "Retourne le résultat de la multiplication de ses deux arguments.",
"divideDescription": "Retourne le résultat de la division du premier argument par le second.",
"equalDescription": "Retourne vrai si ses deux arguments sont égaux.",
"ifDescription": "Si le premier argument est évalué à 'vrai' alors retourne le second argument, sinon retourne le troisième argument.",
"toTextDescription": "Convertit l'argument en texte.",
"datetimeFormatDescription": "Convertit la date en texte en fonction de la façon dont elle est formatée.",
"toNumberDescription": "Convertit l'argument en nombre si cela est possible.",
"fieldDescription": "Retourne le champ désigné par le nom en argument.",
"lookupDescription": "Rapporte la valeur d'un champ d'une autre table. Le premier argument doit être le nom d'un champ de lien de la table courante vers une autre table et le second argument doit être le nom d'un champ dans la table liée.",
"isBlankDescription": "Retourne vrai si l'argument est vide ou nul sinon retourne faux.",
"tDescription": "Retourne l'argument si c'est un texte et une chaîne vide autrement.",
"notDescription": "Retourne faux si l'argument est vrai, vrai sinon.",
"greaterThanDescription": "Retourne vrai si le premier argument et strictement supérieur au second.",
"greaterThanOrEqualDescription": "Retourne vrai si le premier argument est supérieur ou égal au second.",
"lessThanDescription": "Retourne vrai si le premier argument et strictement inférieur au second.",
"lessThanOrEqualDescription": "Retourne vrai si le premier argument et inférieur ou égal au second.",
"toDateDescription": "Retourne le premier argument converti en date selon le format définit en second argument.",
"dayDescription": "Retourne le jour de la date en argument en tant qu'entier compris entre 1 et 31.",
"dateDiffDescription": "Étant donné l'unité de mesure définit par le premier argument ('year', 'month', 'week', 'day', 'hour', 'minute', 'seconds') calcule et retourne le nombre d'unité pour aller du second argument au troisième.",
"andDescription": "Retourne le ET logique entre le premier et le second argument. Si les deux arguments sont vrais alors le résultat est vrai, sinon le résultat est faux.",
"orDescription": "Retourne le OU logique entre le premier et le second argument. Si au moins un des argument est vrai alors le résultat est vrai, sinon le résultat est faux.",
"dateIntervalDescription": "Retourne l'interval de date correspondant à l'argument fourni.",
"replaceDescription": "Remplace toutes les occurrences du second argument dans le premier argument par le troisième argument.",
"searchDescription": "Retourne un entier positif supérieur ou égal à 1 représentant la position de la première occurrence du second argument dans le premier ou 0 si aucune occurrence n'est trouvée.",
"rowIdDescription": "Retourne l'identifiant unique de la ligne.",
"lengthDescription": "Retourne le nombre de caractère de l'argument.",
"reverseDescription": "Retourne le texte en argument à l'envers.",
"notEqualDescription": "Retourne vrai si les deux arguments ont des valeurs différentes.",
"countDescription": "Retourne le nombre d'élément de son argument.",
"containsDescription": "Retourne vrai si le premier argument contient au moins une fois le second.",
"leftDescription": "Permet d'extraire le nombre de caractères définit en second argument du premier argument en partant de la gauche.",
"rightDescription": "Permet d'extraire le nombre de caractères définit en second argument du premier argument en partant de la droite.",
"trimDescription": "Supprime tous les caractères 'espace' au début et à la fin de la chaîne en argument",
"regexReplaceDescription": "Remplace le texte du premier argument s'il correspond à l'expression régulière en second argument avec le texte en troisième argument.",
"greatestDescription": "Retourne le plus grand des deux arguments.",
"leastDescription": "Retourne le plus petit des deux arguments.",
"monthDescription": "Retourne le nombre correspondant au mois de la date en argument.",
"yearDescription": "Retourne l'année de la date en argument.",
"secondDescription": "Retourne le nombre de secondes de la date en argument.",
"whenEmptyDescription": "Si le premier argument est vide le second est retourné, sinon c'est le premier que est retourné.",
"anyDescription": "Retourne vrai si au moins une des valeurs en argument est vraie et faux si elles sont toutes fausses.",
"everyDescription": "Retourne vrai si toutes les valeurs en argument sont vraies et faux sinon.",
"maxDescription": "Retourne la plus grande des valeurs en argument.",
"minDescription": "Retourne la plus petite des valeurs en argument.",
"joinDescription": "Concatène toutes les valeurs du premier argument en les séparant par le second argument.",
"stddevPopDescription": "Calcule l'écart-type (standard deviation) de l'ensemble de la population des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée uniquement quand les arguments fournis contiennent une valeur pour l'ensemble de la population.",
"stddevSampleDescription": "Calcule l'écart-type (standard deviation) du sous ensemble des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée quand les arguments fournis contiennent une valeur uniquement pour un sous ensemble de la population.",
"variancePopDescription": "Calcule la variance des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée uniquement quand tous les arguments fournis contiennent une valeur pour l'ensemble de la population.",
"varianceSampleDescription": "Calcule la variance des valeurs en argument et retourne le résultat. Cette fonction peut être utilisée quand les arguments fournis contiennent une valeur uniquement pour un sous ensemble de la population.",
"avgDescription": "Calcule la moyenne de toutes les valeurs et retourne le résultat.",
"sumDescription": "Retourne la somme de toutes les valeurs en argument et retourne le résultat.",
"filterDescription": "Filtre une expression impliquant un champ rapporté,un champ lien vers une table ou un appel de la fonction lookup."
},
"functionnalGridViewFieldLinkRow": {
"unnamed": "Ligne sans nom {value}"
}
}

View file

@ -33,18 +33,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"copied": {
"label": "Copied!"
}
},
"fr": {
"copied": {
"label": "Copié !"
}
}
}
</i18n>

View file

@ -85,20 +85,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"paginator": {
"page": "page",
"of": "of {pages}"
}
},
"fr": {
"paginator": {
"page": "page",
"of": "sur {pages}"
}
}
}
</i18n>

View file

@ -48,18 +48,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"applicationForm": {
"nameLabel": "Name"
}
},
"fr": {
"applicationForm": {
"nameLabel": "Nom"
}
}
}
</i18n>

View file

@ -62,18 +62,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"createApplicationContext":{
"fromTemplate": "From template"
}
},
"fr": {
"createApplicationContext":{
"fromTemplate": "À partir d'un modèle"
}
}
}
</i18n>

View file

@ -179,38 +179,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"error":{
"passwordRequired": "A password is required.",
"invalidEmail": "Please enter a valid e-mail address.",
"disabledAccountTitle": "Account disabled",
"disabledAccountMessage": "This user account has been disabled.",
"incorrectCredentialTitle": "Incorrect credentials",
"incorrectCredentialMessage": "The provided e-mail address or password is incorrect."
},
"field":{
"password": "Password"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} has invited you to join {group}."
},
"fr": {
"error":{
"passwordRequired": "Le mot de passe est obligatoire.",
"invalidEmail": "Veuillez entrer une adresse électronique valide.",
"disabledAccountTitle": "Compte désactivé",
"disabledAccountMessage": "Ce compte utilisateur est desactivé.",
"incorrectCredentialTitle": "Identifiants incorrects",
"incorrectCredentialMessage": "L'adresse éléctronique et/ou le mot de passe sont incorrects."
},
"field":{
"password": "Mot de passe"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} vous a invité·e à rejoindre le groupe {group}."
}
}
</i18n>

View file

@ -209,38 +209,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"error":{
"alreadyExistsTitle": "User already exists",
"alreadyExistsMessage": "A user with the provided e-mail address already exists."
},
"field":{
"language": "Language",
"emailAddress": "E-mail address",
"name":"Your name",
"password": "Password",
"passwordRepeat":"Repeat password"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} has invited you to join {group}."
},
"fr": {
"error":{
"alreadyExistsTitle": "L'utilisateur existe déjà",
"alreadyExistsMessage": "Un utilisateur avec la même adresse électronique existe déjà."
},
"field":{
"language": "Langue",
"emailAddress": "Adresse électronique",
"name":"Votre nom",
"password": "Mot de passe",
"passwordRepeat":"Répetez votre mot de passe"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} vous a invité·e à rejoindre le groupe {group}."
}
}
</i18n>

View file

@ -255,24 +255,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"uploadFileUserFileUpload": {
"title": "Upload from my device",
"drop": "Drop here",
"clickOrDrop": "Click or drop your files here",
"retry": "Retry"
}
},
"fr": {
"uploadFileUserFileUpload": {
"title": "Envoyer un fichier",
"drop": "Déposez ici",
"clickOrDrop": "Cliquez ou déposez votre fichier ici",
"retry": "Recommencer"
}
}
}
</i18n>

View file

@ -77,22 +77,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"uploadViaURLUserFileUpload": {
"title": "Upload from a URL",
"urlLabel": "URL",
"urlError": "A valid URL is required."
}
},
"fr": {
"uploadViaURLUserFileUpload": {
"title": "À partir d'une URL",
"urlLabel": "URL",
"urlError": "Une URL valide doit être renseignée."
}
}
}
</i18n>

View file

@ -67,18 +67,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"userFilesModal": {
"title": "Upload from"
}
},
"fr": {
"userFilesModal": {
"title": "En provenance"
}
}
}
</i18n>

View file

@ -50,20 +50,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"createGroupModal": {
"createNew": "Create new group",
"add": "Add group"
}
},
"fr": {
"createGroupModal": {
"createNew": "Nouveau groupe",
"add": "Ajouter le groupe"
}
}
}
</i18n>

View file

@ -108,20 +108,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"dashboardGroup":{
"showMembers": "Members",
"createApplication": "Create new"
}
},
"fr":{
"dashboardGroup":{
"showMembers": "Membres",
"createApplication": "Créer"
}
}
}
</i18n>

View file

@ -105,26 +105,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupContext": {
"renameGroup": "Rename group",
"members": "Members",
"viewTrash": "View trash",
"leaveGroup": "Leave group",
"deleteGroup": "Delete group"
}
},
"fr": {
"groupContext": {
"renameGroup": "Renommer le groupe",
"members": "Membres",
"viewTrash": "Voir la corbeille",
"leaveGroup": "Quitter le groupe",
"deleteGroup": "Supprimer le groupe"
}
}
}
</i18n>

View file

@ -48,18 +48,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupForm": {
"nameLabel": "Name"
}
},
"fr": {
"groupForm": {
"nameLabel": "Nom"
}
}
}
</i18n>

View file

@ -99,24 +99,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupInvitation": {
"title": "Invitation",
"message": "{by} has invited you to join {group}.",
"reject": "Reject",
"accept": "Accept"
}
},
"fr": {
"groupInvitation": {
"title": "Invitation",
"message": "{by} vous a invité à rejoindre le groupe {group}.",
"reject": "Refuser",
"accept": "Accepter"
}
}
}
</i18n>

View file

@ -80,22 +80,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupInviteForm": {
"invitationFormTitle": "Invite by email",
"optionalMessagePlaceholder": "Optional message",
"errorInvalidEmail": "Please enter a valid e-mail address."
}
},
"fr": {
"groupInviteForm": {
"invitationFormTitle": "Inviter par email",
"optionalMessagePlaceholder": "Message optionnel",
"errorInvalidEmail": "Veuillez saisir une adresse email valide."
}
}
}
</i18n>

View file

@ -247,28 +247,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupMemberModal": {
"membersModalTitle": "{group} members",
"userDescription": "{user} - joined {since} ago",
"invitationDescription": "invited {since} ago",
"sendInvite": "Send invite",
"userAlreadyInGroupTitle": "User is already in the group.",
"userAlreadyInGroupText": "It is not possible to send an invitation when the user is already a member of the group."
}
},
"fr": {
"groupMemberModal": {
"membersModalTitle": "Membres de {group}",
"userDescription": "{user} - membre depuis {since}",
"invitationDescription": "invité·e depuis {since}",
"sendInvite": "Envoyer l'invitation",
"userAlreadyInGroupTitle": "L'utilisateur est déjà dans le groupe.",
"userAlreadyInGroupText": "Il n'est pas possible d'envoyer une invitation à un utilisateur déjà présent dans le groupe."
}
}
}
</i18n>

View file

@ -105,22 +105,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"groupsContext": {
"search": "Search groups",
"noResults": "No results found",
"createGroup": "Create group"
}
},
"fr": {
"groupsContext": {
"search": "Rechercher",
"noResults": "Aucun résultat",
"createGroup": "Créer un groupe"
}
}
}
</i18n>

View file

@ -59,22 +59,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"leaveGroupModal": {
"title": "Leave {group}",
"message": "Are you sure you want to leave the group {group}? You won't be able to access the related applications anymore and if you want to regain access, one of the admins must invite you again. If you leave the group, it will not be deleted. All the other members will still have access to it. It is not possible to leave a group if you're the last admin because that will leave it unmaintained.",
"leave": "Leave group"
}
},
"fr": {
"leaveGroupModal": {
"title": "Quitter {groupe}",
"message": "Êtes-vous sûr·e de vouloir quitter le groupe {group} ? Vous ne serez plus en mesure d'accéder aux applications associées et si vous souhaitez y accéder de nouveau, l'un des administrateurs du groupe devra vous envoyer une nouvelle invitation. Si vous quittez un groupe, celui-ci ne sera pas supprimé et les autres membres y auront toujours accès. Il n'est pas possible de quitter un groupe si vous êtes le dernier administrateur car il se retrouverait alors sans propriétaire.",
"leave": "Quitter le groupe"
}
}
}
</i18n>

View file

@ -80,19 +80,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"error":{
"inputRequired": "Input is required."
}
},
"fr": {
"error":{
"inputRequired": "Ce champ est obligatoire."
}
}
}
</i18n>

View file

@ -13,20 +13,3 @@ export default {
name: 'ConnectingNotification',
}
</script>
<i18n>
{
"en": {
"connectingNotification": {
"title": "Reconnecting",
"content": "Reconnecting with server."
}
},
"fr": {
"connectingNotification": {
"title": "Reconnexion en cours",
"content": "Reconnexion avec le serveur en cours"
}
}
}
</i18n>

View file

@ -36,22 +36,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"failedConnectingNotification": {
"title": "Failed",
"content": "Connection to the server has failed. Please refresh the page.",
"action": "Refresh page"
}
},
"fr": {
"failedConnectingNotification": {
"title": "Échec de connexion",
"content": "La connexion avec le serveur a été interrompue. Merci de rafraîchir la page.",
"action": "Rafraîchir la page"
}
}
}
</i18n>

View file

@ -61,18 +61,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"restoreNotification": {
"restore": "Restore deleted {type}"
}
},
"fr": {
"restoreNotification": {
"restore": "Restaurer l'élément {type} supprimé"
}
}
}
</i18n>

View file

@ -61,20 +61,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"accountForm": {
"nameLabel": "Your name",
"languageLabel": "Interface language"
}
},
"fr": {
"accountForm": {
"nameLabel": "Votre nom",
"languageLabel": "Langue de l'interface"
}
}
}
</i18n>

View file

@ -66,24 +66,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"accountSettings": {
"title": "Account",
"changedTitle": "Changed",
"changedDescription": "Your account information has been changed.",
"submitButton": "Update account"
}
},
"fr": {
"accountSettings": {
"title": "Informations personnelles",
"changedTitle": "Mise à jour",
"changedDescription": "Les informations de votre compte utilisateur ont été mises à jour.",
"submitButton": "Modifier les informations"
}
}
}
</i18n>

View file

@ -136,38 +136,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"passwordSettings": {
"title": "Change password",
"changedTitle": "Password changed",
"changedDescription": "Your password has been changed. The next time you want to login, you have to use your new password.",
"oldPasswordLabel": "Old password",
"oldPasswordRequiredError": "Old password is required.",
"newPasswordLabel": "New password",
"repeatNewPasswordLabel": "Repeat new password",
"repeatNewPasswordMatchError": "This field must match your new password field.",
"submitButton": "Change password",
"errorInvalidOldPasswordTitle": "Invalid password",
"errorInvalidOldPasswordMessage": "Could not change your password because your old password is invalid."
}
},
"fr": {
"passwordSettings": {
"title": "Mise à jour du mot de passe",
"changedTitle": "Mot de passe mis à jour",
"changedDescription": "Votre mot de passe a été mis à jour. La prochaine fois que vous souhaitez vous connecter, vous devrez utiliser le nouveau mot de passe.",
"oldPasswordLabel": "Ancien mot de passe",
"oldPasswordRequiredError": "L'ancien mot de passe est obligatoire.",
"newPasswordLabel": "Nouveau mot de passe",
"repeatNewPasswordLabel": "Répétez le mot de passe",
"repeatNewPasswordMatchError": "Les deux mots de passe ne correspondent pas.",
"submitButton": "Mettre à jour",
"errorInvalidOldPasswordTitle": "Ancien mot de passe invalide",
"errorInvalidOldPasswordMessage": "Impossible de mettre à jour votre mot de passe car votre ancien mot de passe est incorrect."
}
}
}
</i18n>

View file

@ -80,18 +80,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"settingsModal": {
"title": "Settings"
}
},
"fr": {
"settingsModal": {
"title": "Mon compte"
}
}
}
</i18n>

View file

@ -330,32 +330,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"sidebar":{
"createGroup": "Create group",
"inviteOthers": "Invite others",
"logoff": "Logoff",
"errorNoGroup": "You dont have any groups.",
"admin": "Admin",
"dashboard": "Dashboard",
"trash": "Trash",
"settings": "Settings"
}
},
"fr":{
"sidebar":{
"createGroup": "Créer un groupe",
"inviteOthers": "Envoyer une invitation",
"logoff": "Se déconnecter",
"errorNoGroup": "Vous n'avez aucun groupe.",
"admin": "Administration",
"dashboard": "Accueil",
"trash": "Corbeille",
"settings": "Mon compte"
}
}
}
</i18n>

View file

@ -144,22 +144,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"sidebarApplication": {
"renameApplication": "Rename {type}",
"viewTrash": "View trash",
"deleteApplication": "Delete {type}"
}
},
"fr":{
"sidebarApplication": {
"renameApplication": "Renommer {type}",
"viewTrash": "Voir la corbeille",
"deleteApplication": "Supprimer {type}"
}
}
}
</i18n>

View file

@ -67,20 +67,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"templateCategories": {
"search": "Search templates",
"title": "Templates"
}
},
"fr": {
"templateCategories": {
"search": "Chercher des modèles",
"title": "Modèles"
}
}
}
</i18n>

View file

@ -75,18 +75,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"templateHeader": {
"use": "Use this template"
}
},
"fr": {
"templateHeader": {
"use": "Utiliser ce modèle"
}
}
}
</i18n>

View file

@ -162,26 +162,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"trashContents": {
"message": "Restore deleted items from the past {duration}",
"empty": "Nothing has been deleted in the past three days.",
"emptyButtonTrashed": "Delete {type} permanently",
"emptyButtonNotTrashed": "Empty this {type}'s trash",
"unnamed": "Unnamed {type} {id}"
}
},
"fr": {
"trashContents": {
"message": "Restaurer les éléments supprimés durant les {duration} derniers",
"empty": "Rien n'a été supprimé durant les trois derniers jours.",
"emptyButtonTrashed": "Supprimer {type} définitivement",
"emptyButtonNotTrashed": "Vider la corbeille pour {type}",
"unnamed": "Sans nom {type} {id}"
}
}
}
</i18n>

View file

@ -63,28 +63,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"trashEmptyModal": {
"titleIsTrashed": "Are you sure you want to permanently delete {name}?",
"titleIsNotTrashed": "Are you sure you want to empty the trash of {name}?",
"messageIsTrashed": "This will permanently delete it and all of its contents. After which they cannot be recovered.",
"messageIsNotTrashed": "This will permanently delete the listed items. After which they cannot be recovered.",
"buttonIsTrashed": "Permanently delete",
"buttonIsNotTrashed": "Empty"
}
},
"fr": {
"trashEmptyModal": {
"titleIsTrashed": "Êtes-vous sûr·e de vouloir supprimer définitivement {name} ?",
"titleIsNotTrashed": "Êtes-vous sûr·e de vouloir vider la corbeille de {name} ?",
"messageIsTrashed": "Cette action va tout supprimer définitivement ainsi que tout son contenu. Vous ne serez plus en mesure de le restaurer.",
"messageIsNotTrashed": "Cette action va supprimer définitivement les éléments listés. Vous ne serez plus en mesure de les restaurer.",
"buttonIsTrashed": "Supprimer définitivement",
"buttonIsNotTrashed": "Vider"
}
}
}
</i18n>

View file

@ -89,26 +89,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"trashEntry": {
"deletedUser": "A deleted user",
"fromParent": "from {parent}",
"name": "{user} deleted {type} {title} {parent}",
"restore": "Restore",
"unnamed": "Unnamed {type} {id}"
}
},
"fr": {
"trashEntry": {
"deletedUser": "Un utilisateur supprimé",
"fromParent": "provenant de {parent}",
"name": "{user} a supprimé {type} {title} {parent}",
"restore": "Restaurer",
"unnamed": "Sans nom {type} {id}"
}
}
}
</i18n>

View file

@ -335,20 +335,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"trashModal": {
"emptyTitle": "No groups found",
"emptyMessage": "You aren't a member of any group. Applications like databases belong to a group, so in order to create them you need to create a group."
}
},
"fr": {
"trashModal": {
"emptyTitle": "Aucun groupe trouvé",
"emptyMessage": "Vous n'êtes membre d'aucun groupe. Les applications comme les bases de données doivent appartenir à un groupe, par conséquent vous devez créer un groupe afin d'être capable d'en créer."
}
}
}
</i18n>

View file

@ -103,20 +103,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"trashSidebar": {
"title": "Trash",
"unnamedGroup": "Unnamed group {id}"
}
},
"fr": {
"trashSidebar": {
"title": "Corbeille",
"unnamedGroup": "Groupe sans nom {id}"
}
}
}
</i18n>

View file

@ -61,26 +61,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"errorLayout": {
"notFound": "The page you are looking for has not been found. This might be because URL is incorrect or that you dont have permission to view this page.",
"error": "Something went wrong while loading the page. Our developers have been notified of the issue. Please try to refresh or return to the dashboard.",
"backDashboard": "Back to dashboard",
"backLogin": "Back to login",
"wrong": "Something went wrong"
}
},
"fr": {
"errorLayout": {
"notFound": "La page que vous essayez de consulter n'a pas été trouvée. L'URL est incorrecte ou vous n'avez pas les permissions nécessaires pour voir cette page.",
"error": "Une erreur est survenue lors du chargement de la page. Nos developpeurs ont été notifiés de ce problème. Veuillez essayer de recharger la page ou retournez à l'accueil.",
"backDashboard": "Retourner à l'accueil",
"backLogin": "Retourner à l'identification",
"wrong": "Une erreur est survenue"
}
}
}
</i18n>

View file

@ -0,0 +1,245 @@
{
"paginator": {
"page": "page",
"of": "of {pages}"
},
"copied": {
"label": "Copied!"
},
"sidebarApplication": {
"renameApplication": "Rename {type}",
"viewTrash": "View trash",
"deleteApplication": "Delete {type}"
},
"sidebar": {
"createGroup": "Create group",
"inviteOthers": "Invite others",
"logoff": "Logoff",
"errorNoGroup": "You dont have any groups.",
"admin": "Admin",
"dashboard": "Dashboard",
"trash": "Trash",
"settings": "Settings"
},
"accountForm": {
"nameLabel": "Your name",
"languageLabel": "Interface language"
},
"accountSettings": {
"title": "Account",
"changedTitle": "Changed",
"changedDescription": "Your account information has been changed.",
"submitButton": "Update account"
},
"settingsModal": {
"title": "Settings"
},
"passwordSettings": {
"title": "Change password",
"changedTitle": "Password changed",
"changedDescription": "Your password has been changed. The next time you want to login, you have to use your new password.",
"oldPasswordLabel": "Old password",
"oldPasswordRequiredError": "Old password is required.",
"newPasswordLabel": "New password",
"repeatNewPasswordLabel": "Repeat new password",
"repeatNewPasswordMatchError": "This field must match your new password field.",
"submitButton": "Change password",
"errorInvalidOldPasswordTitle": "Invalid password",
"errorInvalidOldPasswordMessage": "Could not change your password because your old password is invalid."
},
"error": {
"alreadyExistsTitle": "User already exists",
"alreadyExistsMessage": "A user with the provided e-mail address already exists.",
"passwordRequired": "A password is required.",
"invalidEmail": "Please enter a valid e-mail address.",
"disabledAccountTitle": "Account disabled",
"disabledAccountMessage": "This user account has been disabled.",
"incorrectCredentialTitle": "Incorrect credentials",
"incorrectCredentialMessage": "The provided e-mail address or password is incorrect.",
"inputRequired": "Input is required."
},
"field": {
"language": "Language",
"emailAddress": "E-mail address",
"name": "Your name",
"password": "Password",
"passwordRepeat": "Repeat password"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} has invited you to join {group}.",
"groupForm": {
"nameLabel": "Name"
},
"leaveGroupModal": {
"title": "Leave {group}",
"message": "Are you sure you want to leave the group {group}? You won't be able to access the related applications anymore and if you want to regain access, one of the admins must invite you again. If you leave the group, it will not be deleted. All the other members will still have access to it. It is not possible to leave a group if you're the last admin because that will leave it unmaintained.",
"leave": "Leave group"
},
"dashboardGroup": {
"showMembers": "Members",
"createApplication": "Create new"
},
"groupInvitation": {
"title": "Invitation",
"message": "{by} has invited you to join {group}.",
"reject": "Reject",
"accept": "Accept"
},
"groupMemberModal": {
"membersModalTitle": "{group} members",
"userDescription": "{user} - joined {since} ago",
"invitationDescription": "invited {since} ago",
"sendInvite": "Send invite",
"userAlreadyInGroupTitle": "User is already in the group.",
"userAlreadyInGroupText": "It is not possible to send an invitation when the user is already a member of the group."
},
"groupInviteForm": {
"invitationFormTitle": "Invite by email",
"optionalMessagePlaceholder": "Optional message",
"errorInvalidEmail": "Please enter a valid e-mail address."
},
"groupsContext": {
"search": "Search groups",
"noResults": "No results found",
"createGroup": "Create group"
},
"groupContext": {
"renameGroup": "Rename group",
"members": "Members",
"viewTrash": "View trash",
"leaveGroup": "Leave group",
"deleteGroup": "Delete group"
},
"createGroupModal": {
"createNew": "Create new group",
"add": "Add group"
},
"templateCategories": {
"search": "Search templates",
"title": "Templates"
},
"templateHeader": {
"use": "Use this template"
},
"trashSidebar": {
"title": "Trash",
"unnamedGroup": "Unnamed group {id}"
},
"trashContents": {
"message": "Restore deleted items from the past {duration}",
"empty": "Nothing has been deleted in the past three days.",
"emptyButtonTrashed": "Delete {type} permanently",
"emptyButtonNotTrashed": "Empty this {type}'s trash",
"unnamed": "Unnamed {type} {id}"
},
"trashEmptyModal": {
"titleIsTrashed": "Are you sure you want to permanently delete {name}?",
"titleIsNotTrashed": "Are you sure you want to empty the trash of {name}?",
"messageIsTrashed": "This will permanently delete it and all of its contents. After which they cannot be recovered.",
"messageIsNotTrashed": "This will permanently delete the listed items. After which they cannot be recovered.",
"buttonIsTrashed": "Permanently delete",
"buttonIsNotTrashed": "Empty"
},
"trashEntry": {
"deletedUser": "A deleted user",
"fromParent": "from {parent}",
"name": "{user} deleted {type} {title} {parent}",
"restore": "Restore",
"unnamed": "Unnamed {type} {id}"
},
"trashModal": {
"emptyTitle": "No groups found",
"emptyMessage": "You aren't a member of any group. Applications like databases belong to a group, so in order to create them you need to create a group."
},
"uploadViaURLUserFileUpload": {
"title": "Upload from a URL",
"urlLabel": "URL",
"urlError": "A valid URL is required."
},
"userFilesModal": {
"title": "Upload from"
},
"uploadFileUserFileUpload": {
"title": "Upload from my device",
"drop": "Drop here",
"clickOrDrop": "Click or drop your files here",
"retry": "Retry"
},
"createApplicationContext": {
"fromTemplate": "From template"
},
"applicationForm": {
"nameLabel": "Name"
},
"connectingNotification": {
"title": "Reconnecting",
"content": "Reconnecting with server."
},
"failedConnectingNotification": {
"title": "Failed",
"content": "Connection to the server has failed. Please refresh the page.",
"action": "Refresh page"
},
"restoreNotification": {
"restore": "Restore deleted {type}"
},
"errorLayout": {
"notFound": "The page you are looking for has not been found. This might be because URL is incorrect or that you dont have permission to view this page.",
"error": "Something went wrong while loading the page. Our developers have been notified of the issue. Please try to refresh or return to the dashboard.",
"backDashboard": "Back to dashboard",
"backLogin": "Back to login",
"wrong": "Something went wrong"
},
"dashboard": {
"title": "Dashboard",
"alertTitle": "We need your help!",
"alertText": "If you find Baserow useful then sponsoring, starring or sharing us is greatly appreciated. By sponsoring us on GitHub you will get early access to the premium features!",
"tweetContent": "Check out @baserow an open source no-code database tool and Airtable alternative!",
"redditTitle": "'Baserow - An open source no-code database",
"noGroupTitle": "No groups found",
"noGroupText": "You arent a member of any group. Applications like databases belong to a group, so in order to create them you need to create a group.",
"createGroup": "Create group",
"becomeGithubSponsor": "Become a GitHub sponsor",
"starOnGitlab": "Star us on Gitlab",
"shareOnTwitter": "Tweet about Baserow",
"shareOnReddit": "Share on Reddit",
"shareOnFacebook": "Share on Facebook",
"shareOnLinkedIn": "Share on LinkedIn"
},
"login": {
"title": "Login",
"forgotPassword": "Forgot password"
},
"resetPassword": {
"title": "Reset password",
"newPassword": "New password",
"repeatNewPassword": "Repeat new password",
"submit": "Change password",
"changed": "Password changed",
"errorInvalidLinkTitle": "Invalid link",
"errorInvalidLinkMessage": "Could not reset the password because the link is invalid.",
"errorLinkExpiredTitle": "Link expired",
"errorLinkExpiredMessage": "The password reset link has expired. Please request another one."
},
"signup": {
"headTitle": "Create new account",
"title": "Sign up",
"disabled": "Sign up is disabled",
"disabledMessage": "It's not possible to create an account because it has been disabled."
},
"forgotPassword": {
"title": "Forgot password",
"message": "Please enter your e-mail address in the form. If we find an account then we will send an e-mail with a link to reset your password.",
"submit": "Send link",
"confirmation": "If your email address exists in our database, you will receive a password reset link at your email address in a few minutes."
},
"settings": {
"settingsTitle": "Admin settings",
"baserowInstanceId": "Instance ID",
"instanceIdDescription": "The instance ID is the unique identifier of your Baserow copy.",
"groupSignupRestrictions": "Signup restrictions",
"settingAllowNewAccountsName": "Allow creating new accounts",
"settingAllowNewAccountsDescription": "By default, any user visiting your Baserow domain can sign up for a new account.",
"enabled": "enabled"
}
}

View file

@ -0,0 +1,245 @@
{
"paginator": {
"page": "page",
"of": "sur {pages}"
},
"copied": {
"label": "Copié !"
},
"sidebarApplication": {
"renameApplication": "Renommer {type}",
"viewTrash": "Voir la corbeille",
"deleteApplication": "Supprimer {type}"
},
"sidebar": {
"createGroup": "Créer un groupe",
"inviteOthers": "Envoyer une invitation",
"logoff": "Se déconnecter",
"errorNoGroup": "Vous n'avez aucun groupe.",
"admin": "Administration",
"dashboard": "Accueil",
"trash": "Corbeille",
"settings": "Mon compte"
},
"accountForm": {
"nameLabel": "Votre nom",
"languageLabel": "Langue de l'interface"
},
"accountSettings": {
"title": "Informations personnelles",
"changedTitle": "Mise à jour",
"changedDescription": "Les informations de votre compte utilisateur ont été mises à jour.",
"submitButton": "Modifier les informations"
},
"settingsModal": {
"title": "Mon compte"
},
"passwordSettings": {
"title": "Mise à jour du mot de passe",
"changedTitle": "Mot de passe mis à jour",
"changedDescription": "Votre mot de passe a été mis à jour. La prochaine fois que vous souhaitez vous connecter, vous devrez utiliser le nouveau mot de passe.",
"oldPasswordLabel": "Ancien mot de passe",
"oldPasswordRequiredError": "L'ancien mot de passe est obligatoire.",
"newPasswordLabel": "Nouveau mot de passe",
"repeatNewPasswordLabel": "Répétez le mot de passe",
"repeatNewPasswordMatchError": "Les deux mots de passe ne correspondent pas.",
"submitButton": "Mettre à jour",
"errorInvalidOldPasswordTitle": "Ancien mot de passe invalide",
"errorInvalidOldPasswordMessage": "Impossible de mettre à jour votre mot de passe car votre ancien mot de passe est incorrect."
},
"error": {
"alreadyExistsTitle": "L'utilisateur existe déjà",
"alreadyExistsMessage": "Un utilisateur avec la même adresse électronique existe déjà.",
"passwordRequired": "Le mot de passe est obligatoire.",
"invalidEmail": "Veuillez entrer une adresse électronique valide.",
"disabledAccountTitle": "Compte désactivé",
"disabledAccountMessage": "Ce compte utilisateur est desactivé.",
"incorrectCredentialTitle": "Identifiants incorrects",
"incorrectCredentialMessage": "L'adresse éléctronique et/ou le mot de passe sont incorrects.",
"inputRequired": "Ce champ est obligatoire."
},
"field": {
"language": "Langue",
"emailAddress": "Adresse électronique",
"name": "Votre nom",
"password": "Mot de passe",
"passwordRepeat": "Répetez votre mot de passe"
},
"invitationTitle": "Invitation",
"invitationMessage": "{invitedBy} vous a invité·e à rejoindre le groupe {group}.",
"groupForm": {
"nameLabel": "Nom"
},
"leaveGroupModal": {
"title": "Quitter {groupe}",
"message": "Êtes-vous sûr·e de vouloir quitter le groupe {group} ? Vous ne serez plus en mesure d'accéder aux applications associées et si vous souhaitez y accéder de nouveau, l'un des administrateurs du groupe devra vous envoyer une nouvelle invitation. Si vous quittez un groupe, celui-ci ne sera pas supprimé et les autres membres y auront toujours accès. Il n'est pas possible de quitter un groupe si vous êtes le dernier administrateur car il se retrouverait alors sans propriétaire.",
"leave": "Quitter le groupe"
},
"dashboardGroup": {
"showMembers": "Membres",
"createApplication": "Créer"
},
"groupInvitation": {
"title": "Invitation",
"message": "{by} vous a invité à rejoindre le groupe {group}.",
"reject": "Refuser",
"accept": "Accepter"
},
"groupMemberModal": {
"membersModalTitle": "Membres de {group}",
"userDescription": "{user} - membre depuis {since}",
"invitationDescription": "invité·e depuis {since}",
"sendInvite": "Envoyer l'invitation",
"userAlreadyInGroupTitle": "L'utilisateur est déjà dans le groupe.",
"userAlreadyInGroupText": "Il n'est pas possible d'envoyer une invitation à un utilisateur déjà présent dans le groupe."
},
"groupInviteForm": {
"invitationFormTitle": "Inviter par email",
"optionalMessagePlaceholder": "Message optionnel",
"errorInvalidEmail": "Veuillez saisir une adresse email valide."
},
"groupsContext": {
"search": "Rechercher",
"noResults": "Aucun résultat",
"createGroup": "Créer un groupe"
},
"groupContext": {
"renameGroup": "Renommer le groupe",
"members": "Membres",
"viewTrash": "Voir la corbeille",
"leaveGroup": "Quitter le groupe",
"deleteGroup": "Supprimer le groupe"
},
"createGroupModal": {
"createNew": "Nouveau groupe",
"add": "Ajouter le groupe"
},
"templateCategories": {
"search": "Chercher des modèles",
"title": "Modèles"
},
"templateHeader": {
"use": "Utiliser ce modèle"
},
"trashSidebar": {
"title": "Corbeille",
"unnamedGroup": "Groupe sans nom {id}"
},
"trashContents": {
"message": "Restaurer les éléments supprimés durant les {duration} derniers",
"empty": "Rien n'a été supprimé durant les trois derniers jours.",
"emptyButtonTrashed": "Supprimer {type} définitivement",
"emptyButtonNotTrashed": "Vider la corbeille pour {type}",
"unnamed": "Sans nom {type} {id}"
},
"trashEmptyModal": {
"titleIsTrashed": "Êtes-vous sûr·e de vouloir supprimer définitivement {name} ?",
"titleIsNotTrashed": "Êtes-vous sûr·e de vouloir vider la corbeille de {name} ?",
"messageIsTrashed": "Cette action va tout supprimer définitivement ainsi que tout son contenu. Vous ne serez plus en mesure de le restaurer.",
"messageIsNotTrashed": "Cette action va supprimer définitivement les éléments listés. Vous ne serez plus en mesure de les restaurer.",
"buttonIsTrashed": "Supprimer définitivement",
"buttonIsNotTrashed": "Vider"
},
"trashEntry": {
"deletedUser": "Un utilisateur supprimé",
"fromParent": "provenant de {parent}",
"name": "{user} a supprimé {type} {title} {parent}",
"restore": "Restaurer",
"unnamed": "Sans nom {type} {id}"
},
"trashModal": {
"emptyTitle": "Aucun groupe trouvé",
"emptyMessage": "Vous n'êtes membre d'aucun groupe. Les applications comme les bases de données doivent appartenir à un groupe, par conséquent vous devez créer un groupe afin d'être capable d'en créer."
},
"uploadViaURLUserFileUpload": {
"title": "À partir d'une URL",
"urlLabel": "URL",
"urlError": "Une URL valide doit être renseignée."
},
"userFilesModal": {
"title": "En provenance"
},
"uploadFileUserFileUpload": {
"title": "Envoyer un fichier",
"drop": "Déposez ici",
"clickOrDrop": "Cliquez ou déposez votre fichier ici",
"retry": "Recommencer"
},
"createApplicationContext": {
"fromTemplate": "À partir d'un modèle"
},
"applicationForm": {
"nameLabel": "Nom"
},
"connectingNotification": {
"title": "Reconnexion en cours",
"content": "Reconnexion avec le serveur en cours"
},
"failedConnectingNotification": {
"title": "Échec de connexion",
"content": "La connexion avec le serveur a été interrompue. Merci de rafraîchir la page.",
"action": "Rafraîchir la page"
},
"restoreNotification": {
"restore": "Restaurer l'élément {type} supprimé"
},
"errorLayout": {
"notFound": "La page que vous essayez de consulter n'a pas été trouvée. L'URL est incorrecte ou vous n'avez pas les permissions nécessaires pour voir cette page.",
"error": "Une erreur est survenue lors du chargement de la page. Nos developpeurs ont été notifiés de ce problème. Veuillez essayer de recharger la page ou retournez à l'accueil.",
"backDashboard": "Retourner à l'accueil",
"backLogin": "Retourner à l'identification",
"wrong": "Une erreur est survenue"
},
"dashboard": {
"title": "Accueil",
"alertTitle": "Soutenez-nous !",
"alertText": "Si vous trouvez Baserow utile, n'hésitez pas à nous sponsoriser, étoiler, partager :",
"tweetContent": "Découvrez @baserow, une base de données no-code libre, une alternative à Airtable",
"redditTitle": "Baserow - Une base de données no-code libre",
"noGroupTitle": "Aucun groupe",
"noGroupText": "Vous n'êtes membre d'aucun groupe. Les applications telles que les bases de données doivent appartenir à un groupe, donc pour pouvoir en créer, vous devez créer au moins un groupe.",
"createGroup": "Créer un groupe",
"becomeGithubSponsor": "Devenir sponsor Github",
"starOnGitlab": "Nous étoiler sur Gitlab",
"shareOnTwitter": "Tweeter à propos de Baserow",
"shareOnReddit": "Partager sur Reddit",
"shareOnFacebook": "Partager sur Facebook",
"shareOnLinkedIn": "Partager sur LinkedIn"
},
"login": {
"title": "Identification",
"forgotPassword": "Mot de passe oublié"
},
"resetPassword": {
"title": "Nouveau mot de passe",
"newPassword": "Nouveau mot de passe",
"repeatNewPassword": "Répetez le mot de passe",
"submit": "Mettre à jour",
"changed": "Mot de passe mis à jour",
"errorInvalidLinkTitle": "Lien invalide",
"errorInvalidLinkMessage": "Il n'est pas possible de réinitialiser le mot de passe car le lien est invalide.",
"errorLinkExpiredTitle": "Lien expiré",
"errorLinkExpiredMessage": "Le lien de réinitialisation de mot de passe a expiré, Veuillez en demander un nouveau."
},
"signup": {
"headTitle": "Création d'un nouveau compte",
"title": "Création de compte",
"disabled": "Création de compte desactivée",
"disabledMessage": "Vous ne pouvez pas créer de compte car la création de compte a été désactivée."
},
"forgotPassword": {
"title": "Mot de passe oublié",
"message": "Veuillez saisir votre adresse email dans le formulaire. Si nous trouvons un compte correspondant, nous vous enverrons un email avec un lien pour réinitialiser votre mot de passe.",
"submit": "Envoyer le lien",
"confirmation": "Si un compte correspond à votre adresse email, vous allez recevoir un lien de réinitialisation de mot de passe sur votre messagerie d'ici quelques minutes."
},
"settings": {
"settingsTitle": "Paramètres",
"baserowInstanceId": "Identifiant de l'instance de Baserow",
"instanceIdDescription": "Cet identifiant permet de désigner de manière unique votre instance de Baserow.",
"groupSignupRestrictions": "Restriction de création des comptes",
"settingAllowNewAccountsName": "Autoriser la création de compte",
"settingAllowNewAccountsDescription": "Par défaut, tout les visiteurs peuvent créer un compte sur votre instance de Baserow.",
"enabled": "Autoriser"
}
}

View file

@ -4,6 +4,8 @@ import serveStatic from 'serve-static'
import { routes } from './routes'
import head from './head'
import en from './locales/en.json'
import fr from './locales/fr.json'
export default function CoreModule(options) {
/**
@ -74,16 +76,14 @@ export default function CoreModule(options) {
},
])
// Use feature flag to enable i18n
const locales = [
{ code: 'en', name: 'English', file: 'en.js' },
{ code: 'fr', name: 'Français', file: 'fr.js' },
{ code: 'en', name: 'English', file: 'en.json' },
{ code: 'fr', name: 'Français', file: 'fr.json' },
]
this.requireModule([
'@nuxtjs/i18n',
{
vueI18nLoader: true,
strategy: 'no_prefix',
defaultLocale: 'en',
detectBrowserLanguage: {
@ -99,6 +99,10 @@ export default function CoreModule(options) {
},
])
this.nuxt.hook('i18n:extend-messages', function (additionalMessages) {
additionalMessages.push({ en, fr })
})
// Serve the static directory
// @TODO we might need to change some things here for production. (See:
// https://github.com/nuxt/nuxt.js/blob/5a6cde3ebc23f04e89c30a4196a9b7d116b6d675/

View file

@ -86,30 +86,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"settings":{
"settingsTitle": "Admin settings",
"baserowInstanceId": "Instance ID",
"instanceIdDescription": "The instance ID is the unique identifier of your Baserow copy.",
"groupSignupRestrictions": "Signup restrictions",
"settingAllowNewAccountsName": "Allow creating new accounts",
"settingAllowNewAccountsDescription": "By default, any user visiting your Baserow domain can sign up for a new account.",
"enabled": "enabled"
}
},
"fr":{
"settings":{
"settingsTitle": "Paramètres",
"baserowInstanceId": "Identifiant de l'instance de Baserow",
"instanceIdDescription": "Cet identifiant permet de désigner de manière unique votre instance de Baserow.",
"groupSignupRestrictions": "Restriction de création des comptes",
"settingAllowNewAccountsName": "Autoriser la création de compte",
"settingAllowNewAccountsDescription": "Par défaut, tout les visiteurs peuvent créer un compte sur votre instance de Baserow.",
"enabled": "Autoriser"
}
}
}
</i18n>

View file

@ -165,44 +165,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"dashboard":{
"title": "Dashboard",
"alertTitle": "We need your help!",
"alertText": "If you find Baserow useful then sponsoring, starring or sharing us is greatly appreciated. By sponsoring us on GitHub you will get early access to the premium features!",
"tweetContent": "Check out @baserow an open source no-code database tool and Airtable alternative!",
"redditTitle": "'Baserow - An open source no-code database",
"noGroupTitle": "No groups found",
"noGroupText": "You arent a member of any group. Applications like databases belong to a group, so in order to create them you need to create a group.",
"createGroup": "Create group",
"becomeGithubSponsor": "Become a GitHub sponsor",
"starOnGitlab": "Star us on Gitlab",
"shareOnTwitter":"Tweet about Baserow",
"shareOnReddit": "Share on Reddit",
"shareOnFacebook": "Share on Facebook",
"shareOnLinkedIn": "Share on LinkedIn"
}
},
"fr":{
"dashboard":{
"title": "Accueil",
"alertTitle": "Soutenez-nous !",
"alertText": "Si vous trouvez Baserow utile, n'hésitez pas à nous sponsoriser, étoiler, partager :",
"tweetContent": "Découvrez @baserow, une base de données no-code libre, une alternative à Airtable",
"redditTitle": "Baserow - Une base de données no-code libre",
"noGroupTitle": "Aucun groupe",
"noGroupText": "Vous n'êtes membre d'aucun groupe. Les applications telles que les bases de données doivent appartenir à un groupe, donc pour pouvoir en créer, vous devez créer au moins un groupe.",
"createGroup": "Créer un groupe",
"becomeGithubSponsor": "Devenir sponsor Github",
"starOnGitlab": "Nous étoiler sur Gitlab",
"shareOnTwitter":"Tweeter à propos de Baserow",
"shareOnReddit": "Partager sur Reddit",
"shareOnFacebook": "Partager sur Facebook",
"shareOnLinkedIn": "Partager sur LinkedIn"
}
}
}
</i18n>

View file

@ -118,24 +118,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"forgotPassword": {
"title": "Forgot password",
"message": "Please enter your e-mail address in the form. If we find an account then we will send an e-mail with a link to reset your password.",
"submit": "Send link",
"confirmation": "If your email address exists in our database, you will receive a password reset link at your email address in a few minutes."
}
},
"fr": {
"forgotPassword": {
"title": "Mot de passe oublié",
"message": "Veuillez saisir votre adresse email dans le formulaire. Si nous trouvons un compte correspondant, nous vous enverrons un email avec un lien pour réinitialiser votre mot de passe.",
"submit": "Envoyer le lien",
"confirmation": "Si un compte correspond à votre adresse email, vous allez recevoir un lien de réinitialisation de mot de passe sur votre messagerie d'ici quelques minutes."
}
}
}
</i18n>

View file

@ -64,20 +64,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"login": {
"title": "Login",
"forgotPassword": "Forgot password"
}
},
"fr": {
"login": {
"title": "Identification",
"forgotPassword": "Mot de passe oublié"
}
}
}
</i18n>

View file

@ -140,34 +140,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"resetPassword": {
"title": "Reset password",
"newPassword": "New password",
"repeatNewPassword": "Repeat new password",
"submit": "Change password",
"changed": "Password changed",
"errorInvalidLinkTitle": "Invalid link",
"errorInvalidLinkMessage": "Could not reset the password because the link is invalid.",
"errorLinkExpiredTitle": "Link expired",
"errorLinkExpiredMessage": "The password reset link has expired. Please request another one."
}
},
"fr": {
"resetPassword": {
"title": "Nouveau mot de passe",
"newPassword": "Nouveau mot de passe",
"repeatNewPassword": "Répetez le mot de passe",
"submit": "Mettre à jour",
"changed": "Mot de passe mis à jour",
"errorInvalidLinkTitle": "Lien invalide",
"errorInvalidLinkMessage": "Il n'est pas possible de réinitialiser le mot de passe car le lien est invalide.",
"errorLinkExpiredTitle": "Lien expiré",
"errorLinkExpiredMessage": "Le lien de réinitialisation de mot de passe a expiré, Veuillez en demander un nouveau."
}
}
}
</i18n>

View file

@ -65,24 +65,3 @@ export default {
},
}
</script>
<i18n>
{
"en":{
"signup": {
"headTitle": "Create new account",
"title": "Sign up",
"disabled": "Sign up is disabled",
"disabledMessage": "It's not possible to create an account because it has been disabled."
}
},
"fr":{
"signup": {
"headTitle": "Création d'un nouveau compte",
"title": "Création de compte",
"disabled": "Création de compte desactivée",
"disabledMessage": "Vous ne pouvez pas créer de compte car la création de compte a été désactivée."
}
}
}
</i18n>

View file

@ -19,10 +19,20 @@ import groupStore from '@baserow/modules/core/store/group'
import notificationStore from '@baserow/modules/core/store/notification'
import sidebarStore from '@baserow/modules/core/store/sidebar'
import en from '@baserow/modules/core/locales/en.json'
import fr from '@baserow/modules/core/locales/fr.json'
export default (context, inject) => {
const { store } = context
const { store, isDev, app } = context
inject('bus', new Vue())
// Allow locale file hot reloading in dev
if (isDev && app.i18n) {
const { i18n } = app
i18n.mergeLocaleMessage('en', en)
i18n.mergeLocaleMessage('fr', fr)
}
const registry = new Registry()
registry.registerNamespace('plugin')
registry.registerNamespace('application')

View file

@ -333,22 +333,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsExample": {
"requestSample": "Request sample",
"responseSample": "Response sample",
"userFieldNames": "User field names"
}
},
"fr": {
"apiDocsExample": {
"requestSample": "Example de requête",
"responseSample": "Example de réponse",
"userFieldNames": "Nom des champs utilisateur"
}
}
}
</i18n>

View file

@ -60,20 +60,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsParameter": {
"optional": "optional",
"defaultValue": "Default: {value}"
}
},
"fr": {
"apiDocsParameter": {
"optional": "optionnel",
"defaultValue": "Valeur par défaut : {value}"
}
}
}
</i18n>

View file

@ -45,18 +45,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsSelectDatabase": {
"needOneDatabase": "You need to have at least one database to view the API documentation."
}
},
"fr": {
"apiDocsSelectDatabase": {
"needOneDatabase": "Vous devez avoir au moins une base de données afin de consulter la documentation de l'API."
}
}
}
</i18n>

View file

@ -43,20 +43,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsAuth":{
"description": "Baserow uses a simple token based authentication. You need to generate at least one API token in your {settingsLink} to use the endpoints described below. It is possible to give create, read, update and delete permissions up until table level per token. You can authenticate to the API by providing your API token in the HTTP authorization bearer token header. All API requests must be authenticated and made over HTTPS.",
"settingsLink": "settings"
}
},
"fr": {
"apiDocsAuth":{
"description": "Baserow utilise un système d'authentification simple par jeton. Vous devez générer au moins un jeton d'API dans votre {settingsLink} afin d'utiliser les API suivantes. Il est possible de définir des droits de création, lecture, modification et suppression par table et ce pour chaque jeton. Pour vous authentifier à l'API, fournissez le jeton via l'entête HTTP «\u00A0Authorization\u00A0» de la requête. Tous les appels à l'API doivent être authentifiés et réalisés via le protocole sécurisé HTTPS.",
"settingsLink": "compte"
}
}
}
</i18n>

View file

@ -103,38 +103,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsErrors":{
"errorCode": "Error code",
"name": "Name",
"description": "Description",
"okDescription": "Request completed successfully.",
"badRequestDescription": "The request contains invalid values or the JSON could not be parsed.",
"unauthorizedDescription": "When you try to access an endpoint without valid token.",
"notFoundDescription": "Row or table is not found.",
"requestEntityTooLargeDescription": "The request exceeded the maximum allowed payload size.",
"internalErrorDescription": "The server encountered an unexpected condition.",
"badGatewayDescription": "Baserow is restarting or an unexpected outage is in progress.",
"unavailableDescription": "The server could not process your request in time."
}
},
"fr": {
"apiDocsErrors":{
"errorCode": "Code",
"name": "Nom",
"description": "Description",
"okDescription": "La requête a été executée avec succès.",
"badRequestDescription": "La requête contient des valeurs invalides ou le contenu JSON n'a pas pu être décodé.",
"unauthorizedDescription": "Le jeton d'authentification utilisé est invalide.",
"notFoundDescription": "La ligne ou la table n'a pas été trouvée.",
"requestEntityTooLargeDescription": "La taille du contenu de la requête dépasse la taille maximale autorisée.",
"internalErrorDescription": "Le serveur a rencontré une erreur interne inatendue.",
"badGatewayDescription": "Baserow est en cours de démarrage ou une interruption du service est en cours.",
"unavailableDescription": "Le serveur n'a pas répondu dans les délais impartis."
}
}
}
</i18n>

View file

@ -40,24 +40,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsFilters":{
"filter": "Filter",
"exampleValue": "Example value",
"example": "Full example",
"field": "field {name}"
}
},
"fr": {
"apiDocsFilters":{
"filter": "Filtre",
"exampleValue": "Exemple",
"example": "Exemple complet",
"field": "La valeur {name}"
}
}
}
</i18n>

View file

@ -32,26 +32,3 @@ export default {
props: { database: { type: Object, required: true } },
}
</script>
<i18n>
{
"en": {
"apiDocsIntro":{
"intro": "The {name} database provides an easy way to integrate the data with any external system. The API follows REST semantics, uses JSON to encode objects and relies on standard HTTP codes, machine and human readable errors to signal operation outcomes.",
"autoDocDescription": "This documentation is generated automatically based on the tables and fields that are in your database. If you make changes to your database, table or fields it could be that the API interface has also changed. Therefore, make sure that you update your API implementation accordingly.",
"databaseId":"The ID of this database is:",
"jsClient":"Javascript example API client:",
"pythonClient":"Python example API client:"
}
},
"fr": {
"apiDocsIntro":{
"intro": "L'API de la base {name} offre un moyen simple d'intégrer des données provenant d'un système externe. L'API suit les principes d'architecture REST, utilise le format JSON pour encoder les données, s'appuie sur les codes HTTP standards et propose des messages d'erreurs à la fois techniques mais également lisibles par les humains pour signaler les dysfonctionnements.",
"autoDocDescription": "Cette documentation est générée automatiquement à partir des table et des champs disponibles dans votre basse de données. Si vous effectuez des modifications sur la base, les tables ou bien sur les champs des tables, cela peut également modifier l'API. Par conséquent, assurez-vous de mettre à jour les clients de votre API dans ce cas.",
"databaseId":"Identifiant de la base :",
"jsClient":"Client pour les examples de requêtes en Javascript :",
"pythonClient":"Client pour les examples de requêtes en Python :"
}
}
}
</i18n>

View file

@ -81,20 +81,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsTableCreateRow":{
"description": "Create a new {name} row.",
"before": "If provided then the newly created row will be positioned before the row with the provided id."
}
},
"fr": {
"apiDocsTableCreateRow":{
"description": "Créé une nouvelle ligne pour la table {name}.",
"before": "Si ce paramètre est fourni, la nouvelle ligne sera positionnée avant la ligne portant l'identifiant fourni."
}
}
}
</i18n>

View file

@ -49,20 +49,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsTableDeleteRow":{
"description": "Deletes an existing {name} row.",
"rowId": "The unique identifier of the row that needs to be deleted."
}
},
"fr": {
"apiDocsTableDeleteRow":{
"description": "Supprime une ligne de la table *{name}*.",
"rowId": "L'identifiant unique de la ligne à supprimer."
}
}
}
</i18n>

View file

@ -92,30 +92,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsTableFields":{
"tableTitle": "{name} table",
"tableId": "The ID of this table is:",
"description": "Each row in the {name} table contains the following fields.",
"id": "ID",
"name": "Name",
"type": "Type",
"compatibleFilters": "Compatible filters"
}
},
"fr": {
"apiDocsTableFields":{
"tableTitle": "Table {name}",
"tableId": "L'identifiant de cette table est :",
"description": "Chaque ligne dans la table « {name} » contient les champs décrits ci-dessous.",
"id": "ID",
"name": "Nom",
"type": "Type",
"compatibleFilters": "Filtres compatibles"
}
}
}
</i18n>

View file

@ -63,20 +63,3 @@ export default {
methods: {},
}
</script>
<i18n>
{
"en": {
"apiDocsTableGetRow":{
"description": "Fetch a single {name} row.",
"rowId": "The unique identifier of the row that is requested."
}
},
"fr": {
"apiDocsTableGetRow":{
"description": "Retourne une ligne de la table {name}.",
"rowId": "L'identifiant unique de la ligne demandée."
}
}
}
</i18n>

View file

@ -81,34 +81,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"apiDocsTableListFields":{
"description": "To list fields of the {name} table a `GET` request has to be made to the {name} fields endpoint. It's only possible to list the fields if the token has read, create or update permissions.",
"resultFieldProperties": "Result field properties",
"id": "Field primary key. Can be used to generate the database column name by adding `field_` prefix.",
"name": "Field name.",
"tableId": "Related table id.",
"order": "Field order in table. 0 for the first field.",
"primary": "Indicates if the field is a primary field. If `true` the field cannot be deleted and the value should represent the whole row.",
"type": "Type defined for this field.",
"extraProps": "Some extra properties are not described here because they are type specific."
}
},
"fr": {
"apiDocsTableListFields":{
"description": "Afin de lister les champs de la table {name} une requête de type {get} doit être envoyé auprès du point d'accès des champs de celle-ci. Le jeton d'authentification doit avoir les droits de création, modification et suppression afin de pouvoir lister les champs de la table.",
"resultFieldProperties": "Propriétés des champs de la réponse",
"id": "Clé primaire du champ. Permet de générer le nom de la colonne en base de données en ajoutant le prefix `field_`.",
"name": "Nom du champ.",
"tableId": "Clé étrangère de la table.",
"order": "Ordre du champ dans la table. 0 est le premier champ.",
"primary": "Indique si le champ est une clé primaire. Si la valeur est `true` le champ ne peut être effacé et ses valeurs doivent représenter la ligne entière.",
"type": "Type défini pour ce champ.",
"extraProps": "Certaines propriétés ne sont pas décrites ici car elles sont spécifiques au type de champ concerné."
}
}
}
</i18n>

View file

@ -136,38 +136,3 @@ export default {
methods: {},
}
</script>
<i18n>
{
"en": {
"apiDocsTableListRows": {
"description": "To list rows in the *{name}* table a `GET` request has to be made to the *{name}* endpoint. The response is paginated and by default the first page is returned. The correct page can be fetched by providing the `page` and `size` query parameters.",
"page": "Defines which page of rows should be returned.",
"size": "Defines how many rows should be returned per page.",
"userFieldNames": "When any value is provided for the `user_field_names` GET param then field names returned by this endpoint will be the actual names of the fields.\n\n If the `user_field_names` GET param is not provided, then all returned field names will be `field_` followed by the id of the field. For example `field_1` refers to the field with an id of `1`.\n\n Additionally when `user_field_names` is set then the behaviour of the other GET parameters `order_by`, `include` and `exclude` changes. They instead expect comma separated lists of the actual field names instead.",
"search": "If provided only rows with data that matches the search query are going to be returned.",
"orderBy": "Optionally the rows can be ordered by fields separated by comma. By default or if prepended with a '+' a field is ordered in ascending (A-Z) order, but by prepending the field with a '-' it can be ordered descending (Z-A).\n\n #### With `user_field_names`:\n\n `order_by` should be a comma separated list of the field names to order by. For example if you provide the following GET parameter `order_by=My Field,-My Field 2` the rows will ordered by the field called `My Field` in ascending order. If some fields have the same value, that subset will be ordered by the field called `My Field 2` in descending order.\n\n Ensure fields with names starting with a `+` or `-` are explicitly prepended with another `+` or `-`. E.g `+-Name`.\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ils doivent alors être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n#### Without `user_field_names`:\n\n `order_by` should be a comma separated list of `field_` followed by the id of the field to order by. For example if you provide the following GET parameter `order_by=field_1,-field_2` the rows will ordered by `field_1` in ascending order. If some fields have the same value, that subset will be ordered by `field_2` in descending order.",
"filter": "The rows can optionally be filtered by the same view filters available for the views. Multiple filters can be provided if they follow the same format. The `field` and `filter` variable indicate how to filter and the value indicates where to filter on.\n\n For example if you provide the following GET parameter `filter__field_1__equal=test` then only rows where the value of field_1 is equal to test are going to be returned.",
"filterLink": "A list of all filters can be found here.",
"filterType": "- `AND`: Indicates that the rows must match all the provided filters.\n- `OR`: Indicates that the rows only have to match one of the filters.\n\n This works only if two or more filters are provided.",
"include": "All the fields are included in the response by default. You can select a subset of fields to include by providing the include query parameter.\n\n #### With `user_field_names`:\n\n `include` should be a comma separated list of field names to be included in results. For example if you provide the following GET param: `include=My Field,-My Field 2` then only those fields will be included (unless they are explicitly excluded).\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ils doivent alors être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n #### Without `user_field_names`:\n\n `include` should be a comma separated list of `field_` followed by the id of the field to include in the results. For example: If you provide the following GET parameter `exclude=field_1,field_2` then the fields with id `1` and id `2` then only those fields will be included (unless they are explicitly excluded).",
"exclude": "All the fields are included in the response by default. You can select a subset of fields to exclude by providing the exclude query parameter.\n\n #### With `user_field_names`:\n\n `exclude` should be a comma separated list of field names to be excluded from the results. For example if you provide the following GET param: `exclude=My Field,-My Field 2` then those fields will be excluded.\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ils doivent alors être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n #### Without `user_field_names`:\n\n `exclude` should be a comma separated list of `field_` followed by the id of the field to exclude from the results. For example: If you provide the following GET parameter `exclude=field_1,field_2` then the fields with id `1` and id `2` will be excluded."
}
},
"fr": {
"apiDocsTableListRows": {
"description": "Afin de lister les lignes de la table *{name}* une requête de type `GET` doit être envoyée au point d'accès de la table *{name}*. La réponse est paginée et par défault la première page est retournée. La page désirée peut-être récupérée en définissant les paramètres de requête `page` et `size`.",
"page": "Permet de choisir la page.",
"size": "Permet de définir le nombre de ligne par page.",
"userFieldNames": "Quand une valeur est fournie pour le paramètre GET `user_field_names`, les noms des champs du résultat seront ceux définis par l'utilisateur.\n\n Si le paramêtre `user_field_names` n'est pas défini, alors les noms des champs seront `field_` suivis par l'identifiant du champ. Par exemple `field_1` fait référence au champ avec l'identifiant `1`.\n\n De plus, quand `user_field_names` est défini, vous devez également fournir les noms définis par l'utilisateur pour les paramètres `order_by`, `include` et `exclude`.",
"search": "Quand ce paramètre est défini, seules les lignes qui satisfont la recherche seront retournées.",
"orderBy": "Ce paramètre permet d'ordonner les lignes du résultat à l'aide d'une liste de champs séparés par une virgule. Par défaut ou s'il est préfixé par un `+` un champ est ordonné par ordre croissant (A-Z), en le préfixant par un `-` il sera ordonné par ordre décroissant (Z-A).\n\n #### Avec `user_field_names` :\n\n `order_by` doit être une liste de noms définis par l'utilisateur des champs sur lesquels s'appuient l'ordre séparés par des virgules. Par exemple si vous fournissez la valeur suivante `order_by=Mon champ,-Mon champ 2` les lignes seront ordonnées par le champ appelé `Mon champ` par ordre croissant. Si certaines lignes ont la même valeur pour `Mon champ` ce sous ensemble sera ordonné par la valeur du champ `Mon champ 2` par ordre décroissant.\n\n Assurez vous que les champs qui commencent par un `+` ou un `-` soit explicitement préfixés par un autre `+` ou `-`. Ex : `+-Nom`.\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ceux-ci doivent être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n #### Sans `user_field_names` :\n\n `order_by` doit être une liste de `field_` suivi par l'identifiant du champ à ordonner, séparés par des virgules. Par exemple si vous fournissez la valeur suivante pour ce paramètre `order_by=field_1,-field_2` les lignes seront ordonnées par le champ `field_1` par ordre croissant. Si certaines lignes ont la même valeur pour ce champ, ce sous ensemble sera ordonné par la valeur du champ `field_2` par ordre décroissant.",
"filter": "Ce paramètre permet de filtrer les lignes avec les même filtres que ceux disponibles dans les vues. Plusieurs filtres peuvent être définis simultanéement s'il suivent le même format. La variable `field` permet d'indiquer le champ à filtrer, tandis que `filter` permet de choiser le type de filtre.\n\n Par exemple si vous utilisez la valeur suivante : `filter__field_1__equal=test`, seule les lignes pour lesquelles la valeur du champ `field_1` est égale à *test* seront retournées.",
"filterLink": "Une liste des filtres disponibles peut être consultée ici.",
"filterType": "- `AND` : indique que les lignes doivent satisfaire tous les filtres définis.\n- `OR` : indique que les lignes doivent satisfaire au moins l'un des filtres définis pour être retournées.\n\n Cela fonctionne uniquement quand au moins 2 filtres sont définis.",
"include": "Par défaut, tous les champs de la table sont retournés. Vous pouvez définir le sous ensemble des champs qui seront dans les résultats en fournissant une valeur pour ce paramètre.\n\n #### Avec `user_field_names` :\n\n `include` doit être une liste des noms définis par l'utilisateur des champs que vous souhaitez conserver, séparés par une virgule. Par exemple, si vous fournissez la valeur suivante `include=Mon champ,-Mon champ 2` alors seul ces champs seront retournés dans les résultats (sauf si vous les avez explicitement exclus avec le paramètre suivant).\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ceux-ci doivent être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n #### Sans `user_field_names` :\n\n `include` doit être une liste de `field_` suivis par l'identifiant d'un champ à inclure dans le résultat, séparé par des virgules. Par exemple, si vous fournissez la valeur suivante `exclude=field_1,field_2` alors les champs d'identifiant `1` et `2` seront les champs champs présents dans le résultat (sauf si vous les avez explicitement exclus avec le paramètre suivant).",
"exclude": "Par défaut, tous les champs de la table sont retournés dans les résultats. Vous pouvez choisir un sous ensemble de champs qui seront exclus des résultats en définissant une valeur pour ce paramètre.\n\n #### Avec `user_field_names`:\n\n `exclude` doit être une liste des noms définis par l'utilisateur des champs que vous souhaitez exclure, séparés par une virgule. Par exemple, si vous fournissez la valeur suivante : `exclude=Mon champ,-Mon champ 2` alors ces deux champs seront exclus des résultats.\n\n Le nom des champs contenant des virgules doit être entouré par des guillements : `\"Nom ,\"`. Si le nom des champs contient des guillements, ceux-ci doivent être protégés en utilisant le charactère `\\`. Ex : `Nom \\\"`.\n\n #### Sans `user_field_names`:\n\n `exclude` doit être une liste de `field_` suivis par l'identifiant d'un champ à exclure du résultat, séparé par des virgules. Par example, si vous fournissez la valeur suivante : `exclude=field_1,field_2` alors les champs avec l'identifiant `1` et `2` seront exclus."
}
}
}
</i18n>

View file

@ -71,22 +71,3 @@ export default {
methods: {},
}
</script>
<i18n>
{
"en": {
"apiDocsTableMoveRow": {
"description": "Moves an existing {name} row before another row. If no `before_id` is provided, then the row will be moved to the end of the table.",
"rowId": "Moves the row related to the value.",
"before": "Moves the row related to the given `row_id` before the row related to the provided value. If not provided, then the row will be moved to the end."
}
},
"fr": {
"apiDocsTableMoveRow": {
"description": "Déplace une ligne existante de la table *{name}* avant une autre ligne. Si le paramètre `before_id` n'est pas fourni, la ligne est déplacée à la fin de la table.",
"rowId": "Identifiant unique de la ligne à déplacer.",
"before": "Permet de définir l'identifiant de la ligne avant laquelle la ligne choisie doit être déplacée. Si aucune valeur n'est fournie, la ligne est déplacée à la fin de la table."
}
}
}
</i18n>

View file

@ -84,22 +84,3 @@ export default {
methods: {},
}
</script>
<i18n>
{
"en": {
"apiDocsTableUpdateRow": {
"description": "Updates an existing {name} row.",
"rowId": "The unique identifier of the row that needs to be updated.",
"before": "If provided then the newly created row will be positioned before the row with the provided id."
}
},
"fr": {
"apiDocsTableUpdateRow": {
"description": "Modifie une ligne existante de la table {name}.",
"rowId": "L'identifiant unique de la ligne à modifier.",
"before": "Si un identifiant de ligne est fourni, la ligne sera placée avant la ligne portant cet identifiant."
}
}
}
</i18n>

View file

@ -50,18 +50,3 @@ export default {
},
}
</script>
<i18n>
{
"en": {
"exportTableDropdown": {
"exportEntireTable": "Export entire table"
}
},
"fr": {
"exportTableDropdown": {
"exportEntireTable": "Exporter la table entière"
}
}
}
</i18n>

Some files were not shown because too many files have changed in this diff Show more