WIP - translate missing french words

tychovrahe/fw_translations/mpu
grdddj 8 months ago
parent 976f7736bc
commit aa2f8dd0e6

@ -3,7 +3,7 @@
"contact_support": "Veuillez contacter le support Trezor à",
"key_mismatch": "Déliachance clé?",
"mismatch": "ADRESSER L'AFFICATION?",
"support_url": "TODO:missing",
"support_url": "trezor.io/support",
"title": "ADRESSER L'AFFICATION?",
"title_key_mismatch": "DÉLIACHANCE CLÉ?",
"wrong_derication_path": "Mauvais chemin de dérivation pour le compte sélectionné.",
@ -54,7 +54,7 @@
"sell": "Vendre",
"sender_address": "Adresse de l'expéditeur:",
"side": "Côté:",
"unknown": "TODO:missing"
"unknown": "Inconnu"
},
"bitcoin": {
"commitment_data": "Données d'engagement:",
@ -129,7 +129,7 @@
"addr_pointer": "Aiguille",
"addr_reward": "Récompense",
"address_no_staking": "Adresse - Pas de récompenses de jalonnement.",
"amount": "TODO:missing",
"amount": "Montant:",
"amount_burned": "Montant brûlé:",
"amount_minted": "Montant frappé:",
"amount_sent": "Montant envoyé:",
@ -195,7 +195,7 @@
"reward_eligibility_warning": "AVERTISSEMENT: L'adresse n'est pas une adresse de paiement, elle n'est pas éligible pour les récompenses.",
"rewards_go_to": "Les récompenses vont à:",
"script": "scénario",
"script_all": "TODO:missing",
"script_all": "Tout",
"script_any": "N'importe lequel",
"script_data_hash": "Hash de données de script:",
"script_hash": "Hash de script:",
@ -225,7 +225,7 @@
"transaction_no_script_data_hash": "La transaction ne contient aucun hachage de données de script.Le script Plutus ne pourra pas s'exécuter.",
"transaction_output_contains_tokens": "La sortie de transaction suivante contient des jetons.",
"ttl": "TTL:",
"unknown": "TODO:missing",
"unknown": "Inconnu",
"unknown_collateral_amount": "Montant collatéral inconnu.",
"unusual_path": "Le chemin est inhabituel.",
"valid_since": "Valable depuis:",
@ -274,7 +274,7 @@
"about_to_sign_template": "Vous êtes sur le point de signer {}.",
"account": "Compte:",
"action_name": "Nom d'action:",
"amount": "TODO:missing",
"amount": "Montant:",
"arbitrary_data": "Données arbitraires",
"buy_ram": "Acheter Ram",
"bytes": "Octets:",
@ -283,7 +283,7 @@
"code": "Code:",
"contract": "Contracter:",
"cpu": "CPU:",
"creator": "TODO:missing",
"creator": "Créateur",
"delegate": "Déléguer",
"delete_auth": "Supprimer",
"from": "Depuis:",
@ -294,15 +294,15 @@
"new_account": "Nouveau compte",
"no": "Non",
"owner": "Propriétaire:",
"parent": "TODO:missing",
"payer": "TODO:missing",
"parent": "Parent:",
"payer": "Payeur:",
"permission": "Autorisation:",
"proxy": "Procuration:",
"receiver": "Destinataire:",
"refund": "Remboursement",
"requirement": "Exigence:",
"sell_ram": "Vendre Ram",
"sender": "TODO:missing",
"sender": "Expéditeur:",
"sign_transaction": "Signer une transaction",
"threshold": "Seuil:",
"to": "À:",
@ -313,7 +313,7 @@
"update_auth": "Mettre à jour l'authe",
"vote_for_producers": "Voter pour les producteurs",
"vote_for_proxy": "Votez pour procuration",
"voter": "TODO:missing",
"voter": "Électeur:",
"yes": "Oui"
},
"ethereum": {
@ -452,7 +452,7 @@
"wanna_sync_key_images": "Voulez-vous vraiment\nsynchroniser les images clés?"
},
"nem": {
"absolute": "TODO:missing",
"absolute": "Absolue",
"activate": "Activer",
"add": "Ajouter",
"confirm_action": "Confirmer l'action",
@ -558,7 +558,7 @@
"one_second_left": "1 seconde à gauche",
"please_wait": "S'IL VOUS PLAÎT, ATTENDEZ",
"processing": "TRAITEMENT",
"refreshing": "TODO:missing",
"refreshing": "RAFRAÎCHISSANTE",
"signing_transaction": "Transaction de signature ...",
"syncing": "Synchronisation ...",
"x_seconds_left_template": "{} secondes à gauche"
@ -672,7 +672,7 @@
"title_set_number_of_shares": "DÉFINIR LE NOMBRE D'ACTIONS",
"title_set_threshold": "DÉFINIR LE SEUIL",
"to_form_group_template": "pour former le groupe {}.",
"tos_link": "TODO:missing",
"tos_link": "trezor.io/tos",
"total_number_of_shares_in_group_template": "Définissez le nombre total d'actions dans le groupe {}.",
"use_your_backup": "Utilisez votre sauvegarde lorsque vous devez récupérer votre portefeuille.",
"write_down_words_template": "Notez tous les mots {} dans l'ordre.",
@ -725,13 +725,13 @@
},
"send": {
"address_path": "chemin d'adresse",
"amount": "TODO:missing",
"amount": "Montant:",
"confirm_sending": "Confirm_sending",
"from_multiple_accounts": "Envoi à partir de plusieurs comptes.",
"including_fee": "Y compris les frais:",
"maximum_fee": "Frais maximaux:",
"receiving_to_multisig": "Recevoir une adresse multisig.",
"title_amount": "TODO:MISSING",
"title_amount": "MONTANT",
"title_confirm_sending": "CONFIRMER L'ENVOI",
"title_joint_transaction": "TRANSACTION CONJOINTE",
"title_receiving_to": "RECEVOIR",
@ -823,13 +823,13 @@
},
"tezos": {
"address": "Adresse:",
"amount": "TODO:missing",
"amount": "Montant:",
"baker_address": "Adresse boulanger:",
"balance": "Équilibre:",
"ballot": "Bulletin de vote:",
"confirm_delegation": "Confirmer la délégation",
"confirm_origination": "Confirmer l'origine",
"delegator": "TODO:missing",
"delegator": "Délégant:",
"fee": "Frais:",
"proposal": "Proposition",
"register_delegate": "Enregistrer le délégué",
@ -907,7 +907,7 @@
"title_success": "SUCCÈS",
"title_summary": "RÉSUMÉ",
"title_threshold": "SEUIL",
"unknown": "TODO:missing",
"unknown": "Inconnu",
"warning": "Avertissement"
}
}

@ -12,7 +12,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
addr_mismatch__contact_support: "Veuillez contacter le support Trezor à",
addr_mismatch__key_mismatch: "Déliachance clé?",
addr_mismatch__mismatch: "ADRESSER L'AFFICATION?",
addr_mismatch__support_url: "TODO:missing",
addr_mismatch__support_url: "trezor.io/support",
addr_mismatch__title: "ADRESSER L'AFFICATION?",
addr_mismatch__title_key_mismatch: "DÉLIACHANCE CLÉ?",
addr_mismatch__wrong_derication_path: "Mauvais chemin de dérivation pour le compte sélectionné.",
@ -51,7 +51,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
binance__sell: "Vendre",
binance__sender_address: "Adresse de l'expéditeur:",
binance__side: "Côté:",
binance__unknown: "TODO:missing",
binance__unknown: "Inconnu",
bitcoin__commitment_data: "Données d'engagement:",
bitcoin__confirm_locktime: "Confirmer le verrouillage",
bitcoin__create_proof_of_ownership: "Voulez-vous créer une preuve de propriété?",
@ -120,7 +120,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
cardano__addr_pointer: "Aiguille",
cardano__addr_reward: "Récompense",
cardano__address_no_staking: "Adresse - Pas de récompenses de jalonnement.",
cardano__amount: "TODO:missing",
cardano__amount: "Montant:",
cardano__amount_burned: "Montant brûlé:",
cardano__amount_minted: "Montant frappé:",
cardano__amount_sent: "Montant envoyé:",
@ -186,7 +186,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
cardano__reward_eligibility_warning: "AVERTISSEMENT: L'adresse n'est pas une adresse de paiement, elle n'est pas éligible pour les récompenses.",
cardano__rewards_go_to: "Les récompenses vont à:",
cardano__script: "scénario",
cardano__script_all: "TODO:missing",
cardano__script_all: "Tout",
cardano__script_any: "N'importe lequel",
cardano__script_data_hash: "Hash de données de script:",
cardano__script_hash: "Hash de script:",
@ -216,7 +216,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
cardano__transaction_no_script_data_hash: "La transaction ne contient aucun hachage de données de script.Le script Plutus ne pourra pas s'exécuter.",
cardano__transaction_output_contains_tokens: "La sortie de transaction suivante contient des jetons.",
cardano__ttl: "TTL:",
cardano__unknown: "TODO:missing",
cardano__unknown: "Inconnu",
cardano__unknown_collateral_amount: "Montant collatéral inconnu.",
cardano__unusual_path: "Le chemin est inhabituel.",
cardano__valid_since: "Valable depuis:",
@ -253,7 +253,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
eos__about_to_sign_template: "Vous êtes sur le point de signer {}.",
eos__account: "Compte:",
eos__action_name: "Nom d'action:",
eos__amount: "TODO:missing",
eos__amount: "Montant:",
eos__arbitrary_data: "Données arbitraires",
eos__buy_ram: "Acheter Ram",
eos__bytes: "Octets:",
@ -262,7 +262,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
eos__code: "Code:",
eos__contract: "Contracter:",
eos__cpu: "CPU:",
eos__creator: "TODO:missing",
eos__creator: "Créateur",
eos__delegate: "Déléguer",
eos__delete_auth: "Supprimer",
eos__from: "Depuis:",
@ -273,15 +273,15 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
eos__new_account: "Nouveau compte",
eos__no: "Non",
eos__owner: "Propriétaire:",
eos__parent: "TODO:missing",
eos__payer: "TODO:missing",
eos__parent: "Parent:",
eos__payer: "Payeur:",
eos__permission: "Autorisation:",
eos__proxy: "Procuration:",
eos__receiver: "Destinataire:",
eos__refund: "Remboursement",
eos__requirement: "Exigence:",
eos__sell_ram: "Vendre Ram",
eos__sender: "TODO:missing",
eos__sender: "Expéditeur:",
eos__sign_transaction: "Signer une transaction",
eos__threshold: "Seuil:",
eos__to: "À:",
@ -292,7 +292,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
eos__update_auth: "Mettre à jour l'authe",
eos__vote_for_producers: "Voter pour les producteurs",
eos__vote_for_proxy: "Votez pour procuration",
eos__voter: "TODO:missing",
eos__voter: "Électeur:",
eos__yes: "Oui",
ethereum__amount_sent: "Montant envoyé:",
ethereum__confirm_fee: "Confirmer les frais",
@ -405,7 +405,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
monero__wanna_export_watchkey: "Voulez-vous vraiment exporter des informations d'identification de montre uniquement?",
monero__wanna_start_refresh: "Voulez-vous vraiment\ncommencer à actualiser?",
monero__wanna_sync_key_images: "Voulez-vous vraiment\nsynchroniser les images clés?",
nem__absolute: "TODO:missing",
nem__absolute: "Absolue",
nem__activate: "Activer",
nem__add: "Ajouter",
nem__confirm_action: "Confirmer l'action",
@ -505,7 +505,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
progress__one_second_left: "1 seconde à gauche",
progress__please_wait: "S'IL VOUS PLAÎT, ATTENDEZ",
progress__processing: "TRAITEMENT",
progress__refreshing: "TODO:missing",
progress__refreshing: "RAFRAÎCHISSANTE",
progress__signing_transaction: "Transaction de signature ...",
progress__syncing: "Synchronisation ...",
progress__x_seconds_left_template: "{} secondes à gauche",
@ -613,7 +613,7 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
reset__title_set_number_of_shares: "DÉFINIR LE NOMBRE D'ACTIONS",
reset__title_set_threshold: "DÉFINIR LE SEUIL",
reset__to_form_group_template: "pour former le groupe {}.",
reset__tos_link: "TODO:missing",
reset__tos_link: "trezor.io/tos",
reset__total_number_of_shares_in_group_template: "Définissez le nombre total d'actions dans le groupe {}.",
reset__use_your_backup: "Utilisez votre sauvegarde lorsque vous devez récupérer votre portefeuille.",
reset__write_down_words_template: "Notez tous les mots {} dans l'ordre.",
@ -656,13 +656,13 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
sd_card__wanna_format: "Voulez-vous vraiment formater la carte SD?",
sd_card__wrong_sd_card: "Mauvaise carte SD",
send__address_path: "chemin d'adresse",
send__amount: "TODO:missing",
send__amount: "Montant:",
send__confirm_sending: "Confirm_sending",
send__from_multiple_accounts: "Envoi à partir de plusieurs comptes.",
send__including_fee: "Y compris les frais:",
send__maximum_fee: "Frais maximaux:",
send__receiving_to_multisig: "Recevoir une adresse multisig.",
send__title_amount: "TODO:MISSING",
send__title_amount: "MONTANT",
send__title_confirm_sending: "CONFIRMER L'ENVOI",
send__title_joint_transaction: "TRANSACTION CONJOINTE",
send__title_receiving_to: "RECEVOIR",
@ -746,13 +746,13 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
stellar__wanna_clean_value_key_template: "Voulez-vous effacer la clé de valeur {}?",
stellar__your_account: "Votre compte",
tezos__address: "Adresse:",
tezos__amount: "TODO:missing",
tezos__amount: "Montant:",
tezos__baker_address: "Adresse boulanger:",
tezos__balance: "Équilibre:",
tezos__ballot: "Bulletin de vote:",
tezos__confirm_delegation: "Confirmer la délégation",
tezos__confirm_origination: "Confirmer l'origine",
tezos__delegator: "TODO:missing",
tezos__delegator: "Délégant:",
tezos__fee: "Frais:",
tezos__proposal: "Proposition",
tezos__register_delegate: "Enregistrer le délégué",
@ -818,6 +818,6 @@ pub const TRANSLATIONS: TranslationsGeneral = TranslationsGeneral {
words__title_success: "SUCCÈS",
words__title_summary: "RÉSUMÉ",
words__title_threshold: "SEUIL",
words__unknown: "TODO:missing",
words__unknown: "Inconnu",
words__warning: "Avertissement",
};

@ -2,7 +2,7 @@ from googletrans import Translator
from typing import Any, Dict
import json
from validate_same_keys import get_missing_lang_dict, DIR
from validate_same_keys import get_missing_lang_dict, DIR, MISSING_VALUE
def translate_dict(
@ -19,7 +19,8 @@ def translate_dict(
).text
new_dict[key] = translated_text
except Exception as e:
new_dict[key] = f"Translation failed: {str(e)}"
print(f"Error translating {value}: {e}")
new_dict[key] = MISSING_VALUE
return new_dict

@ -9,6 +9,8 @@ CORE = HERE.parent.parent
DIR = CORE / "embed" / "rust" / "src" / "ui" / "translations"
MISSING_VALUE = "TODO:missing"
if TYPE_CHECKING:
DoubleDict = Dict[str, Dict[str, str]]
@ -27,7 +29,7 @@ def get_missing_dict(missing_set: set[str]) -> "DoubleDict":
section_name, key = missing.split("__")
if section_name not in missing_dict:
missing_dict[section_name] = {}
missing_dict[section_name][key] = "TODO:missing"
missing_dict[section_name][key] = MISSING_VALUE
return missing_dict

Loading…
Cancel
Save