diff --git a/services/web/app/views/subscriptions/_modal_group_upgrade.pug b/services/web/app/views/subscriptions/_modal_group_upgrade.pug index eea4f75873..35a6ed98e8 100644 --- a/services/web/app/views/subscriptions/_modal_group_upgrade.pug +++ b/services/web/app/views/subscriptions/_modal_group_upgrade.pug @@ -1,7 +1,7 @@ script(type="text/ng-template", id="groupPlanModalUpgradeTemplate") .modal-header h2 Customize your group subscription - h3 Save 30% or more + h3 #{translate("save_30_percent_or_more_uppercase")} .modal-body.plans.group-subscription-modal .container-fluid .row @@ -29,7 +29,7 @@ script(type="text/ng-template", id="groupPlanModalUpgradeTemplate") span {{plan_code.display}} .form-group label(for='size') - | Number of users + | #{translate('number_of_users')} select.form-control(id="size", ng-model="selected.size") option(ng-repeat="size in options.sizes", value="{{size}}") {{ size }} .form-group diff --git a/services/web/app/views/subscriptions/plans-marketing/_group_plan_modal.pug b/services/web/app/views/subscriptions/plans-marketing/_group_plan_modal.pug index 2031fe26a3..b57c7f925d 100644 --- a/services/web/app/views/subscriptions/plans-marketing/_group_plan_modal.pug +++ b/services/web/app/views/subscriptions/plans-marketing/_group_plan_modal.pug @@ -13,7 +13,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal) ) span(aria-hidden="true") × h2 Customize your group subscription - h3 Save 30% or more + h3 #{translate("save_30_percent_or_more_uppercase")} .modal-body.plans.group-subscription-modal .container-fluid .row @@ -54,7 +54,7 @@ div.modal.fade(tabindex="-1" role="dialog" data-ol-group-plan-modal) span #{plan_code.display} .form-group label(for='size') - | Number of users + | #{translate('number_of_users')} select.form-control( id="size" event-tracking="groups-modal-group-size" diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_cards_controls_tables.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_cards_controls_tables.pug index b1f108103d..79e458bba2 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_cards_controls_tables.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_cards_controls_tables.pug @@ -22,7 +22,7 @@ include ./_mixins href="#" ) span #{translate("group_plans")} - span (save 30% or more) + span (#{translate("save_30_percent_or_more")}) li.plans-v2-top-switch-student( data-ol-plans-v2-view-tab='student' event-tracking="plans-page-toggle-plan" diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_mixins.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_mixins.pug index aa8108480f..82dc55c408 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_mixins.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/v2/_mixins.pug @@ -321,9 +321,9 @@ mixin table_head_price(plan, period) +gen_localized_price_for_plan_view(plan, period) p.plans-v2-table-price-period-label if period == 'annual' - | per year + | #{translate("per_year")} else - | per month + | #{translate("per_month")} mixin table_cell(feature, plan) - var planValue = feature.plans[plan] diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_cards_controls_tables.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_cards_controls_tables.pug index b1f108103d..79e458bba2 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_cards_controls_tables.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_cards_controls_tables.pug @@ -22,7 +22,7 @@ include ./_mixins href="#" ) span #{translate("group_plans")} - span (save 30% or more) + span (#{translate("save_30_percent_or_more")}) li.plans-v2-top-switch-student( data-ol-plans-v2-view-tab='student' event-tracking="plans-page-toggle-plan" diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_mixins.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_mixins.pug index 38e51f9298..31c12302cb 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_mixins.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/v2/_mixins.pug @@ -308,9 +308,9 @@ mixin table_head_price(plan, period) +gen_localized_price_for_plan_view(plan, period) p.plans-v2-table-price-period-label if period == 'annual' - | per year + | #{translate("per_year")} else - | per month + | #{translate("per_month")} mixin table_cell(feature, plan) - var planValue = feature.plans[plan] diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 3de0be487e..48e98c5650 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -1124,6 +1124,8 @@ "pdf_viewer_error": "There was a problem displaying the PDF for this project.", "pending": "Pending", "pending_additional_licenses": "Your subscription is changing to include <0>__pendingAdditionalLicenses__ additional license(s) for a total of <1>__pendingTotalLicenses__ licenses.", + "per_month": "per month", + "per_year": "per year", "percent_discount_for_groups": "__appName__ offers a __percent__% educational discount for groups of __size__ or more.", "personal": "Personal", "personalized_onboarding": "Personalized onboarding", @@ -1334,6 +1336,8 @@ "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", "save": "Save", "save_20_percent_by_paying_annually": "Save 20% by paying annually", + "save_30_percent_or_more": "save 30% or more", + "save_30_percent_or_more_uppercase": "Save 30% or more", "save_or_cancel-cancel": "Cancel", "save_or_cancel-or": "or", "save_or_cancel-save": "Save", diff --git a/services/web/locales/fr.json b/services/web/locales/fr.json index ba43929b6a..fbfb590d43 100644 --- a/services/web/locales/fr.json +++ b/services/web/locales/fr.json @@ -159,6 +159,7 @@ "checking": "Vérification", "checking_dropbox_status": "Vérification de l’état de Dropbox", "checking_project_github_status": "Vérification de l’état du projet dans GitHub", + "choose_a_custom_color": "Choisir une couleur personnalisée", "choose_your_plan": "Choisir votre offre", "city": "Ville", "clear_cached_files": "Nettoyer le cache des fichiers", @@ -194,6 +195,7 @@ "compile_mode": "Mode de compilation", "compile_terminated_by_user": "La compilation a été annulée avec le bouton « Arrêter la compilation ». Vous pouvez télécharger les fichiers journaux pour voir où la compilation s’est arrêtée.", "compile_timeout": "Limite de temps de compilation (en minutes)", + "compile_timeout_short": "Limite de temps de compilation", "compiler": "Compilateur", "compiling": "Compilation en cours", "complete": "Compléter", @@ -223,6 +225,7 @@ "create_new_account": "Créer un nouveau compte", "create_new_folder": "Créer un nouveau dossier", "create_new_subscription": "Créer un nouvel abonnement", + "create_new_tag": "Créer un nouveau label", "create_project_in_github": "Créer un dépôt GitHub", "creating": "Création en cours", "credit_card": "Carte bleue", @@ -328,6 +331,7 @@ "fast": "Rapide", "featured_latex_templates": "Modèles LaTeX mis en avant", "features": "Caractéristiques", + "features_and_benefits": "Fonctionnalités & Avantages", "february": "Février", "file_action_created": "Création de", "file_action_deleted": "Suppression de", @@ -355,7 +359,17 @@ "font_family": "Police", "font_size": "Taille de la police", "for_american_express": "Pour <0>American Express, les <1>4 chiffres sur le <1>recto de votre carte.", + "for_enterprise": "Pour l’entreprise", + "for_enterprises": "Pour les entreprises", + "for_groups": "Pour les groupes", + "for_individuals_and_groups": "Pour les particuliers et groupes", + "for_publishers": "Pour les éditeurs", + "for_students": "Pour les étudiants", + "for_students_only": "Pour les étudiants uniquement", + "for_teaching": "Pour l’enseignement", + "for_universities": "Pour les universités", "for_visa_mastercard_and_discover": "Pour <0>Visa, MasterCard ou Discover, les <1>3 chiffres sur le <2>verso de votre carte.", + "for_writing": "Pour les auteurs", "forgot_your_password": "Mot de passe oublié ", "fr": "Français", "free": "Gratuit", @@ -376,6 +390,7 @@ "get_started_now": "Commencer maintenant", "git": "Git", "git_bridge_modal_description": "Vous pouvez effectuer un git clone de votre projet en utilisant le lien ci-dessous.", + "git_integration_lowercase": "Intégration avec Git", "github_commit_message_placeholder": "Message de commit pour les changements effectués dans __appName__…", "github_credentials_expired": "Vos identifiants GitHub ont expiré", "github_file_name_error": "Votre projet contient un ou plusieurs fichiers avec un nom invalide. Veuillez vérifier votre dépôt puis réessayer.", @@ -387,6 +402,7 @@ "github_large_files_error": "Échec de fusion : votre dépôt GitHub contient des fichiers dépassant la taille limite de 50 Mo ", "github_merge_failed": "Impossible de fusionner automatiquement vos changements dans __appName__ et GitHub. Veuillez fusionner manuellement la branche <0>__sharelatex_branch__ dans la branche <1>__master_branch__ dans Git. Cliquez ci-dessous pour continuer, après avoir fusionné manuellement.", "github_no_master_branch_error": "Ce dépôt ne peut pas être importé car il n’a pas de branche master. Veuillez vous assurer qu’une branche master existe dans le projet.", + "github_only_integration_lowercase": "Intégration avec GitHub", "github_private_description": "Vous choisissez qui peut voir et commiter dans ce dépôt.", "github_public_description": "Tout le monde peut voir ce dépôt. Vous choisissez qui peut commiter.", "github_repository_diverged": "La branche master du dépôt lié a été poussée de force. La récupération des modifications faites sur GitHub après un poussage forcé peut causer la désynchronisation d’Overleaf et GitHub. Vous pourriez avoir besoin de pousser les modifications après leur récupération pour restaurer la synchronisation.", @@ -603,13 +619,15 @@ "mark_as_resolved": "Marquer comme résolu", "math_display": "Formules centrées", "math_inline": "Formules en ligne", + "max_collab_per_project": "Collaborateurs max. par projet", "maximum_files_uploaded_together": "__max__ fichiers téléversés simultanément. Valeur maximale atteinte.", "may": "Mai", "members_management": "Gestion des membres", "mendeley": "Mendeley", "mendeley_groups_loading_error": "Le chargement des groupes Mendeley a échoué", - "mendeley_integration": "Intégration Mendeley", - "mendeley_is_premium": "L’intégration Mendeley est une fonctionnalité premium", + "mendeley_integration": "Intégration avec Mendeley", + "mendeley_integration_lowercase": "Intégration avec Mendeley", + "mendeley_is_premium": "L’intégration avec Mendeley est une fonctionnalité premium", "mendeley_reference_loading_error": "Erreur, impossible de charger les références depuis Mendeley", "mendeley_reference_loading_error_expired": "Le jeton Mendeley est expiré, veuillez lier à nouveau votre compte", "mendeley_reference_loading_error_forbidden": "Impossible de charger les références de Mendeley, veuillez lier à nouveau votre compte et réessayer.", @@ -622,6 +640,7 @@ "more": "Plus", "more_info": "Plus d’infos", "more_than_one_kind_of_snippet_was_requested": "Certains paramètres invalides sont présents dans le lien pour ouvrir ce contenu sur Overleaf. Si cela se produit régulièrement pour un site donné, veuillez leur faire part du problème.", + "most_premium_features": "La plupart des fontionnalités premium", "move_to_annual_billing": "Opter pour une facturation annuelle", "must_be_email_address": "Adresse électronique attendue", "n_items": "__count__ élément", @@ -641,6 +660,7 @@ "new_password": "Nouveau mot de passe", "new_project": "Nouveau projet", "new_snippet_project": "Sans titre", + "new_tag": "Nouveau label", "new_to_latex_look_at": "Débutant avec LaTeX ? Commencez par découvrir nos", "newsletter-accept": "Je souhaite recevoir des courriels portant sur des offres de produits et sur les actualités et événements de notre entreprise.", "next_payment_of_x_collectected_on_y": "Le prochain paiement de <0>__paymentAmmount__ sera débité le <1>__collectionDate__.", @@ -684,6 +704,7 @@ "notification_project_invite_message": "__userName__ souhaiterait que vous rejoigniez __projectName__", "november": "Novembre", "number_collab": "Nombre de collaborateur·rice·s", + "number_of_users": "Nombre d’utilisateurs", "oauth_orcid_description": " Justifiez de votre identité de façon sécurisée en liant votre ORCID iD à votre compte __appName__. Vos soumissions aux éditeurs participants incluront automatiquement votre ORCID iD, permettant ainsi d’accroître votre productivité et votre visibilité. ", "october": "Octobre", "off": "Désactivé", @@ -697,6 +718,8 @@ "opted_out_linking": "Vous avez choisi de ne pas lier votre compte __appName__ __email__ à votre compte institutionnel.", "optional": "Optionnel", "or": "ou", + "or_create_project_left": "ou créez votre premier projet à gauche.", + "organize_projects": "Organiser mes projets", "other_actions": "Autres actions", "other_logs_and_files": "Autres journaux et fichiers", "other_output_files": "Télécharger les autres fichiers générés", @@ -723,6 +746,8 @@ "pdf_viewer": "Visionneuse de PDF", "pending": "En attente", "pending_additional_licenses": "Votre abonnement va changer pour inclure <0>__pendingAdditionalLicenses__ licence(s) additionnelle(s), pour un total de <1>__pendingTotalLicenses__ licences.", + "per_month": "par mois", + "per_year": "par an", "personal": "Personnel", "pl": "Polonais", "planned_maintenance": "Maintenance prévue", @@ -752,6 +777,7 @@ "post_on_facebook": "Postez sur Facebook", "postal_code": "Code postal", "powerful_latex_editor": "Éditeur LaTeX puissant", + "powerful_latex_editor_and_realtime_collaboration": "Puissant éditeur LaTeX et collaboration en temps réel", "premium_features": "Fonctionnalités premium", "presentation": "Présentation", "price": "Prix", @@ -876,10 +902,13 @@ "ru": "Russe", "saml": "SAML", "saml_create_admin_instructions": "Choisissez une adresse courriel pour le compte __appName__ initial. Celle-ci doit correspondre à un compte dans le système SAML. Vous serez ensuite invité à vous connecter avec ce compte.", + "save_30_percent_or_more": "30% de remise ou plus", + "save_30_percent_or_more_uppercase": "30% de remise ou plus", "save_or_cancel-cancel": "annuler", "save_or_cancel-or": "ou", "save_or_cancel-save": "Enregistrer", "saving": "Sauvegarde en cours", + "saving_20_percent": "20% de remise !", "saving_notification_with_seconds": "Enregistrement de __docname__ (__seconds__ s de modifications non enregistrées)", "search": "Recherche", "search_bib_files": "Rechercher par auteur, titre, année", @@ -953,6 +982,8 @@ "store_your_work": "Stockez vos travaux sur votre propre infrastructure", "student": "Étudiant·e", "student_disclaimer": "Cette réduction pour l’éducation s’applique à tous les étudiant·e·s des établissements du secondaire ou du supérieur (lycées et universités). Nous pouvons être amenés à vous contacter pour confirmer votre éligibilité à cette réduction.", + "student_plan": "Offre étudiants", + "student_plans": "Offres étudiants", "subject": "Objet", "subject_to_additional_vat": "Selon votre pays, les prix peuvent en plus être sujets à la TVA.", "submit": "envoyer", @@ -970,6 +1001,7 @@ "sure_you_want_to_leave_group": "Voulez-vous vraiment quitter ce groupe ?", "sure_you_want_to_restore_before": "Voulez-vous vraiment restaurer le fichier <0>__filename__ à l’état précédant les modifications du __date__ ?", "sv": "Suedois", + "symbol_palette": "Palette de symboles", "sync": "Synchroniser", "sync_dropbox_github": "Synchroniser avec Dropbox et GitHub", "sync_project_to_github_explanation": "Tous les modifications effectuées dans __appName__ seront commitées et fusionnées avec les mises à jour existant dans GitHub.", @@ -977,6 +1009,7 @@ "sync_to_github": "Synchroniser avec GitHub", "synctex_failed": "Impossible de trouver le fichier source correspondant", "syntax_validation": "Vérification du code", + "tag_color": "Couleur du label", "tagline_collaborator": "Parfait pour les projets partagés", "tagline_free": "Parfait pour se lancer", "tagline_personal": "Idéal lorsque vous travaillez seul·e", @@ -1132,12 +1165,15 @@ "work_with_non_overleaf_users": "Travaillez avec des utilisateurs hors de Overleaf", "work_with_word_users": "Travaillez avec des utilisateur·rice·s de Word", "work_with_word_users_blurb": "__appName__ est si simple à prendre en main que vous pourrez inviter vos collègues qui n’utilisent pas LaTeX à venir contribuer directement dans vos documents LaTeX. Ils·elles seront productif·ve·s dès le premier jour et pourront apprendre des éléments de LaTeX au fil de l’eau.", + "x_collaborators_per_project": "__collaboratorsCount__ collaborateur·rice·s par projet", "x_price_for_first_month": "<0>__price__ pour votre premier mois", "x_price_for_first_year": "<0>__price__ pour votre première année", "x_price_per_year": "<0>__price__ par an", "year": "année", + "you_and_collaborators_get_access_to": "Vous et vos collaborateurs obtenez l’accès à", "you_can_now_log_in_sso": "Vous pouvez maintenant vous connecter via votre établissement pour potentiellement bénéficier de <0>fonctionnalités professionnelles __appName__ gratuites !", "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "Vous pouvez rejoindre ou quitter le programme à tout moment depuis cette page", + "you_get_access_to": "Vous obtenez l’accès à", "you_have_added_x_of_group_size_y": "Vous avez ajouté <0>__addedUsersSize__ membres sur les <1>__groupSize__ disponibles", "you_introed_high_number": " Vous avez présenté __appName__ à <0>__numberOfPeople__ personnes. Bon travail !", "you_introed_small_number": " Vous avez présenté __appName__ à <0>__numberOfPeople__ personne·s. Bon travail, mais pouvez-vous faire mieux ?", @@ -1155,8 +1191,9 @@ "zip_contents_too_large": "Contenu de l’archive trop volumineux", "zotero": "Zotero", "zotero_groups_loading_error": "Le chargement des groupes Zotero a échoué", - "zotero_integration": "Intégration Zotero", - "zotero_is_premium": "L’intégration Zotero est une fonctionnalité premium", + "zotero_integration": "Intégration avec Zotero", + "zotero_integration_lowercase": "Intégration avec Zotero", + "zotero_is_premium": "L’intégration avec Zotero est une fonctionnalité premium", "zotero_reference_loading_error": "Erreur, impossible de charger les références depuis Zotero", "zotero_reference_loading_error_expired": "Le jeton Zotero est expiré, veuillez lier à nouveau votre compte", "zotero_reference_loading_error_forbidden": "Impossible de charger les références de Zotero, veuillez lier à nouveau votre compte et réessayer.",