fix user locale handling (#190)

* fix some french translations
add more translations
fix langage preference setup

* handle i18n for delete space or folder

* fix content layout for help text
pull/204/head
Romuald 2021-05-18 17:12:15 +02:00 committed by GitHub
parent 3dd0fce139
commit 601211e294
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 73 additions and 57 deletions

View File

@ -19,6 +19,7 @@
"logout": "Log out", "logout": "Log out",
"email": "Email Address", "email": "Email Address",
"password": "Password", "password": "Password",
"forgot_password": "Forgot Password",
"width": "Width", "width": "Width",
"height": "Height", "height": "Height",
"nick": "Name", "nick": "Name",
@ -324,5 +325,8 @@
"follow_present_help": "If someone else is presenting this Space, the other members automatically follow the presentation. Switch following on or off with this button.", "follow_present_help": "If someone else is presenting this Space, the other members automatically follow the presentation. Switch following on or off with this button.",
"export": "Export", "export": "Export",
"media": "Media", "media": "Media",
"tool_edit_text": "Edit Text" "tool_edit_text": "Edit Text",
"tool_space_help_part_one": "Use the toolbar to add content.",
"tool_space_help_part_two": "You can also drop images or sound and video files.",
"tool_delete_space": "Really delete \"%s\"?"
} }

View File

@ -20,6 +20,7 @@
"logout": "Se déconnecter", "logout": "Se déconnecter",
"email": "Adresse email", "email": "Adresse email",
"password": "Mot de passe", "password": "Mot de passe",
"forgot_password": "Mot de passe oublié",
"width": "Largeur", "width": "Largeur",
"height": "Hauteur", "height": "Hauteur",
"nick": "Nom", "nick": "Nom",
@ -39,9 +40,9 @@
"space": "Espace", "space": "Espace",
"second": "Seconde", "second": "Seconde",
"not_found": "Pas trouvé.", "not_found": "Pas trouvé.",
"untitled": "sans titre",
"untitled_space": "Espace sans titre", "untitled_space": "Espace sans titre",
"untitled_folder": "Dossier sans titre", "untitled_folder": "Dossier sans titre",
"untitled": "sans titre",
"sure": "Êtes-vous sûr ?", "sure": "Êtes-vous sûr ?",
"specify": "Veuillez préciser :", "specify": "Veuillez préciser :",
"confirm": "Veuillez confirmer", "confirm": "Veuillez confirmer",
@ -49,7 +50,7 @@
"error_unknown_email": "Combinaison inconnue de l'email et mot de passe.", "error_unknown_email": "Combinaison inconnue de l'email et mot de passe.",
"error_password_confirmation": "Les deux mots de passe ne correspondent pas.", "error_password_confirmation": "Les deux mots de passe ne correspondent pas.",
"error_domain_blocked": "Ce domaine a été désactivé.", "error_domain_blocked": "Ce domaine a été désactivé.",
"error_user_email_already_used": "Cette adresse email est déjà enregistré.", "error_user_email_already_used": "Cette adresse email est déjà enregistrée.",
"support": "Aide Spacedeck", "support": "Aide Spacedeck",
"offline": "Désolé, mais les serveurs Spacedeck ne peuvent pas être atteint pour le moment. Plus d' informations ici.", "offline": "Désolé, mais les serveurs Spacedeck ne peuvent pas être atteint pour le moment. Plus d' informations ici.",
"error": "Désolé, une erreur s'est produite. Veuillez contacter support@spacedeck.com", "error": "Désolé, une erreur s'est produite. Veuillez contacter support@spacedeck.com",
@ -57,12 +58,12 @@
"claim": "Le tableau blanc partagé pour tout le monde", "claim": "Le tableau blanc partagé pour tout le monde",
"trynow": "Essayez-le gratuitement", "trynow": "Essayez-le gratuitement",
"about": "de nous", "about": "de nous",
"terms": "termes", "terms": "Termes",
"contact": "contact", "contact": "Contact",
"privacy": "sphère privée", "privacy": "Sphère privée",
"business_adress": "Siège social", "business_adress": "Siège social",
"post_adress": "Adresse courrier", "post_adress": "Adresse courrier",
"phone": "téléphone", "phone": "Téléphone",
"ceo": "Gestionnaire", "ceo": "Gestionnaire",
"name": "name", "name": "name",
"confirm_subject": "Confirmation de l'email Spacedeck", "confirm_subject": "Confirmation de l'email Spacedeck",
@ -75,11 +76,10 @@
"team_invite_membership_acction": "Accept", "team_invite_membership_acction": "Accept",
"team_new_member_subject": "New Team Member", "team_new_member_subject": "New Team Member",
"team_new_member_body": "%s just joined Team %s on Spacedeck.", "team_new_member_body": "%s just joined Team %s on Spacedeck.",
"invite_emails": "Entrer les adresses email (séparées pas des virgules)",
"optional_message": "Message personnel (facultatif)", "optional_message": "Message personnel (facultatif)",
"space_invite_membership_subject": "Invitation Espace par %s: %s", "space_invite_membership_subject": "Invitation Espace par %s: %s",
"space_invite_membership_body": "Vous avez été invité par %s à Espace \"%s\"", "space_invite_membership_body": "Vous avez été invité par %s à Espace \"%s\"",
"space_invite_membership_action": "Accepter L'invitation", "space_invite_membership_action": "Accepter l'invitation",
"folder_invite_membership_subject": "Space", "folder_invite_membership_subject": "Space",
"folder_invite_membership_body": "You have been invited to a Team on Spacedeck. Please click on the following link to accept the invitation.", "folder_invite_membership_body": "You have been invited to a Team on Spacedeck. Please click on the following link to accept the invitation.",
"folder_invite_membership_acction": "Accept", "folder_invite_membership_acction": "Accept",
@ -99,7 +99,7 @@
"edit_team": "Modifier l'équipe", "edit_team": "Modifier l'équipe",
"edit_account": "Modifier le compte", "edit_account": "Modifier le compte",
"log_out": "Déconnecter", "log_out": "Déconnecter",
"no_spaces_yet": "Vous ne avez pas encore créé d'espaces.", "no_spaces_yet": "Vous n'avez pas encore créé d'espace.",
"new_folder_title": "Nouveau titre pour le dossier", "new_folder_title": "Nouveau titre pour le dossier",
"folder_settings": "Paramètres du dossier", "folder_settings": "Paramètres du dossier",
"upload_cover_image": "Charger image de couverture", "upload_cover_image": "Charger image de couverture",
@ -109,10 +109,10 @@
"spacedeck_pro_ad_zip": "Avec Spacedeck Pro, vous pouvez exporter le contenu d'un espace comme un paquet ZIP. Voulez-vous en savoir plus sur les fonctionnalités Pro?", "spacedeck_pro_ad_zip": "Avec Spacedeck Pro, vous pouvez exporter le contenu d'un espace comme un paquet ZIP. Voulez-vous en savoir plus sur les fonctionnalités Pro?",
"spacedeck_pro_ad_colors": "Avec Spacedeck Pro, vous pouvez mélanger vos propres couleurs en utilisant un sélecteur de couleur professionnelle.", "spacedeck_pro_ad_colors": "Avec Spacedeck Pro, vous pouvez mélanger vos propres couleurs en utilisant un sélecteur de couleur professionnelle.",
"profile_caption": "Profil", "profile_caption": "Profil",
"upload_avatar": "Télécharger l'image profil", "upload_avatar": "Télécharger l'image de profil",
"uploading_avatar": "L'image de profil est téléchargée…", "uploading_avatar": "L'image de profil est téléchargée…",
"avatar_dimensions": "Format suggéré: 200×200 pixels.", "avatar_dimensions": "Format suggéré: 200×200 pixels.",
"profile_name": "Name", "profile_name": "Nom",
"profile_email": "Email", "profile_email": "Email",
"send_again": "Renvoyer", "send_again": "Renvoyer",
"confirmation_sent_long": "Lien de confirmation email envoyé. Se il vous plaît vérifier votre courrier.", "confirmation_sent_long": "Lien de confirmation email envoyé. Se il vous plaît vérifier votre courrier.",
@ -126,7 +126,7 @@
"password_caption": "Mot de passe", "password_caption": "Mot de passe",
"current_password": "Ancien mot de passe", "current_password": "Ancien mot de passe",
"new_password": "Nouveau mot de passe", "new_password": "Nouveau mot de passe",
"verify_password": "Répéter mot de passe", "verify_password": "Répéter le mot de passe",
"change_password": "Enregistrer", "change_password": "Enregistrer",
"reset_password": "Mot de passe oublié ?", "reset_password": "Mot de passe oublié ?",
"terminate_caption": "Supprimer le compte", "terminate_caption": "Supprimer le compte",
@ -208,7 +208,7 @@
"picker": "Mélange", "picker": "Mélange",
"background_image_caption": "Image", "background_image_caption": "Image",
"background_color_caption": "Couleur", "background_color_caption": "Couleur",
"upload_background_caption": "Cliquez ici pour télécharger une image de fond.", "upload_background_caption": "Cliquer ici pour télécharger une image de fond.",
"upload_background": "Télécharger", "upload_background": "Télécharger",
"access_caption": "Accès", "access_caption": "Accès",
"versions_caption": "Versions", "versions_caption": "Versions",
@ -222,7 +222,7 @@
"role_editor": "Éditeur", "role_editor": "Éditeur",
"role_admin": "Administrateur", "role_admin": "Administrateur",
"new_space_title": "Nouveau titre pour l'espace", "new_space_title": "Nouveau titre pour l'espace",
"invitee_email_address": "Adresse e-mail de invitee", "invitee_email_address": "Adresse e-mail de l'invité",
"viewer": "Spectateur", "viewer": "Spectateur",
"editor": "Éditeur", "editor": "Éditeur",
"admin": "Administrateur", "admin": "Administrateur",
@ -237,7 +237,8 @@
"logging_in": "Connexion", "logging_in": "Connexion",
"password_confirmation": "Confirmation du mot de passe", "password_confirmation": "Confirmation du mot de passe",
"confirm_again": "Veuillez consulter votre boîte pour confirmer votre email.", "confirm_again": "Veuillez consulter votre boîte pour confirmer votre email.",
"confirmed": "Adresse email confirmée avec succès. merci!", "confirmed": "Adresse email confirmée avec succès. Merci !",
"signing_up": "Signing Up",
"password_check_inbox": "password_check_inbox", "password_check_inbox": "password_check_inbox",
"what_is_your_name": "Bonjour ! Choisir un nom d'utilisateur s'il vous plaît.", "what_is_your_name": "Bonjour ! Choisir un nom d'utilisateur s'il vous plaît.",
"landing_title": "Le tableau blanc partagé pour tout le monde.", "landing_title": "Le tableau blanc partagé pour tout le monde.",
@ -271,16 +272,16 @@
"landing_pricing_pro_features": "Avec toute la puissance que vous attendez.", "landing_pricing_pro_features": "Avec toute la puissance que vous attendez.",
"welcome_subject": "Bienvenue sur Spacedeck", "welcome_subject": "Bienvenue sur Spacedeck",
"welcome_body": "Merci pour votre inscription à Spacedeck.\nNous espérons que vous aurez plaisir à travailler dans les Espaces. <br> Rappelez-vous que votre compte comprend un nombre illimité de collaborateurs. <br> N''hésitez pas à partager vos espaces avec des amis et collègues du monde entier.", "welcome_body": "Merci pour votre inscription à Spacedeck.\nNous espérons que vous aurez plaisir à travailler dans les Espaces. <br> Rappelez-vous que votre compte comprend un nombre illimité de collaborateurs. <br> N''hésitez pas à partager vos espaces avec des amis et collègues du monde entier.",
"invite_emails": "Entrer les adresses email (séparées pas des virgules)",
"history_recently_updated": "Nouvelles",
"history_recently_empty": "Rien ne se passe",
"parent_folder": "Dossier origine", "parent_folder": "Dossier origine",
"created_by": "Créé par", "created_by": "Créé par",
"last_updated": "Mis à jour", "last_updated": "Mis à jour",
"history_recently_updated": "Nouvelles",
"history_recently_empty": "Rien ne se passe",
"signing_up": "Signing Up",
"feedback_sent": "Merci pour votre commentaire !", "feedback_sent": "Merci pour votre commentaire !",
"role_member": "role_member",
"space_message_subject": "A posté sur %s", "space_message_subject": "A posté sur %s",
"space_message_body": "%s a commenté dans %s:\n", "space_message_body": "%s a commenté dans %s:\n",
"role_member": "role_member",
"password_reset_subject": "Réinitialiser le Mot de passe pour Spacedeck", "password_reset_subject": "Réinitialiser le Mot de passe pour Spacedeck",
"password_reset_body": "Salut !<br><br>Vous avez demandé la réinitialisation de votre Mot de passe.<br>Veuillez cliquer sur le lien suivant pour définir un nouveau Mot de passe.<br>", "password_reset_body": "Salut !<br><br>Vous avez demandé la réinitialisation de votre Mot de passe.<br>Veuillez cliquer sur le lien suivant pour définir un nouveau Mot de passe.<br>",
"password_reset_action": "Définir un nouveau Mot de passe", "password_reset_action": "Définir un nouveau Mot de passe",
@ -301,21 +302,26 @@
"goto_space": "Aller à l'espace %s", "goto_space": "Aller à l'espace %s",
"goto_folder": "Aller au dossier %s", "goto_folder": "Aller au dossier %s",
"stay_here": "Reste ici", "stay_here": "Reste ici",
"download_space": "télécharger un espace", "sharing": "Partager",
"download_as_pdf": "télécharger un espace comme PDF", "list": "Exporter la liste",
"link": "Link",
"download_space": "Télécharger un espace",
"download_as_pdf": "Télécharger un espace comme PDF",
"type": "Type", "type": "Type",
"download": "Télécharger",
"Previous Zone": "Zone précédent", "Previous Zone": "Zone précédent",
"Next Zone": "Zone suivante", "Next Zone": "Zone suivante",
"list": "liste", "promote": "Promouvoir",
"promote": "promouvoir", "demote": "Rétrograder",
"demote": "rétrograder", "lock": "Bloquer",
"lock": "bloquer", "unlock": "Déverrouiller",
"unlock": "déverrouillage",
"link": "link",
"download": "download",
"more": "plus", "more": "plus",
"follow_present": "Suivre", "follow_present": "Suivre",
"mute_present": "Pas suivre", "mute_present": "Pas suivre",
"follow_present_help": "follow_present_help", "follow_present_help": "follow_present_help",
"media": "Media" "media": "Media",
"tool_edit_text": "Modifier le texte",
"tool_space_help_part_one": "Utilisez la barre d'outil pour ajouter des éléments.",
"tool_space_help_part_two": "Vous pouvez également déposer des fichiers images, son ou video.",
"tool_delete_space": "Confirmez-vous la suppression de \"%s\" ?"
} }

View File

@ -487,7 +487,7 @@ var SpacedeckSpaces = {
}, },
delete_space: function(space) { delete_space: function(space) {
smoke.confirm("Really delete "+space.name+"?", function(confirmed) { smoke.confirm(__("tool_delete_space", space.name), function(confirmed) {
if (!confirmed) return; if (!confirmed) return;
var idx = this.active_folder.children.indexOf(space); var idx = this.active_folder.children.indexOf(space);
@ -502,7 +502,7 @@ var SpacedeckSpaces = {
this.active_folder.children.splice(idx,1); this.active_folder.children.splice(idx,1);
}.bind(this)); }.bind(this));
}.bind(this)); }.bind(this), {ok: __("ok"), cancel: __("cancel")});
}, },
duplicate_space: function(space) { duplicate_space: function(space) {
@ -528,7 +528,7 @@ var SpacedeckSpaces = {
space.name = title; space.name = title;
save_space(space); save_space(space);
} }
}.bind(this), {value: space.name}); }.bind(this), {value: space.name, ok: __("ok"), cancel: __("cancel")});
}, },
rename_folder: function(folder) { rename_folder: function(folder) {
@ -539,7 +539,7 @@ var SpacedeckSpaces = {
folder.name = title; folder.name = title;
save_space(folder); save_space(folder);
} }
}.bind(this), {value: folder.name}); }.bind(this), {value: folder.name, ok: __("ok"), cancel: __("cancel")});
}, },
edit_space_title: function() { edit_space_title: function() {

View File

@ -121,11 +121,17 @@ function boot_spacedeck() {
var lang = "en"; var lang = "en";
window.refreshLocale = function() { window.refreshLocale = function() {
if (spacedeck && spacedeck.user && spacedeck.user.preferences) { var old_lang = lang;
lang = spacedeck.user.preferences.language || "en"; if (spacedeck && spacedeck.user && spacedeck.user.prefs_language) {
lang = spacedeck.user.prefs_language || "en";
} else if (window.browser_lang) { } else if (window.browser_lang) {
lang = window.browser_lang; lang = window.browser_lang;
} }
if (lang != old_lang) {
i18n.init({ lng: lang, resStore: window.locales }, function(err, t) {
console.log("i18n initialized: "+lang);
});
}
} }
window.refreshLocale(); window.refreshLocale();

View File

@ -3,7 +3,7 @@
<a class="btn btn-dark btn-md btn-round btn-icon" href="/spaces"> <a class="btn btn-dark btn-md btn-round btn-icon" href="/spaces">
<span class="icon icon-svg icon-sd6"></span> <span class="icon icon-svg icon-sd6"></span>
</a> </a>
<h5>Edit Account</h5> <h5><%=__('edit_account')%></h5>
</div> </div>
<div class="header-right pull-right"> <div class="header-right pull-right">
@ -86,7 +86,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<button class="btn btn-md btn-dark" v-on:click="save_user()">Save</button> <button class="btn btn-md btn-dark" v-on:click="save_user()"><%=__('save')%></button>
</div> </div>
</div> </div>
</div> </div>
@ -158,7 +158,7 @@
</div> </div>
<div class="collapse" v-bind:class="{in:account=='terminate'}"> <div class="collapse" v-bind:class="{in:account=='terminate'}">
<h4>Terminate Account</h4> <h4><%=__('terminate_caption')%></h4>
<div class="modal-section labels-inline"> <div class="modal-section labels-inline">
<div class="form-group"> <div class="form-group">
<label class="label"><%=__("current_password")%></label> <label class="label"><%=__("current_password")%></label>
@ -177,7 +177,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-stroke-darken btn-md" v-on:click="remove_account(account_remove_password, account_remove_feedback)">Terminate Account</button> <button class="btn btn-stroke-darken btn-md" v-on:click="remove_account(account_remove_password, account_remove_feedback)"><%=__('terminate_caption')%></button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -36,7 +36,7 @@
<div class="center alert alert-danger" v-if="login_error">{{login_error}}</div> <div class="center alert alert-danger" v-if="login_error">{{login_error}}</div>
<div style="margin-top:2em"> <div style="margin-top:2em">
<a href="/password-reset">Forgot Password</a> <a href="/password-reset"><%= __("forgot_password") %></a>
</div> </div>
</form> </form>
</div> </div>

View File

@ -43,8 +43,8 @@
<div class="space-empty" v-cloak v-if="active_view == 'space' && !present_mode && active_space_artifacts.length == 0"> <div class="space-empty" v-cloak v-if="active_view == 'space' && !present_mode && active_space_artifacts.length == 0">
<div class="table-fake"> <div class="table-fake">
<div class="cell"> <div class="cell">
<p>Use the toolbar to add content.<br> <p><%= __('tool_space_help_part_one')%><br>
You can also drop images or sound and video files.</p> <%= __('tool_space_help_part_two')%></p>
</div> </div>
</div> </div>
</div> </div>