From 02673b28664507656c3f9f96fe8882af3ed80b48 Mon Sep 17 00:00:00 2001 From: Benoit Bouvarel Date: Wed, 7 May 2014 15:38:27 +0200 Subject: [PATCH 01/10] Traduction Francaise --- res/values-fr/arrays.xml | 22 ++++++++++ res/values-fr/strings.xml | 86 +++++++++++++++++++++++++++++++++++++++ res/values-fr/styles.xml | 19 +++++++++ 3 files changed, 127 insertions(+) create mode 100644 res/values-fr/arrays.xml create mode 100644 res/values-fr/strings.xml create mode 100644 res/values-fr/styles.xml diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml new file mode 100644 index 000000000..46c02da56 --- /dev/null +++ b/res/values-fr/arrays.xml @@ -0,0 +1,22 @@ + + + + Mobile + Téléphone + Tablette + Conversations + Android + + + jamais + 256 KB + 512 KB + 1 MB + + + 0 + 262144 + 524288 + 1048576 + + diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml new file mode 100644 index 000000000..40396faa6 --- /dev/null +++ b/res/values-fr/strings.xml @@ -0,0 +1,86 @@ + + + + Conversations + Paramètres + Nouvelle conversation + Gérer les comptes + Terminer cette conversation + Détails du contact + Détails de la conférence + Conversation sécurisée + Ajouter un compte + Contacts + À l'instant + envoi… + Renouveller les annonces PGP + Déchiffrement du message. Patientez… + Détails de la conférence + Cet identifiant est déjà utilisé. + Modérateur + Participant + Visiteur + Entrer un nouveau nom: + Voulez-vous supprimer %s de votre liste? Les conversations associées à ce compte ne seront pas supprimées. + Le serveur %s utilise un certificat non certifié et peut-être auto-signé. + Informations du serveur + Créer un nouveau compte sur le serveur + Partager avec + Appuyez pour demander à nouveau + Empreinte OTR + Empreinte OTR non générée. Essayez de démarrer une conversation sécurisée. + Démarrer une conversation + Inviter des contacts + Inviter à une conférence + Créer une nouvelle conférence + Annuler + Créer \u0026 invitation + Voulez-vous créer une nouvelle conférence avec une adresse générée aléatoirement et inviter les contacts sélectionnés à la rejoindre? + Conférences non existantes + Invitation envoyée + Compte hors-ligne + Vous devez être en ligne pour inviter des participants à une conférence. + Conversations s'est arreté + En envoyant des logs vous aidez au développement de Conversations\n\nAttention: Votre compte XMPP sera utilisé pour envoyer les logs aux développeurs. + Envoyer + Ne plus me demander + Impossible de se connecter au compte + Impossible de se connecter aux comptes + Appuyez pour gérer vos comptes + Lier un fichier + Le contact n'est pas dans votre carnet d'adresses. Voulez-vous l'y ajouter? + Ajouter un contact + Echec de l'envoi + Rejeté + Réception d'une image. Patientez… + Préparation de la transmission de l'image. Patientez… + Vider l'historique + Vider l'historique de la conversation + Voulez-vous supprimer tous les messages de cette conversation?\n\nAttention: Les messages seront supprimés uniquement sur ce périphérique. + Supprimer les messages + Terminer plus tard cette conversation + Choisir le status de présence + Envoyer un message à la conférence + Envoyer un message + Envoyer un message sécurisé par OTR + Envoyer un message sécurisé par openPGP + Votre identifiant a été changé + Télecharger l'image + Impossible de télécharger l'image (Fichier non trouvé) + Image proposée au téléchargement. + Non connecté + Vous devez être en ligne pour envoyer %s mais votre compte utilisé dans cette conversation est hors-ligne. + Vous devez être en ligne pour réaliser cette action. + Fichiers + Message chiffrés par OTR + Gérer les comptes + Votre correspondant est hors-ligne. + Envoyer un message chiffré via OTR à un correspondant hors-ligne n'est malheureusement pas possible.\nVoulez-vous envoyer ce message sans chiffrement? + Envoyer un fichier à un correspondant hors-ligne n'est malheureusement pas possible. + Envoyer en clair + Echec du déchiffrement. Merci de vérifier la clef privée utilisée. + OpenKeychain + Conversations requiert une application tierce nommée OpenKeychain pour chiffrer et déchiffrer les messages.\n\nOpenKeychain est sous licence GPLv3 et est disponible sur F-Droid et Google Play.\n\n(Merci de redémarrer Conversations apres l'installation du logiciel) + Redémarrer + Installer + diff --git a/res/values-fr/styles.xml b/res/values-fr/styles.xml new file mode 100644 index 000000000..1468283ed --- /dev/null +++ b/res/values-fr/styles.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file From ecea4a5cd2201514a5057f9e5358928a47a6955f Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Mon, 12 May 2014 23:12:01 +0200 Subject: [PATCH 02/10] fixed parsing error on missing %s --- res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index c6209625a..a05256687 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -69,7 +69,7 @@ Fehler beim laden des Bildes. (Datei wurde nicht gefunden) Bild Datei zum Download angeboten Nicht verbunden - Du musst online sein um % zu verschicken. Dein Account der mit dieser Unterhaltung verbunden ist aber gerade offline. + Du musst online sein um %s zu verschicken. Dein Account der mit dieser Unterhaltung verbunden ist aber gerade offline. Du kannst diese Aktion nicht ausführen so lange du offline bist. Dateien OTR-verschlüsselte Nachrichten @@ -80,7 +80,7 @@ Unverschlüsselt verschicken Entschlüsselung fehlgeschlagen. Vielleicht hast du nicht den richtigen Private Key. OpenKeychain - Conversations benutzt eine Third-party-app names OpenKeychain um Nachrichten zu ver- und entschlüsseln und um deine Schlüssel zu verwalten.\n\nOpenKeychain ist GPLv3 lizensiert und bei F-Droid oder Google Play zu bekommen.\n\n(Bitte starte Conversations danach neu) + Conversations benutzt eine Third-party-app names OpenKeychain um Nachrichten zu ver- und entschlüsseln und um deine Schlüssel zu verwalten.\n\nOpenKeychain ist GPLv3 lizenziert und bei F-Droid oder Google Play zu bekommen.\n\n(Bitte starte Conversations danach neu) Neustarten Installieren From d07139d3c4ed6a31c56140d7a10ca50dce58599c Mon Sep 17 00:00:00 2001 From: alvar Date: Sun, 11 May 2014 19:59:03 +0200 Subject: [PATCH 03/10] Translation into catalan language --- res/values-ca/arrays.xml | 22 +++++++ res/values-ca/strings.xml | 119 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 res/values-ca/arrays.xml create mode 100644 res/values-ca/strings.xml diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml new file mode 100644 index 000000000..0c0793297 --- /dev/null +++ b/res/values-ca/arrays.xml @@ -0,0 +1,22 @@ + + + + Mòbil + Telèfon + Tauleta + Conversations + Android + + + mai + 256 KB + 512 KB + 1 MB + + + 0 + 262144 + 524288 + 1048576 + + diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml new file mode 100644 index 000000000..e54304dcb --- /dev/null +++ b/res/values-ca/strings.xml @@ -0,0 +1,119 @@ + + + + Conversations + Preferències + Nova conversa + Gestionar comptes + Finalitzar conversa + Detalls del contacte + Detalls de la conferència + Conversa segura + Afegir compte + Contactes + ara + enviant… + Renovar anunci PGP + Desxifrant missatge. Espera si us plau… + Detalls de la conferència + El sobrenom ja està en ús + Moderador + Participant + Visitant + Introdueix un nou nom: + Vols eliminar a %s de la teva llista?. La conversa associada a aquest compte no s\'eliminarà. + El servidor %s presenta un certificat no confiable, possiblemente auto signat. + Informació del servidor + Registrar nou compte al servidor + Compartir amb + Prem per preguntar un altre cop + Emprempta dactilar OTR + No s\'ha generat una emprempta dactilar OTR. Simplement continua i comença una conversa xifrada. + Començar conversa + Convidar contactes + Convidar a conferència existent + Crear nova conferència + Cancel·lar + Crear \u0026 Convidar + Vols crear una nova conferència amb una adreça generada aleatòriament i convidar als contactes seleccionats a ella? + No hi ha conferències existents + Invitació enviada + Compte desconnectat + Has d\'estar connectat per convidar contactes a la conferència + Conversations s\'ha aturat. + Enviant bolcats de piles ajudes al desenvolupament de Conversations\nAvís: Això usarà el teu compte XMPP per enviar el bolcat de pila al desenvolupador. + Enviar ara + No preguntar de nou + No s\'ha pogut connectar al compte + No s\'ha pogut connectar a múltiples comptes + Prem aqui per gestionar els teus comptes + Enviar arxiu + El contacte no està a la teva llista. Vols afegir-lo? + Afefgir contacte + Error a l\'enviar + rebutjat + Rebent arxiu d\'imatge. Espera si us plau… + Preparant imatge per enviar + Netejar historial + Netejar historial de conversa + Vols esborrar tots els missatges d\'aquesta conversa?\n\nAvís: Això no afectarà els missatges desats en altres dispositius o servidors. + Esborrar missatges + Finalitzar aquesta conversa més tard + Selecciona recurs del contacte + Enviar missatge a conferència + Enviar missatge de text + Enviar missatge xifrat amb OTR + Enviar missatge xifrat amb openPGP + El teu sobrenom s\'ha modificat + Descarregar imatge + Error carregant imatge (Fitxer no trobat) + Fitxer d\'imatge ofert per a descàrrega + No connectat + Has d\'estar connectat per enviar %s però el teu compte associat a aquesta conversa està desconnectat. + No pots executar aquesta acció estant desconnectat. + fitxers + Missatges xifrats amb OTR + Gestionar compte + El teu contacte està desconnectat + Malauradament no és possible enviar missatges xifrats amb OTR a un contacte desconnectat.\nVols enviar el missatge en text pla? + Malauradament no és possible enviar fitxers a un contacte desconnectat. + Enviar sense xifrar + Ha fallat el desxiframent. Potser no tinguis la clau privada apropiada. + OpenKeychain + Conversations utilitza una aplicació de tercers anomenada OpenKeychain per xifrar i desxifrar missatges i gestionar les teves claus públiques..\n\nOpenKeychain està publicat sota llicència GPLv3 i disponible a la F-Droid i Google Play.\n\n(Si us plau, reinicieu Conversations després.) + Reiniciar + Instal·lar + oferint… + Clau openPGP no trobada + Conversations no ha pogut xifrar els teus missatges perquè el teu contacte no està anunciant la seva clau pública.\n\nSi us plau, demana al teu contacte que configuri openPGP. + Missatge xifrat rebut. Prem per desxifrar i veure-ho. + Imatge xifrada rebuda. Prem per desxifrar i veure-la. + Imatge rebuda. Prem per veure + Xifratge amb OTR no disponible + Malauradament el xifratge amb OTR no està disponible per transferència de fitxers. Pots seleccionar xifratge amb openPGP o no usar xifratge. + Usa xifratge amb openPGP + Recursos XMPP + El nom que identifica aquest client amb + Acceptar fitxers + Accepta fitxers automàticament amb una mida menor a… + Ajustos de notificacions + Notificacions + Notifica quan arriba un nou missatge + Vibra + Vibra quan arriba un nou missatge + So + Reprodueix el to de trucada amb la notificació + Notificacions de conferència + Sempre notifica quan arriba un nou missatge de conferència en comptes de només quan està destacat + Notificació del període d\'despera + Desactiva les notificacions durant un breu termini després de rebre una còpia de missatges carbon + Opcions de UI + Utilitza l\'avatar de l\'usuari del mòbil + Podries no diferenciar quin compte estàs usant a la conversa + Nom de la conferència + Utilitza l\'assumpte de la sala per identificar Conferències + Opcions avançades + Mai enviïs informes d\'errors + Enviant traces d\'execució ajudes al futur desenvolupament del Conversations. + + From cb706e9e82301ad5e79ae44d804f6aff2eca7f1f Mon Sep 17 00:00:00 2001 From: alvar Date: Mon, 12 May 2014 15:47:36 +0200 Subject: [PATCH 04/10] Fix a typo in catalan translation --- res/values-ca/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index e54304dcb..4d7bc6cca 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -105,7 +105,7 @@ Reprodueix el to de trucada amb la notificació Notificacions de conferència Sempre notifica quan arriba un nou missatge de conferència en comptes de només quan està destacat - Notificació del període d\'despera + Notificació del període d\'espera Desactiva les notificacions durant un breu termini després de rebre una còpia de missatges carbon Opcions de UI Utilitza l\'avatar de l\'usuari del mòbil From ae768598fe0f6d06ed330809779934a93b6ecde9 Mon Sep 17 00:00:00 2001 From: kruks23 Date: Mon, 12 May 2014 23:22:47 +0200 Subject: [PATCH 05/10] Preferences Spanish Translations --- res/values-es/strings.xml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 2c5691875..12e255e82 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -92,4 +92,32 @@ Encriptación con OTR no disponible Desafortunadamente la encriptación con OTR no está disponible para transferencia de archivos. Puedes selecionar encriptación con openPGP o no usar encriptación. Usa encriptación con openPGP + Recurso + El nombre que identifica el cliente que estás utilizando + Aceptar archivos + Automáticamente aceptar archivos menores que… + Ajustes de notificación + Notificaciones + Notifica cuando llega un nuevo mensaje + Vibrar + Vibra cuando llega un nuevo mensaje + Sonido + Reproduce tono con la notificación + Notificaciones de conferencia + Siempre notifica cuando llega un mensaje de conferencia y no solo cuando llega un mensaje destacado + Notificaciones Carbons + Deshabilita las notificaciones durante un corto periodo de tiempo después de recibir la copia del mensaje carbon + Opciones de interfaz + Usar foto de contacto del teléfono + Podrías no ser capaz de distinguir que cuenta está utlizando en una conversación + Nombre de la conferencia + Usa el nombre de la sala para identificar Conferencias + Opciones avanzadas + Nunca enviar informe de fallos + Enviando volcados de pilas ayudas al desarrollo de Conversations + OpenKeychain reportó un error + I/O Error desencriptando fichero + Error copiando archivo de imagen. + Aceptar + Ha ocurrido un error \ No newline at end of file From cce12af7663eb7649b98f9c74f577fb43ee9ee11 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 13 May 2014 10:18:59 +0200 Subject: [PATCH 06/10] fixed french language --- res/values-fr/strings.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 40396faa6..78327d668 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -11,7 +11,7 @@ Conversation sécurisée Ajouter un compte Contacts - À l'instant + À l\'instant envoi… Renouveller les annonces PGP Déchiffrement du message. Patientez… @@ -40,7 +40,7 @@ Invitation envoyée Compte hors-ligne Vous devez être en ligne pour inviter des participants à une conférence. - Conversations s'est arreté + Conversations s\'est arreté En envoyant des logs vous aidez au développement de Conversations\n\nAttention: Votre compte XMPP sera utilisé pour envoyer les logs aux développeurs. Envoyer Ne plus me demander @@ -48,14 +48,14 @@ Impossible de se connecter aux comptes Appuyez pour gérer vos comptes Lier un fichier - Le contact n'est pas dans votre carnet d'adresses. Voulez-vous l'y ajouter? + Le contact n\'est pas dans votre carnet d\'adresses. Voulez-vous l\'y ajouter? Ajouter un contact - Echec de l'envoi + Echec de l\'envoi Rejeté - Réception d'une image. Patientez… - Préparation de la transmission de l'image. Patientez… - Vider l'historique - Vider l'historique de la conversation + Réception d\'une image. Patientez… + Préparation de la transmission de l\'image. Patientez… + Vider l\'historique + Vider l\'historique de la conversation Voulez-vous supprimer tous les messages de cette conversation?\n\nAttention: Les messages seront supprimés uniquement sur ce périphérique. Supprimer les messages Terminer plus tard cette conversation @@ -65,8 +65,8 @@ Envoyer un message sécurisé par OTR Envoyer un message sécurisé par openPGP Votre identifiant a été changé - Télecharger l'image - Impossible de télécharger l'image (Fichier non trouvé) + Télecharger l\'image + Impossible de télécharger l\'image (Fichier non trouvé) Image proposée au téléchargement. Non connecté Vous devez être en ligne pour envoyer %s mais votre compte utilisé dans cette conversation est hors-ligne. @@ -75,12 +75,12 @@ Message chiffrés par OTR Gérer les comptes Votre correspondant est hors-ligne. - Envoyer un message chiffré via OTR à un correspondant hors-ligne n'est malheureusement pas possible.\nVoulez-vous envoyer ce message sans chiffrement? - Envoyer un fichier à un correspondant hors-ligne n'est malheureusement pas possible. + Envoyer un message chiffré via OTR à un correspondant hors-ligne n\'est malheureusement pas possible.\nVoulez-vous envoyer ce message sans chiffrement? + Envoyer un fichier à un correspondant hors-ligne n\'est malheureusement pas possible. Envoyer en clair Echec du déchiffrement. Merci de vérifier la clef privée utilisée. OpenKeychain - Conversations requiert une application tierce nommée OpenKeychain pour chiffrer et déchiffrer les messages.\n\nOpenKeychain est sous licence GPLv3 et est disponible sur F-Droid et Google Play.\n\n(Merci de redémarrer Conversations apres l'installation du logiciel) + Conversations requiert une application tierce nommée OpenKeychain pour chiffrer et déchiffrer les messages.\n\nOpenKeychain est sous licence GPLv3 et est disponible sur F-Droid et Google Play.\n\n(Merci de redémarrer Conversations apres l\'installation du logiciel) Redémarrer Installer From ad9b9b9096e05bfdb63615a8e896b001116e10f9 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 13 May 2014 10:23:26 +0200 Subject: [PATCH 07/10] fixed npe in tag writer --- src/eu/siacs/conversations/xml/TagWriter.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/eu/siacs/conversations/xml/TagWriter.java b/src/eu/siacs/conversations/xml/TagWriter.java index 40d5b3289..ef1e8555f 100644 --- a/src/eu/siacs/conversations/xml/TagWriter.java +++ b/src/eu/siacs/conversations/xml/TagWriter.java @@ -23,8 +23,12 @@ public class TagWriter { } try { AbstractStanza output = writeQueue.take(); - outputStream.write(output.toString()); - outputStream.flush(); + if (outputStream==null) { + shouldStop = true; + } else { + outputStream.write(output.toString()); + outputStream.flush(); + } } catch (IOException e) { shouldStop = true; } catch (InterruptedException e) { From f38c7b22fd2ed89960ceb4611f11fc308b858e15 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 13 May 2014 11:23:11 +0200 Subject: [PATCH 08/10] further translations --- res/layout/activity_contact_details.xml | 15 +++--- res/values-de/strings.xml | 53 +++++++++++++++++-- res/values/strings.xml | 8 +++ res/xml/preferences.xml | 4 +- .../ui/ContactDetailsActivity.java | 4 +- 5 files changed, 67 insertions(+), 17 deletions(-) diff --git a/res/layout/activity_contact_details.xml b/res/layout/activity_contact_details.xml index ac5f48558..cb001b790 100644 --- a/res/layout/activity_contact_details.xml +++ b/res/layout/activity_contact_details.xml @@ -14,7 +14,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" - android:text="Contact Details" /> + android:text="@string/action_contact_details" /> @@ -51,7 +50,6 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="16dp" - android:text="online" android:textSize="24sp" android:textStyle="bold" /> @@ -64,13 +62,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" - android:text="Your account" /> + android:text="@string/your_account" /> + android:text="@string/subscriptions" /> @@ -92,7 +89,7 @@ android:id="@+id/details_receive_presence" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Receive presence updates" + android:text="@string/receive_presence_updates" android:textSize="18sp" android:textColor="#5b5b5b" /> @@ -112,7 +109,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" - android:text="Keys" /> + android:text="@string/keys" /> abgelehnt Empfange Bild. Bitte warten… Bereite Bild für die Übertragung vor. Bitte warten… - Unterhaltungsverlauf löschen + Verlauf löschen Unterhaltungsverlauf löschen Möchtest du alle Nachrichten in dieser Unterhaltung löschen?\n\nAchtung: Das beeinflust nicht Nachrichten die eventuell auf anderen Geräten gespeichert wurden. Nachrichten löschen Diese Unterhaltung danach beenden Choose presence to contact Nachricht an Konferenz schicken - Unverschlüsselte Nachricht schicken - Nachricht OTR-verschlüsselt verschicken - Nachricht openPGP-verschlüsselt verschicken + Unverschlüsselt schreiben + OTR-verschlüsselt schreiben + openPGP-verschlüsselt schreiben Dein Nickname wurde geändert Bild herunter laden Fehler beim laden des Bildes. (Datei wurde nicht gefunden) @@ -83,4 +83,49 @@ Conversations benutzt eine Third-party-app names OpenKeychain um Nachrichten zu ver- und entschlüsseln und um deine Schlüssel zu verwalten.\n\nOpenKeychain ist GPLv3 lizenziert und bei F-Droid oder Google Play zu bekommen.\n\n(Bitte starte Conversations danach neu) Neustarten Installieren + angeboten… + Kein openPGP Schlüssel gefunden + Conversations ist nicht in der Lage deine Nachrichten zu verschlüsseln weil dein Kontakt sein oder ihren Schlüssel nicht preis gibt.\n\nBitte sag deinem Kontakt er oder sie möge bitte openPGP einrichten. + Verschlüsselte Nachricht erhalten. Drücke hier um sie anzuzeigen und zu entschlüsseln. + Verschlüsseltes Bild erhalten. Drücke hier um es anzuzeigen und zu entschlüsseln. + Bild erhalten. Drücke hier um es anzuzeigen. + OTR-Verschlüsselung nicht verfügbar + Es ist nicht möglich Datein mitels OTR zu verschlüsseln. Du kannst entweder openPGP wählen oder die Datei nicht verschlüsseln. + openPGP verwenden + XMPP resource + Der Name mit dem sich der Client selber identifiziert + Dateiannahme + Datein die kleiner sind als … automatisch annehmen + Benachrichtigungseinstellung + Benachrichtigungen + Benachrichtige mich wenn eine neu Nachricht ankommt + Vibrieren + Vibriere wenn eine neue Nachricht ankommt + Klingelton + Spiel Klingelton wenn eine Nachricht ankommt + Konferenz Benachrichtigungen + Benachrichtige mich bei jeder Konferenznachricht und nicht nur wenn ich angesprochen werde. + Gnadenfrist + Deaktiviere Benachrichtigungen für eine kurze Zeit nach erhalt einer Nachricht die von einem anderen Client von Dir kommt. + Aussehen + Benutze Dein Kontaktbild + Wenn du mehrere Accounts hast bist du eventuell nicht mehr in der Lage diese auseinander zu halten. + Konferenznamen + Benutze das Thema der Konferenz als Name in der Überschicht + Erweiterte Optionen + Sende niemals Absturzberichte + Wenn du Absturzberichte einschickst hilfst du Conversations stetig zu verbessern. + Fehler mit OpenKeychain + Fehler beim entschlüsseln der Datei + Fehler beim Kopieren des Bildes + Annehmen + Ein unbekannter Fehler ist aufgetreten + Online Status + Erlaube Kontakten die von Dir erstellt wurden deinen Status zu sehen und frage um Erlaubnis ihren zu sehen. + Abonnements + Dein Account + Schlüssel + Sende Online Status + Empfange Online Status + Preemptively grant subscription request diff --git a/res/values/strings.xml b/res/values/strings.xml index 8020a01e4..10dfb5924 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -120,4 +120,12 @@ Error copying image file. Accept An error has occurred + Grant presence updates + Preemptively grant and ask for presence subscription for contacts you created + Subscriptions + Your account + Keys + Send presence updates + Receive presence updates + Ask for presence updates diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index b1b560c60..bad2574bb 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -4,8 +4,8 @@ android:title="General"> Date: Tue, 13 May 2014 13:51:13 +0200 Subject: [PATCH 09/10] german translation --- res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 2ee7631fa..719d769cb 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -53,7 +53,7 @@ Zustellung nicht erfolgreich abgelehnt Empfange Bild. Bitte warten… - Bereite Bild für die Übertragung vor. Bitte warten… + Bereite Bild für die Übertragung vor Verlauf löschen Unterhaltungsverlauf löschen Möchtest du alle Nachrichten in dieser Unterhaltung löschen?\n\nAchtung: Das beeinflust nicht Nachrichten die eventuell auf anderen Geräten gespeichert wurden. From 7e667319607aa5ed9fd2a2aa1573c40ffae3a613 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 13 May 2014 14:49:09 +0200 Subject: [PATCH 10/10] ensure that iq response is being send out for jingle packets. remove jingle connection from manager after termination --- .../xmpp/jingle/JingleConnection.java | 58 ++++++++++++------- .../xmpp/jingle/JingleConnectionManager.java | 8 ++- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java index 3c9120ec2..8f88688a1 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java +++ b/src/eu/siacs/conversations/xmpp/jingle/JingleConnection.java @@ -135,7 +135,7 @@ public class JingleConnection { } public void deliverPacket(JinglePacket packet) { - + boolean returnResult = true; if (packet.isAction("session-terminate")) { Reason reason = packet.getReason(); if (reason!=null) { @@ -143,26 +143,37 @@ public class JingleConnection { this.receiveCancel(); } else if (reason.hasChild("success")) { this.receiveSuccess(); + } else { + this.receiveCancel(); } } else { - Log.d("xmppService","remote terminated for no reason"); this.receiveCancel(); } - } else if (packet.isAction("session-accept")) { - receiveAccept(packet); + } else if (packet.isAction("session-accept")) { + returnResult = receiveAccept(packet); } else if (packet.isAction("transport-info")) { - receiveTransportInfo(packet); + returnResult = receiveTransportInfo(packet); } else if (packet.isAction("transport-replace")) { if (packet.getJingleContent().hasIbbTransport()) { - this.receiveFallbackToIbb(packet); + returnResult = this.receiveFallbackToIbb(packet); } else { + returnResult = false; Log.d("xmppService","trying to fallback to something unknown"+packet.toString()); } } else if (packet.isAction("transport-accept")) { - this.receiveTransportAccept(packet); + returnResult = this.receiveTransportAccept(packet); } else { Log.d("xmppService","packet arrived in connection. action was "+packet.getAction()); + returnResult = false; } + IqPacket response; + if (returnResult) { + response = packet.generateRespone(IqPacket.TYPE_RESULT); + + } else { + response = packet.generateRespone(IqPacket.TYPE_ERROR); + } + account.getXmppConnection().sendIqPacket(response, null); } public void init(Message message) { @@ -356,17 +367,16 @@ public class JingleConnection { account.getXmppConnection().sendIqPacket(packet,responseListener); } - private void receiveAccept(JinglePacket packet) { + private boolean receiveAccept(JinglePacket packet) { Content content = packet.getJingleContent(); mergeCandidates(JingleCandidate.parse(content.socks5transport().getChildren())); this.status = STATUS_ACCEPTED; mXmppConnectionService.markMessage(message, Message.STATUS_UNSEND); this.connectNextCandidate(); - IqPacket response = packet.generateRespone(IqPacket.TYPE_RESULT); - account.getXmppConnection().sendIqPacket(response, null); + return true; } - private void receiveTransportInfo(JinglePacket packet) { + private boolean receiveTransportInfo(JinglePacket packet) { Content content = packet.getJingleContent(); if (content.hasSocks5Transport()) { if (content.socks5transport().hasChild("activated")) { @@ -383,14 +393,17 @@ public class JingleConnection { this.sendCancel(); } } - } else if (content.socks5transport().hasChild("activated")) { + return true; + } else if (content.socks5transport().hasChild("proxy-error")) { onProxyActivated.failed(); + return true; } else if (content.socks5transport().hasChild("candidate-error")) { Log.d("xmppService","received candidate error"); this.receivedCandidate = true; if ((status == STATUS_ACCEPTED)&&(this.sentCandidate)) { this.connect(); } + return true; } else if (content.socks5transport().hasChild("candidate-used")){ String cid = content.socks5transport().findChild("candidate-used").getAttribute("cid"); if (cid!=null) { @@ -403,16 +416,16 @@ public class JingleConnection { } else { Log.d("xmppService","ignoring because file is already in transmission or we havent sent our candidate yet"); } + return true; } else { - Log.d("xmppService","couldn't read used candidate"); + return false; } } else { - Log.d("xmppService","empty transport"); + return false; } + } else { + return true; } - - IqPacket response = packet.generateRespone(IqPacket.TYPE_RESULT); - account.getXmppConnection().sendIqPacket(response, null); } private void connect() { @@ -502,6 +515,7 @@ public class JingleConnection { this.disconnect(); this.status = STATUS_FINISHED; this.mXmppConnectionService.markMessage(this.message, Message.STATUS_RECIEVED); + this.mJingleConnectionManager.finishConnection(this); } private void sendFallbackToIbb() { @@ -514,7 +528,7 @@ public class JingleConnection { this.sendJinglePacket(packet); } - private void receiveFallbackToIbb(JinglePacket packet) { + private boolean receiveFallbackToIbb(JinglePacket packet) { String receivedBlockSize = packet.getJingleContent().ibbTransport().getAttribute("block-size"); if (receivedBlockSize!=null) { int bs = Integer.parseInt(receivedBlockSize); @@ -531,9 +545,10 @@ public class JingleConnection { content.ibbTransport().setAttribute("block-size", ""+this.ibbBlockSize); answer.setContent(content); this.sendJinglePacket(answer); + return true; } - private void receiveTransportAccept(JinglePacket packet) { + private boolean receiveTransportAccept(JinglePacket packet) { if (packet.getJingleContent().hasIbbTransport()) { String receivedBlockSize = packet.getJingleContent().ibbTransport().getAttribute("block-size"); if (receivedBlockSize!=null) { @@ -555,8 +570,9 @@ public class JingleConnection { JingleConnection.this.transport.send(file, onFileTransmitted); } }); + return true; } else { - Log.d("xmppService","invalid transport accept"); + return false; } } @@ -564,12 +580,14 @@ public class JingleConnection { this.status = STATUS_FINISHED; this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND); this.disconnect(); + this.mJingleConnectionManager.finishConnection(this); } private void receiveCancel() { this.disconnect(); this.status = STATUS_CANCELED; this.mXmppConnectionService.markMessage(this.message, Message.STATUS_SEND_REJECTED); + this.mJingleConnectionManager.finishConnection(this); } private void sendCancel() { diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java b/src/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java index 2fa1a6be8..a277b74cb 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java +++ b/src/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java @@ -51,15 +51,19 @@ public class JingleConnectionManager { public JingleConnection createNewConnection(Message message) { JingleConnection connection = new JingleConnection(this); connection.init(message); - connections.add(connection); + this.connections.add(connection); return connection; } public JingleConnection createNewConnection(JinglePacket packet) { JingleConnection connection = new JingleConnection(this); - connections.add(connection); + this.connections.add(connection); return connection; } + + public void finishConnection(JingleConnection connection) { + this.connections.remove(connection); + } public XmppConnectionService getXmppConnectionService() { return this.xmppConnectionService;