i18n: strings the desktop client needed, and its screenshots
The dictionaries here are the single source both clients read: the desktop
copies src/i18n/generated.js byte for byte, so a key added on either side is
available to the other.
* desktop.* — sentences only the desktop says. It has no QR display and no
browser to grant permissions, so its copy differs where the browser's would
mislead: "allow the microphone in system settings", not "for this site".
* msg.after5s and the rest of the disappearing-message timers, which this
client renders from hardcoded English today and can now translate too.
* secLevel.HIGH / MEDIUM / LOW, which the security panel needed and the
dictionary only had MAXIMUM for.
All of it translated into the full thirteen. Nothing here changes what this site
renders — the web client does not reference the new keys yet.
assets/screenshots/desktop-*.png are captures of the desktop client at 1.0.0,
for its Flathub listing. A reviewer opens each URL, so they have to be served
from this domain rather than from a code host.
This commit is contained in:
+76
-1
@@ -801,7 +801,82 @@
|
||||
"groupCall.speaking": "{name} parle",
|
||||
"groupCall.pin": "Afficher {name} en grand",
|
||||
"groupCall.unpin": "Revenir à tous",
|
||||
"groupCall.showEveryone": "Tout le monde"
|
||||
"groupCall.showEveryone": "Tout le monde",
|
||||
"msg.after5s": "5 s après lecture",
|
||||
"msg.after15s": "15 s après lecture",
|
||||
"msg.after30s": "30 s après lecture",
|
||||
"msg.after1m": "1 min après lecture",
|
||||
"msg.sec30": "30 secondes",
|
||||
"msg.min5": "5 minutes",
|
||||
"msg.hour1": "1 heure",
|
||||
"desktop.shareDesc": "Envoyez le code à votre pair. Il est à usage unique et expire rapidement.",
|
||||
"desktop.invitationCreated": "Invitation sécurisée créée - envoyez-la à votre pair.",
|
||||
"desktop.joinDesc": "Collez le code d'invitation de votre pair pour construire votre réponse sécurisée.",
|
||||
"desktop.offerTag": "invitation · copier le texte",
|
||||
"desktop.answerTag": "réponse · copier le texte",
|
||||
"desktop.offerPlaceholder": "Le code d'invitation apparaîtra ici…",
|
||||
"desktop.answerPlaceholder": "Le code de réponse apparaîtra ici…",
|
||||
"desktop.backToChats": "Retour aux discussions",
|
||||
"desktop.sendFeedback": "Envoyer un retour",
|
||||
"desktop.callsNeedVerified": "Les appels nécessitent un canal sécurisé vérifié.",
|
||||
"desktop.noOpenChannel": "Aucun canal sécurisé ouvert.",
|
||||
"desktop.chatCarriesCall": "Cette discussion porte un appel de groupe. Quittez l'appel de groupe avant de lancer un appel à deux.",
|
||||
"desktop.err.permission_denied": "L'appel n'a pas pu démarrer - l'accès au micro et à la caméra est bloqué. Autorisez-le dans les réglages système, puis réessayez.",
|
||||
"desktop.language": "Langue",
|
||||
"desktop.languageHint": "S'applique immédiatement. Les messages déjà envoyés gardent leurs mots.",
|
||||
"desktop.compareCode": "Comparez le code de vérification avec votre pair et confirmez s’il correspond.",
|
||||
"desktop.verifyBeforeFiles": "Terminez la vérification avant d’envoyer des fichiers.",
|
||||
"desktop.verifyBeforeSending": "Terminez la vérification avant d’envoyer des messages.",
|
||||
"desktop.disconnectedByBackend": "Connexion fermée de façon sécurisée.",
|
||||
"desktop.restoreFailed": "Impossible de rétablir la connexion. Fermeture de cette discussion.",
|
||||
"desktop.channelNotReady": "Le canal de données n’est pas encore disponible. Attendez que la connexion soit établie.",
|
||||
"desktop.enterCode": "Saisissez le code de vérification pour confirmer.",
|
||||
"desktop.noOffer": "Aucune invitation trouvée. Créez-en une d’abord.",
|
||||
"desktop.notInitiator": "Vous n’avez pas créé cette connexion, il n’y a donc aucune réponse à appliquer.",
|
||||
"desktop.decryptFailed": "Un message n’a pas pu être déchiffré et a été écarté.",
|
||||
"desktop.badMessageFormat": "Une trame mal formée est arrivée et a été écartée.",
|
||||
"desktop.notSentNotReady": "Message non envoyé : le canal sécurisé n’est pas prêt. Attendez la fin de la vérification ou reconnectez-vous.",
|
||||
"desktop.micDenied": "L’accès au micro a été refusé.",
|
||||
"desktop.noChannelWait": "Aucun canal sécurisé ouvert - attendez que la connexion soit établie.",
|
||||
"desktop.sasFailed": "Échec de la vérification. Un intermédiaire est peut-être présent : la connexion a été interrompue.",
|
||||
"desktop.sasOk": "Vérification réussie. Ce canal est authentifié de bout en bout.",
|
||||
"desktop.iceForgotten": "Serveurs enregistrés oubliés. Utilisation des serveurs ICE publics.",
|
||||
"desktop.icePublic": "Utilisation des serveurs ICE publics.",
|
||||
"desktop.verificationInProgress": "La vérification de sécurité est encore en cours. Attendez la fin.",
|
||||
"desktop.fileGone": "Ce fichier n’est plus disponible au téléchargement.",
|
||||
"desktop.codeMismatch": "Les codes de vérification ne correspondent pas. Déconnexion par sécurité.",
|
||||
"desktop.noLocalCode": "Échec de la vérification : aucun code dérivé localement à comparer. Déconnexion par sécurité.",
|
||||
"desktop.protocolViolation": "Le pair a affirmé que le code était confirmé avant que vous ne le confirmiez. Déconnexion par sécurité.",
|
||||
"desktop.verificationRejected": "Vérification rejetée. La connexion a été interrompue par sécurité.",
|
||||
"secLevel.HIGH": "ÉLEVÉ",
|
||||
"secLevel.MEDIUM": "MOYEN",
|
||||
"secLevel.LOW": "FAIBLE",
|
||||
"desktop.rerun": "Relancer",
|
||||
"desktop.ice.customDesc": "Jusqu'à {max} serveurs, une URL par ligne ou du JSON.",
|
||||
"desktop.ice.persistDesc": "Enregistré localement sur cet appareil. Laissez désactivé pour ne l’utiliser que pendant cette session.",
|
||||
"desktop.group.leaveNote": "Les autres membres sont informés de votre départ. Rien de ce groupe ne reste ensuite sur cet appareil - aucun serveur n’en garde de copie, il vous faudrait donc une nouvelle invitation.",
|
||||
"desktop.sec.ecdsaOk": "Signature du paquet de clés du pair vérifiée pendant la poignée de main (ECDSA P-384 / SHA-384)",
|
||||
"desktop.sec.ecdsaNone": "Aucune poignée de main achevée",
|
||||
"desktop.sec.ecdhOk": "Clés de session dérivées d’un échange ECDH P-384 éphémère via HKDF-SHA-256",
|
||||
"desktop.sec.ecdhNone": "Aucune clé de session dérivée",
|
||||
"desktop.sec.encryptionOk": "Chiffrement et déchiffrement AES-GCM vérifiés dans le cœur",
|
||||
"desktop.sec.encryptionNa": "L’autotest AES-GCM n’a pas pu être exécuté",
|
||||
"desktop.sec.integrityOk": "Intégrité des messages vérifiée (authentification AES-GCM)",
|
||||
"desktop.sec.integrityNa": "L’autotest d’intégrité n’a pas pu être exécuté",
|
||||
"desktop.sec.pfsOk": "Double Ratchet actif - chaque message a sa propre clé",
|
||||
"desktop.sec.pfsNa": "Non mesuré",
|
||||
"desktop.sec.replayOk": "Les clés de message du ratchet sont détruites après usage : une trame capturée ne peut pas être rejouée",
|
||||
"desktop.sec.replayNa": "Non mesuré",
|
||||
"desktop.sec.dtlsPinned": "Empreinte DTLS du pair épinglée : {fp}",
|
||||
"desktop.sec.dtlsNone": "Aucune empreinte DTLS distante disponible",
|
||||
"desktop.sec.sasBoth": "Les deux pairs ont confirmé le code de sécurité hors bande",
|
||||
"desktop.sec.sasIncomplete": "Le code de sécurité n’a pas été confirmé par les deux pairs",
|
||||
"desktop.sec.metadataOk": "Une clé de métadonnées dédiée a été dérivée (HKDF metadata-protection-v4)",
|
||||
"desktop.sec.metadataNone": "Aucune clé de métadonnées",
|
||||
"desktop.sec.coverOn": "Trafic de couverture actif : trames factices aléatoires (32-128 o toutes les 15-30 s) sur le canal à ratchet",
|
||||
"desktop.sec.coverOff": "Le générateur de trafic de couverture ne tourne pas",
|
||||
"desktop.sec.coverUnsupported": "Le trafic de couverture exige une session Double Ratchet (le pair utilise une version plus ancienne)",
|
||||
"desktop.tagline": "La liberté de bout en bout"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "SecureBit.chat - Messagerie privée et chiffrée",
|
||||
|
||||
Reference in New Issue
Block a user