aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OpenPGP-Keychain/res/raw-fr/help_about.html36
-rw-r--r--OpenPGP-Keychain/res/raw-fr/help_changelog.html50
-rw-r--r--OpenPGP-Keychain/res/values-de/strings.xml4
-rw-r--r--OpenPGP-Keychain/res/values-fr/strings.xml24
-rw-r--r--OpenPGP-Keychain/res/values-tr/strings.xml93
-rw-r--r--OpenPGP-Keychain/res/values/strings.xml64
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java9
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java13
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyServerQueryActivity.java6
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/PreferencesActivity.java8
10 files changed, 227 insertions, 80 deletions
diff --git a/OpenPGP-Keychain/res/raw-fr/help_about.html b/OpenPGP-Keychain/res/raw-fr/help_about.html
index 7db2f83de..9db2820e8 100644
--- a/OpenPGP-Keychain/res/raw-fr/help_about.html
+++ b/OpenPGP-Keychain/res/raw-fr/help_about.html
@@ -2,40 +2,40 @@
<head></head>
<body>
<p><a href="http://sufficientlysecure.org/keychain">http://sufficientlysecure.org/keychain</a></p>
-<p><a href="http://sufficientlysecure.org/keychain">OpenPGP Keychain</a> is an OpenPGP implementation for Android. The development began as a fork of Android Privacy Guard (APG).</p>
-<p>License: GPLv3+</p>
+<p><a href="http://sufficientlysecure.org/keychain">Le porte-clefs OpenPGP</a> est une implémentation d'OpenPGP pour Android. Le développement a commencé comme bifurcation d'Android Privacy Guard (APG).</p>
+<p>Licence : GPLv3+</p>
-<h2>Developers OpenPGP Keychain</h2>
+<h2>Les développeurs du Porte-clefs OpenPGP</h2>
<ul>
-<li>Dominik Schürmann (Lead developer)</li>
-<li>Ash Hughes (crypto patches)</li>
+<li>Dominik Schürmann (développeur principal)</li>
+<li>Ash Hughes (correctif crypto)</li>
<li>Brian C. Barnes</li>
-<li>Bahtiar 'kalkin' Gadimov (UI)</li>
+<li>Bahtiar « kalkin » Gadimov (interface utilisateur)</li>
</ul>
-<h2>Developers APG 1.x</h2>
+<h2>Les développeurs d'APG 1.x</h2>
<ul>
-<li>'Thialfihar' (Lead developer)</li>
-<li>'Senecaso' (QRCode, sign key, upload key)</li>
+<li>« Thialfihar (développeur principal)</li>
+<li>« Senecaso » (Code QR, signer, téléverser la clef)</li>
<li>Oliver Runge</li>
<li>Markus Doits</li>
</ul>
-<h2>Libraries</h2>
+<h2>Bibliothèques</h2>
<ul>
<li>
-<a href="http://actionbarsherlock.com">ActionBarSherlock</a> (Apache License v2)</li>
+<a href="http://actionbarsherlock.com">ActionBarSherlock</a> (Licence Apache v2)</li>
<li>
-<a href="https://github.com/emilsjolander/StickyListHeaders">StickyListHeaders</a> (Apache License v2)</li>
+<a href="https://github.com/emilsjolander/StickyListHeaders">StickyListHeaders</a> (Licence Apache v2)</li>
<li>
-<a href="https://github.com/Bearded-Hen/Android-Bootstrap">Android-Bootstrap</a> (MIT License)</li>
+<a href="https://github.com/Bearded-Hen/Android-Bootstrap">Android-Bootstrap</a> ( Licence MIT)</li>
<li>
-<a href="http://code.google.com/p/zxing/">ZXing</a> (Apache License v2)</li>
+<a href="http://code.google.com/p/zxing/">ZXing</a> (Licence Apache v2)</li>
<li>
-<a href="http://rtyley.github.com/spongycastle/">SpongyCastle</a> (MIT X11 License)</li>
+<a href="http://rtyley.github.com/spongycastle/">SpongyCastle</a> (Licence MIT X11)</li>
<li>
-<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Apache License v2)</li>
-<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Creative Commons Attribution Share-Alike licence 3.0)</li>
-<li>Icons from <a href="http://tango.freedesktop.org/">Tango Icon Set</a> (Public Domain)</li>
+<a href="https://github.com/dschuermann/html-textview">HtmlTextView</a> (Licence Apache v2)</li>
+<li>Icons from <a href="http://rrze-icon-set.berlios.de/">RRZE Icon Set</a> (Licence Creative Commons Paternité - Partage des Conditions Initiales à l'Identique 3.0)</li>
+<li>Icône du <a href="http://tango.freedesktop.org/">jeu d'icônes Tango</a> (domaine public)</li>
</ul>
</body>
</html>
diff --git a/OpenPGP-Keychain/res/raw-fr/help_changelog.html b/OpenPGP-Keychain/res/raw-fr/help_changelog.html
index 011ffa50f..138483c14 100644
--- a/OpenPGP-Keychain/res/raw-fr/help_changelog.html
+++ b/OpenPGP-Keychain/res/raw-fr/help_changelog.html
@@ -3,46 +3,46 @@
<body>
<h2>2.1.1</h2>
<ul>
-<li>API Updates, preparation for k9mail integration</li>
+<li>Mise à jour de l'API, préparation à l'intégration à K-9 Mail</li>
</ul>
<h2>2.1</h2>
<ul>
-<li>Lots of bug fixes</li>
-<li>New API for developers</li>
-<li>PRNG bug fix by Google</li>
+<li>Beaucoup de bogues corrigés</li>
+<li>Nouvelle API pour les développeurs</li>
+<li>Correction du blogue PRNG par Google</li>
</ul>
<h2>2.0</h2>
<ul>
-<li>Complete redesign</li>
-<li>Share public keys via qr codes, nfc beam</li>
-<li>Sign keys</li>
-<li>Upload keys to server</li>
-<li>Fixes import issues</li>
-<li>New AIDL API</li>
+<li>Conception complètement repensée</li>
+<li>Partage de clefs publiques par codes QR, faisceau NFC</li>
+<li>Signer les clefs</li>
+<li>Téléverser les clefs vers le serveur</li>
+<li>Corrige les problèmes d'importation</li>
+<li>Nouvelle API AIDL</li>
</ul>
<h2>1.0.8</h2>
<ul>
-<li>basic key server support</li>
-<li>app2sd (untested, let me know if there are problems)</li>
-<li>more choices for pass phrase cache: 1, 2, 4, 8, hours</li>
-<li>translations: Norwegian (thanks, Sander Danielsen), Chinese (thanks, Zhang Fredrick)</li>
-<li>bugfixes</li>
-<li>optimizations</li>
+<li>prise en charge de base du serveur de clef</li>
+<li>app2sd (non-testé, me signaler tout problème)</li>
+<li>plus de choix pour le cache de phrase de passe : 1, 2, 4, 8 heures</li>
+<li>traductions : norvégien (merci Sander Danielsen), chinois (merci Zhang Fredrick)</li>
+<li>corrections de bogues</li>
+<li>optimisations</li>
</ul>
<h2>1.0.7</h2>
<ul>
<li>clear sign problem with lacking trailing newline fixed</li>
-<li>more options for pass phrase cache time to live (20, 40, 60 mins)</li>
+<li>plus de choix pour la durée de vie de la phrase de passe : (20, 40, 60 min)</li>
</ul>
<h2>1.0.6</h2>
<ul>
-<li>account adding crash on Froyo fixed</li>
-<li>secure file deletion</li>
-<li>option to delete key file after import</li>
-<li>stream encryption/decryption (gallery, etc.)</li>
-<li>new options (language, force v3 signatures)</li>
-<li>interface changes</li>
-<li>bugfixes</li>
+<li>correction de l'ajout de compte sur Froyo</li>
+<li>suppression sécurisée de fichiers</li>
+<li>option de suppression du fichier de clef après l'importation</li>
+<li>chiffrage/déchiffrage de flux (galerie, etc...)</li>
+<li>nouvelles options (langue, forcer les signatures v3)</li>
+<li>changements dans l'interface</li>
+<li>corrections de bogues</li>
</ul>
<h2>1.0.5</h2>
<ul>
@@ -78,7 +78,7 @@
<li>Slovenian translation</li>
<li>new database, much faster, less memory usage</li>
<li>defined Intents and content provider for other apps</li>
-<li>bugfixes</li>
+<li>corrections de bogues</li>
</ul>
</body>
</html>
diff --git a/OpenPGP-Keychain/res/values-de/strings.xml b/OpenPGP-Keychain/res/values-de/strings.xml
index df7c1bc4c..9d987747f 100644
--- a/OpenPGP-Keychain/res/values-de/strings.xml
+++ b/OpenPGP-Keychain/res/values-de/strings.xml
@@ -14,8 +14,8 @@
<string name="title_change_pass_phrase">Passwort ändern</string>
<string name="title_set_passphrase">Passwort setzen</string>
<string name="title_send_email">E-Mail senden...</string>
- <string name="title_encrypt_to_file">In Datei verschlüsseln</string>
- <string name="title_decrypt_to_file">In Datei entschlüsseln</string>
+ <string name="title_encrypt_to_file">In eine Datei verschlüsseln</string>
+ <string name="title_decrypt_to_file">In eine Datei entschlüsseln</string>
<string name="title_import_keys">Schlüssel importieren</string>
<string name="title_export_key">Schlüssel exportieren</string>
<string name="title_export_keys">Schlüssel exportieren</string>
diff --git a/OpenPGP-Keychain/res/values-fr/strings.xml b/OpenPGP-Keychain/res/values-fr/strings.xml
index 0124231ca..027fcfe87 100644
--- a/OpenPGP-Keychain/res/values-fr/strings.xml
+++ b/OpenPGP-Keychain/res/values-fr/strings.xml
@@ -23,6 +23,7 @@
<string name="title_export_keys">Exporter les clefs</string>
<string name="title_key_not_found">Clef introuvable</string>
<string name="title_key_server_query">Interroger le serveur de clefs</string>
+ <string name="title_send_key">Téléverser vers le serveur de clefs</string>
<string name="title_unknown_signature_key">Clef de signature inconnue</string>
<string name="title_sign_key">Signer la clef</string>
<string name="title_key_details">Détails sur la clef</string>
@@ -37,6 +38,9 @@
<string name="section_master_key">Clef maîtresse</string>
<string name="section_master_user_id">ID maîtresse d\'utilisateur utilisateur</string>
<string name="section_actions">Actions</string>
+ <string name="section_signing_key">Votre clef utilisée pour la signature</string>
+ <string name="section_upload_key">Téléverser la clef</string>
+ <string name="section_key_server">Serveur de clefs</string>
<!--button-->
<string name="btn_sign_to_clipboard">Signer (presse-papiers)</string>
<string name="btn_encrypt_to_clipboard">Déchiffrer vers le presse-papiers</string>
@@ -55,6 +59,7 @@
<string name="btn_change_passphrase">Changer la phrase de passe</string>
<string name="btn_set_passphrase">Définir la phrase de passe</string>
<string name="btn_search">Rechercher</string>
+ <string name="btn_export_to_server">Téléverser vers le serveur de clefs</string>
<string name="btn_next">Suivant</string>
<string name="btn_back">Retour</string>
<!--menu-->
@@ -73,7 +78,11 @@
<string name="menu_edit_key">Modifier la clef</string>
<string name="menu_search">Rechercher</string>
<string name="menu_key_server">Importer depuis le serveur de clefs</string>
+ <string name="menu_update_key">Mettre à jour depuis le serveur de clefs</string>
+ <string name="menu_export_key_to_server">Téléverser vers le serveur de clefs</string>
<string name="menu_share">Partager avec...</string>
+ <string name="menu_share_qr_code">Partager par un code QR (clef entière)</string>
+ <string name="menu_share_qr_code_fingerprint">Partager par un code QR (empreinte)</string>
<string name="menu_share_nfc">Partager via NFC</string>
<string name="menu_copy_to_clipboard">Copier vers le presse-papiers</string>
<string name="menu_sign_key">Signer la clef</string>
@@ -110,6 +119,7 @@
<string name="label_name">Nom</string>
<string name="label_comment">Commentaire</string>
<string name="label_email">Courriel</string>
+ <string name="label_send_key">Téléverser la clef vers le serveur de clefs choisi après signature</string>
<string name="label_fingerprint">Empreinte</string>
<string name="no_keys_selected">Choisir</string>
<string name="one_key_selected">1 choisi</string>
@@ -167,6 +177,10 @@
<string name="enter_passphrase_twice">Saisir la phrase de passe deux fois.</string>
<string name="select_encryption_key">Choisir au moins une clef de chiffrement.</string>
<string name="select_encryption_or_signature_key">Choisir au moins une clef de chiffrement ou de signature.</string>
+ <string name="specify_file_to_encrypt_to">Veuillez spécifier vers quel fichier chiffrer.\nAVERTISSEMENT ! Le fichier sera écrasé s\'il existe.</string>
+ <string name="specify_file_to_decrypt_to">Veuillez spécifier vers quel fichier déchiffrer.\nAVERTISSEMENT ! Le fichier sera écrasé s\'il existe.</string>
+ <string name="specify_file_to_export_to">Veuillez spécifier vers quel fichier exporter.\nAVERTISSEMENT ! Le fichier sera écrasé s\'il existe.</string>
+ <string name="specify_file_to_export_secret_keys_to">Veuillez spécifier vers quel fichier exporter.\nAVERTISSEMENT ! Vous allez exporter les clefs SECRÈTES.\nAVERTISSEMENT ! Le fichier sera écrasé s\'il existe.</string>
<string name="key_deletion_confirmation">Voulez-vous vraiment supprimer la clef %s ?\nVous ne pourrez pas la restituer !</string>
<string name="key_deletion_confirmation_multi">Voulez-vous vraiment supprimer toutes les clefs choisies ?\nCeci est irréversible !</string>
<string name="secret_key_deletion_confirmation">Voulez-vous vraiment supprimer la clef SECRÈTE %s ?\nVous ne pourrez pas la restituer !</string>
@@ -188,6 +202,8 @@
<string name="list_empty">Cette liste est vide !</string>
<string name="nfc_successfull">Clef envoyée par faisceau NFC avec succès !</string>
<string name="key_copied_to_clipboard">La clef a été copié vers le presse-papiers !</string>
+ <string name="key_has_already_been_signed">La clef a déjà été signée !</string>
+ <string name="select_key_to_sign">Veuillez choisir une clef a utiliser pour la signature !</string>
<!--errors
no punctuation, all lowercase,
they will be put after "error_message", e.g. "Error: file not found"-->
@@ -278,6 +294,7 @@
<!--Import-->
<string name="import_import">Importer les clefs choisies</string>
<string name="import_sign_and_upload">Importer, signer et téléverser les clefs choisies</string>
+ <string name="import_from_clipboard">Importer à partir du presse-papiers</string>
<plurals name="import_qr_code_missing">
<item quantity="one">Le code QR avec l\'ID %1$s est manquant</item>
<item quantity="other">Les codes QR avec les ID %1$s sont manquants</item>
@@ -285,6 +302,7 @@
<string name="import_qr_code_start_with_one">Veuillez commencer par le code QR avec l\'ID 1</string>
<string name="import_qr_code_wrong">Code QR incorrecte ! Veuillez réessayer !</string>
<string name="import_qr_code_finished">Balayage de code QR terminé !</string>
+ <string name="import_qr_code_too_short_fingerprint">L\'empreinte contenue dans ce code QR est trop courte (&lt; 16 caractères)</string>
<string name="import_qr_scan_button">Numériser le code QR avec le lecteur de code-barres</string>
<string name="import_nfc_text">Pour recevoir des clefs par NFC, les appareils doivent être déverrouillés.</string>
<string name="import_nfc_help_button">Aide</string>
@@ -305,16 +323,18 @@
<string name="api_settings_revoke">Révoquer l\'accès</string>
<string name="api_settings_package_name">Nom du paquet</string>
<string name="api_settings_package_signature">SHA-256 de la signature du paquet</string>
- <string name="api_register_text">L\'application suivante demande l\'accès à l\'API de porte-clefs OpenPGP.\n\nPermettre l\'accès permanent ?</string>
+ <string name="api_register_text">L\'application suivante demande l\'accès à l\'API du Porte-clefs OpenPGP.\n\nPermettre l\'accès permanent ?</string>
<string name="api_register_allow">Permettre l\'accès</string>
<string name="api_register_disallow">Enlever l\'accès</string>
<string name="api_register_error_select_key">Veuillez choisir une clef !</string>
<string name="api_select_pub_keys_missing_text">Aucune clef publique n\'a été trouvée pour ces IDs utilisateur :</string>
<string name="api_select_pub_keys_dublicates_text">Plus d\'une clef publique existe pour ces IDs utilisateur</string>
<string name="api_select_pub_keys_text">Veuillez revoir la liste des destinataires !</string>
- <string name="api_error_wrong_signature">La vérification de la signature a échoué ! Avez-vous installé cette appli à partir d\'une source différente ? Si vous êtes sûr que ce n\'est pas une attaque, révoquer l\'enregistrement de cette appli dans le porte-clefs et l\'enregistrer à nouveau.</string>
+ <string name="api_error_wrong_signature">La vérification de la signature a échoué ! Avez-vous installé cette appli à partir d\'une source différente ? Si vous êtes sûr que ce n\'est pas une attaque, révoquer l\'enregistrement de cette appli dans le Porte-clefs OpenPGP et l\'enregistrer à nouveau.</string>
<!--Share-->
+ <string name="share_qr_code_dialog_title">Partager par un code QR</string>
<string name="share_qr_code_dialog_start">Balayer tous les codes QR un par un en utilisant « Suivant ».</string>
+ <string name="share_qr_code_dialog_fingerprint_text">Empreinte :</string>
<string name="share_qr_code_dialog_progress">Code QR avec l\'ID %1$d de %2$d</string>
<string name="share_nfc_dialog">Partager avec la NFC</string>
<!--Key list-->
diff --git a/OpenPGP-Keychain/res/values-tr/strings.xml b/OpenPGP-Keychain/res/values-tr/strings.xml
index 841c85039..b4779ae0a 100644
--- a/OpenPGP-Keychain/res/values-tr/strings.xml
+++ b/OpenPGP-Keychain/res/values-tr/strings.xml
@@ -1,25 +1,118 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<!--title-->
+ <string name="title_create_key">Anahtar oluştur</string>
+ <string name="title_edit_key">Anahtarı düzenle</string>
+ <string name="title_preferences">Seçenekler</string>
+ <string name="title_key_server_preference">Anahtar Sunucusu Seçenekleri</string>
+ <string name="title_key_not_found">Anahtar Bulunamadı</string>
+ <string name="title_key_server_query">Anahtar Sunucusunu Sorgula</string>
+ <string name="title_sign_key">Anahtarı İmzala</string>
+ <string name="title_help">Yardım</string>
<!--section-->
+ <string name="section_keys">Anahtarlar</string>
+ <string name="section_general">Genel</string>
+ <string name="section_defaults">Varsayılanlar</string>
+ <string name="section_upload_key">Anahtar Yükle</string>
+ <string name="section_key_server">Anahtar Sunucusu</string>
<!--button-->
+ <string name="btn_sign">İmzala</string>
+ <string name="btn_verify">Doğrula</string>
+ <string name="btn_select_encrypt_keys">Alıcıları Seç</string>
+ <string name="btn_save">Kaydet</string>
+ <string name="btn_do_not_save">İptal</string>
+ <string name="btn_delete">Sil</string>
+ <string name="btn_okay">Tamam</string>
+ <string name="btn_search">Ara</string>
+ <string name="btn_export_to_server">Sunucuya Anahtar Yükle</string>
+ <string name="btn_next">İleri</string>
+ <string name="btn_back">Geri</string>
<!--menu-->
+ <string name="menu_preferences">Ayarlar</string>
+ <string name="menu_help">Yardım</string>
+ <string name="menu_import_from_file">Dosyadan al</string>
+ <string name="menu_import_from_qr_code">QR Kodundan al</string>
+ <string name="menu_import_from_nfc">NFCden al</string>
+ <string name="menu_export_key">Dosyaya ver</string>
+ <string name="menu_delete_key">Anahtar sil</string>
+ <string name="menu_create_key">Anahtar oluştur</string>
+ <string name="menu_create_key_expert">Anahtar oluştur (uzman)</string>
+ <string name="menu_edit_key">Anahtarı düzenle</string>
+ <string name="menu_search">Ara</string>
+ <string name="menu_key_server">Anahtar sunucusundan al</string>
+ <string name="menu_sign_key">Anahtarı imzala</string>
+ <string name="menu_key_edit_cancel">İptal</string>
<!--label-->
+ <string name="label_sign">İmzala</string>
+ <string name="label_message">Mesaj</string>
+ <string name="label_file">Dosya</string>
+ <string name="label_passphrase_again">Tekrar</string>
+ <string name="label_algorithm">Algoritma</string>
+ <string name="label_creation">Oluşturma</string>
+ <string name="label_usage">Kullanım</string>
+ <string name="label_key_size">Anahtar Boyutu</string>
+ <string name="label_name">İsim</string>
+ <string name="label_comment">Yorum</string>
+ <string name="label_email">Eposta</string>
+ <string name="no_keys_selected">Seç</string>
+ <string name="one_key_selected">1 Seçili</string>
+ <string name="n_keys_selected">Seçili</string>
<string name="unknown_status"></string>
<!--choice-->
+ <string name="choice_15secs">15 saniye</string>
+ <string name="choice_1min">1 dakika</string>
+ <string name="choice_3mins">3 dakika</string>
+ <string name="choice_5mins">5 dakika</string>
+ <string name="choice_10mins">10 dakika</string>
+ <string name="choice_20mins">20 dakika</string>
+ <string name="choice_40mins">40 dakika</string>
+ <string name="choice_1hour">1 saat</string>
+ <string name="choice_2hours">2 saat</string>
+ <string name="choice_4hours">4 saat</string>
+ <string name="choice_8hours">8 saat</string>
+ <string name="dsa">DSA</string>
+ <string name="elgamal">ElGamal</string>
+ <string name="rsa">RSA</string>
+ <string name="filemanager_title_open">Aç...</string>
+ <string name="warning">Uyarı</string>
+ <string name="error">Hata</string>
+ <string name="error_message">Hata: %s</string>
<!--sentences-->
+ <string name="file_delete_successful">Başarıyla silindi.</string>
+ <string name="no_file_selected">Önce bir dosya seçin.</string>
+ <string name="key_not_found">Anahtar %08X bulunamadı.</string>
+ <string name="keys_found">%s anahtar() bulundu.</string>
+ <string name="key_send_success">Anahtar sunucuya başarıyla gönderildi</string>
+ <string name="key_sign_success">Anahtar başarıyla imzalandı</string>
+ <string name="list_empty">Liste boş!</string>
<!--errors
no punctuation, all lowercase,
they will be put after "error_message", e.g. "Error: file not found"-->
+ <string name="error_file_not_found">dosya bulunamadı</string>
+ <string name="error_corrupt_data">bozuk veri</string>
<!--progress dialogs, usually ending in '…'-->
+ <string name="progress_saving">kaydediliyor...</string>
+ <string name="progress_preparing_signature">imza hazırlanıyor...</string>
+ <string name="progress_generating_signature">imza oluşturuluyor...</string>
+ <string name="progress_processing_signature">imza işleniyor...</string>
+ <string name="progress_verifying_signature">imza doğrulanıyor...</string>
<!--action strings-->
<!--key bit length selections-->
+ <string name="key_size_512">512</string>
+ <string name="key_size_1024">1024</string>
+ <string name="key_size_2048">2048</string>
+ <string name="key_size_4096">4096</string>
<!--compression-->
<!--Dashboard-->
<!--Help-->
+ <string name="help_tab_about">Hakkında</string>
<!--Import-->
+ <string name="import_nfc_help_button">Yardım</string>
<!--Intent labels-->
<!--Remote API-->
+ <string name="api_settings_no_key">Anahtar seçilmedi</string>
+ <string name="api_settings_select_key">Anahtar seç</string>
+ <string name="api_settings_save">Kaydet</string>
<!--Share-->
<!--Key list-->
<!--Key view-->
diff --git a/OpenPGP-Keychain/res/values/strings.xml b/OpenPGP-Keychain/res/values/strings.xml
index 48239c46c..fe243bfbc 100644
--- a/OpenPGP-Keychain/res/values/strings.xml
+++ b/OpenPGP-Keychain/res/values/strings.xml
@@ -107,7 +107,7 @@
<string name="label_passphrase_again">Again</string>
<string name="label_algorithm">Algorithm</string>
<string name="label_ascii_armor">ASCII Armor</string>
- <string name="label_select_public_keys">Public Key(s)</string>
+ <string name="label_select_public_keys">Public Keys</string>
<string name="label_delete_after_encryption">Delete After Encryption</string>
<string name="label_delete_after_decryption">Delete After Decryption</string>
<string name="label_encryption_algorithm">Encryption Algorithm</string>
@@ -130,17 +130,25 @@
<string name="label_email">Email</string>
<string name="label_send_key">Upload key to selected key server after signing</string>
<string name="label_fingerprint">Fingerprint</string>
- <string name="no_keys_selected">Select</string>
- <string name="one_key_selected">1 Selected</string>
- <string name="n_keys_selected">Selected</string>
- <string name="unknown_user_id">&lt;unknown></string>
- <string name="none">&lt;none></string>
- <string name="no_key">&lt;no key></string>
+ <string name="select_keys_button_default">Select</string>
+
+ <plurals name="select_keys_button">
+ <item quantity="other">%d selected</item>
+ </plurals>
+
+ <string name="unknown_user_id">&lt;unknown&gt;</string>
+ <string name="none">&lt;none&gt;</string>
+ <string name="no_key">&lt;no key&gt;</string>
<string name="unknown_status"></string>
<string name="can_encrypt">can encrypt</string>
<string name="can_sign">can sign</string>
<string name="expired">expired</string>
- <string name="n_key_servers">%s key server(s)</string>
+
+ <plurals name="n_key_servers">
+ <item quantity="one">%d key server</item>
+ <item quantity="other">%d key servers</item>
+ </plurals>
+
<string name="fingerprint">Fingerprint:</string>
<string name="secret_key">Secret Key:</string>
<string name="notValid">not valid</string>
@@ -194,18 +202,38 @@
<string name="key_deletion_confirmation">Do you really want to delete the key \'%s\'?\nYou can\'t undo this!</string>
<string name="key_deletion_confirmation_multi">Do you really want to delete all selected keys?\nYou can\'t undo this!</string>
<string name="secret_key_deletion_confirmation">Do you really want to delete the SECRET key \'%s\'?\nYou can\'t undo this!</string>
- <string name="keys_added_and_updated">Successfully added %1$s key(s) and updated %2$s key(s).</string>
- <string name="keys_added">Successfully added %s key(s).</string>
- <string name="keys_updated">Successfully updated %s key(s).</string>
+
+ <plurals name="keys_added_and_updated_1">
+ <item quantity="one">Successfully added %d key</item>
+ <item quantity="other">Successfully added %d keys</item>
+ </plurals>
+ <plurals name="keys_added_and_updated_2">
+ <item quantity="one"> and updated %d key.</item>
+ <item quantity="other"> and updated %d keys.</item>
+ </plurals>
+
+ <plurals name="keys_added">
+ <item quantity="one">Successfully added %d key.</item>
+ <item quantity="other">Successfully added %d keys.</item>
+ </plurals>
+
+ <plurals name="keys_updated">
+ <item quantity="one">Successfully updated %d key.</item>
+ <item quantity="other">Successfully updated %d keys.</item>
+ </plurals>
+
<string name="no_keys_added_or_updated">No keys added or updated.</string>
<string name="key_exported">Successfully exported 1 key.</string>
- <string name="keys_exported">Successfully exported %s keys.</string>
+ <string name="keys_exported">Successfully exported %d keys.</string>
<string name="no_keys_exported">No keys exported.</string>
<string name="key_creation_el_gamal_info">Note: only subkeys support ElGamal, and for ElGamal the nearest keysize of 1536, 2048, 3072, 4096, or 8192 will be used.</string>
<string name="key_not_found">Couldn\'t find key %08X.</string>
- <string name="keys_found">Found %s key(s).</string>
+ <plurals name="keys_found">
+ <item quantity="one">Found %d key.</item>
+ <item quantity="other">Found %d keys.</item>
+ </plurals>
<string name="unknown_signature_key_touch_to_look_up">Unknown signature, touch to look up key.</string>
- <string name="bad_keys_encountered">%s bad secret key(s) ignored. Perhaps you exported with the option\n --export-secret-subkeys\nMake sure you export with\n --export-secret-keys\ninstead.</string>
+ <string name="bad_keys_encountered">%d bad secret key(s) ignored. Perhaps you exported with the option\n --export-secret-subkeys\nMake sure you export with\n --export-secret-keys\ninstead.</string>
<string name="lookup_unknown_key">Unknown key %s, do you want to try finding it on a keyserver?</string>
<string name="key_send_success">Successfully sent key to server</string>
<string name="key_sign_success">Successfully signed key</string>
@@ -235,7 +263,7 @@
<string name="error_key_needs_a_user_id">need at least one user id</string>
<string name="error_main_user_id_must_not_be_empty">main user id must not be empty</string>
<string name="error_key_needs_master_key">need at least a master key</string>
- <string name="error_no_encryption_keys_or_passphrase">no encryption key(s) or passphrase given</string>
+ <string name="error_no_encryption_keys_or_passphrase">no encryption keys or passphrase given</string>
<string name="error_signature_failed">signature failed</string>
<string name="error_no_signature_passphrase">no passphrase given</string>
<string name="error_no_signature_key">no signature key given</string>
@@ -243,7 +271,7 @@
<string name="error_corrupt_data">corrupt data</string>
<string name="error_no_symmetric_encryption_packet">couldn\'t find a packet with symmetric encryption</string>
<string name="error_wrong_passphrase">wrong passphrase</string>
- <string name="error_saving_keys">error saving some key(s)</string>
+ <string name="error_saving_keys">error saving some keys</string>
<string name="error_could_not_extract_private_key">could not extract private key</string>
<string name="error_only_files_are_supported">Direct binary data without actual file in filesystem is not supported. This is only supported by ACTION_ENCRYPT_STREAM_AND_RETURN.</string>
<string name="error_jelly_bean_needed">You need Android 4.1 alias Jelly Bean to use Androids NFC Beam feature!</string>
@@ -318,8 +346,8 @@
<string name="import_from_clipboard">Import from clipboard</string>
<plurals name="import_qr_code_missing">
- <item quantity="one">Missing QR Code with ID %1$s</item>
- <item quantity="other">Missing QR Codes with IDs %1$s</item>
+ <item quantity="one">Missing QR Code with ID %s</item>
+ <item quantity="other">Missing QR Codes with IDs %s</item>
</plurals>
<string name="import_qr_code_start_with_one">Please start with QR Code with ID 1</string>
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
index 6202010ed..9ede8238d 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EncryptActivity.java
@@ -892,12 +892,11 @@ public class EncryptActivity extends DrawerActivity {
private void updateView() {
if (mEncryptionKeyIds == null || mEncryptionKeyIds.length == 0) {
- mSelectKeysButton.setText(getString(R.string.no_keys_selected));
- } else if (mEncryptionKeyIds.length == 1) {
- mSelectKeysButton.setText(getString(R.string.one_key_selected));
+ mSelectKeysButton.setText(getString(R.string.select_keys_button_default));
} else {
- mSelectKeysButton.setText("" + mEncryptionKeyIds.length + " "
- + getResources().getString(R.string.n_keys_selected));
+ mSelectKeysButton.setText(getResources().getQuantityString(
+ R.plurals.select_keys_button, mEncryptionKeyIds.length,
+ mEncryptionKeyIds.length));
}
if (mSecretKeyId == Id.key.none) {
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
index 790913d91..55a6085b6 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java
@@ -355,12 +355,17 @@ public class ImportKeysActivity extends DrawerActivity implements OnNavigationLi
int bad = returnData.getInt(KeychainIntentService.RESULT_IMPORT_BAD);
String toastMessage;
if (added > 0 && updated > 0) {
- toastMessage = getString(R.string.keys_added_and_updated, added,
- updated);
+ String addedStr = getResources().getQuantityString(
+ R.plurals.keys_added_and_updated_1, added, added);
+ String updatedStr = getResources().getQuantityString(
+ R.plurals.keys_added_and_updated_2, updated, updated);
+ toastMessage = addedStr + updatedStr;
} else if (added > 0) {
- toastMessage = getString(R.string.keys_added, added);
+ toastMessage = getResources().getQuantityString(R.plurals.keys_added,
+ added, added);
} else if (updated > 0) {
- toastMessage = getString(R.string.keys_updated, updated);
+ toastMessage = getResources().getQuantityString(R.plurals.keys_updated,
+ updated, updated);
} else {
toastMessage = getString(R.string.no_keys_added_or_updated);
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyServerQueryActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyServerQueryActivity.java
index 5e3b3d052..85cde1e7e 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyServerQueryActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/KeyServerQueryActivity.java
@@ -236,8 +236,10 @@ public class KeyServerQueryActivity extends SherlockFragmentActivity {
// avoided!!!
if (mQueryType == Id.keyserver.search) {
if (mSearchResult != null) {
- Toast.makeText(KeyServerQueryActivity.this,
- getString(R.string.keys_found, mSearchResult.size()),
+ Toast.makeText(
+ KeyServerQueryActivity.this,
+ getResources().getQuantityString(R.plurals.keys_found,
+ mSearchResult.size(), mSearchResult.size()),
Toast.LENGTH_SHORT).show();
mAdapter.setKeys(mSearchResult);
}
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/PreferencesActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/PreferencesActivity.java
index 46bbd05c9..f73681f54 100644
--- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/PreferencesActivity.java
+++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/PreferencesActivity.java
@@ -182,8 +182,8 @@ public class PreferencesActivity extends SherlockPreferenceActivity {
mKeyServerPreference = (PreferenceScreen) findPreference(Constants.pref.KEY_SERVERS);
String servers[] = mPreferences.getKeyServers();
- mKeyServerPreference.setSummary(getResources().getString(R.string.n_key_servers,
- servers.length));
+ mKeyServerPreference.setSummary(getResources().getQuantityString(R.plurals.n_key_servers,
+ servers.length, servers.length));
mKeyServerPreference
.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
@@ -207,8 +207,8 @@ public class PreferencesActivity extends SherlockPreferenceActivity {
String servers[] = data
.getStringArrayExtra(PreferencesKeyServerActivity.EXTRA_KEY_SERVERS);
mPreferences.setKeyServers(servers);
- mKeyServerPreference.setSummary(getResources().getString(R.string.n_key_servers,
- servers.length));
+ mKeyServerPreference.setSummary(getResources().getQuantityString(
+ R.plurals.n_key_servers, servers.length, servers.length));
break;
}