From 165dfeccb9a6a2ee7743cccd9676430b507d4aed Mon Sep 17 00:00:00 2001 From: turt2live Date: Wed, 31 May 2017 11:55:25 -0600 Subject: [PATCH 1/9] Fix rare case where presence duration is undefined & i18n --- src/components/views/rooms/PresenceLabel.js | 15 +++++++-------- src/i18n/strings/en_EN.json | 4 ++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/views/rooms/PresenceLabel.js b/src/components/views/rooms/PresenceLabel.js index d06b46641c..b79de2b21c 100644 --- a/src/components/views/rooms/PresenceLabel.js +++ b/src/components/views/rooms/PresenceLabel.js @@ -55,17 +55,17 @@ module.exports = React.createClass({ var d = parseInt(t / (60 * 60 * 24)); if (t < 60) { if (t < 0) { - return "0s"; + return _t("for %(amount)ss", {amount: 0}); } - return s + "s"; + return _t("for %(amount)ss", {amount: s}); } if (t < 60 * 60) { - return m + "m"; + return _t("for %(amount)sm", {amount: m}); } if (t < 24 * 60 * 60) { - return h + "h"; + return _t("for %(amount)sh", {amount: h}); } - return d + "d "; + return _t("for %(amount)sd", {amount: d}); }, getPrettyPresence: function(presence) { @@ -77,9 +77,8 @@ module.exports = React.createClass({ render: function() { if (this.props.activeAgo >= 0) { - var ago = this.props.currentlyActive ? "" : "for " + (this.getDuration(this.props.activeAgo)); - // var ago = this.getDuration(this.props.activeAgo) + " ago"; - // if (this.props.currentlyActive) ago += " (now?)"; + let duration = this.getDuration(this.props.activeAgo); + let ago = this.props.currentlyActive || !duration ? "" : duration; return (
{ this.getPrettyPresence(this.props.presenceState) } { ago } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index bd8b6d2367..729208dddc 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -765,6 +765,10 @@ "Drop file here to upload": "Drop file here to upload", " (unsupported)": " (unsupported)", "Ongoing conference call%(supportedText)s. %(joinText)s": "Ongoing conference call%(supportedText)s. %(joinText)s", + "for %(amount)ss": "for %(amount)ss", + "for %(amount)sm": "for %(amount)sm", + "for %(amount)sh": "for %(amount)sh", + "for %(amount)sd": "for %(amount)sd", "Online": "Online", "Idle": "Idle", "Offline": "Offline", From 8cfa3bc2358e881b26eed854ad8471eafca59040 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 31 May 2017 23:49:55 +0100 Subject: [PATCH 2/9] add concept of platform handling loudNotifications (bings/pings/whatHaveYou) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/BasePlatform.js | 3 +++ src/Notifier.js | 1 + 2 files changed, 4 insertions(+) diff --git a/src/BasePlatform.js b/src/BasePlatform.js index ca87535a86..d0d8e0c74e 100644 --- a/src/BasePlatform.js +++ b/src/BasePlatform.js @@ -71,6 +71,9 @@ export default class BasePlatform { displayNotification(title: string, msg: string, avatarUrl: string, room: Object) { } + loudNotification(ev: Event, room: Object) { + } + /** * Returns a promise that resolves to a string representing * the current version of the application. diff --git a/src/Notifier.js b/src/Notifier.js index e89947e958..40a65d4106 100644 --- a/src/Notifier.js +++ b/src/Notifier.js @@ -250,6 +250,7 @@ const Notifier = { this._displayPopupNotification(ev, room); } if (actions.tweaks.sound && this.isAudioEnabled()) { + PlatformPeg.get().loudNotification(ev, room); this._playAudioNotification(ev, room); } } From ad0cbdd4ff7c28c7b3e1a4ac35d380ba433442cd Mon Sep 17 00:00:00 2001 From: RiotTranslate Date: Thu, 1 Jun 2017 01:39:21 +0200 Subject: [PATCH 3/9] Update from Weblate. (#981) * Translated using Weblate (French) Currently translated at 99.3% (763 of 768 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ * Translated using Weblate (German) Currently translated at 100.0% (768 of 768 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/de/ * Translated using Weblate (French) Currently translated at 100.0% (770 of 770 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 26.8% (207 of 770 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (French) Currently translated at 100.0% (770 of 770 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ * Translated using Weblate (German) Currently translated at 99.7% (768 of 770 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 34 +++++++++++----------- src/i18n/strings/fr.json | 52 +++++++++++++++++++--------------- src/i18n/strings/zh_Hans.json | 53 ++++++++++++++++++++++++++++++++++- 3 files changed, 98 insertions(+), 41 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 89e7f97515..5850f8e3e4 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -40,7 +40,7 @@ "Change Password": "Passwort ändern", "Searches DuckDuckGo for results": "Verwendet DuckDuckGo für Suchergebnisse", "Commands": "Kommandos", - "Emoji": "Smileys", + "Emoji": "Emoji", "Sorry, this homeserver is using a login which is not recognised ": "Entschuldigung, dieser Homeserver nutzt eine Anmeldetechnik, die nicht bekannt ist ", "Login as guest": "Anmelden als Gast", "Return to app": "Zurück zur Anwendung", @@ -93,7 +93,7 @@ "Encryption is enabled in this room": "Verschlüsselung ist in diesem Raum aktiviert", "Encryption is not enabled in this room": "Verschlüsselung ist in diesem Raum nicht aktiviert", "ended the call.": "beendete den Anruf.", - "End-to-end encryption is in beta and may not be reliable": "Ende-zu-Ende-Verschlüsselung ist im Beta-Status und ist evtl. nicht zuverlässig", + "End-to-end encryption is in beta and may not be reliable": "Die Ende-zu-Ende-Verschlüsselung befindet sich im Beta-Stadium und ist eventuell nicht hundertprozentig zuverlässig", "Failed to send email": "Fehler beim Senden der E-Mail", "Account": "Konto", "Add phone number": "Füge Telefonnummer hinzu", @@ -360,7 +360,7 @@ "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s änderte den Raumnamen zu %(roomName)s.", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s änderte das Thema zu \"%(topic)s\".", "/ddg is not a command": "/ddg ist kein Kommando", - "%(senderName)s ended the call.": "%(senderName)s beendete den Anruf.", + "%(senderName)s ended the call.": "%(senderName)s hat den Anruf beendet.", "Failed to lookup current room": "Aktuellen Raum nachzuschlagen schlug fehl", "Failed to send request.": "Anfrage zu senden schlug fehl.", "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s von %(fromPowerLevel)s zu %(toPowerLevel)s", @@ -386,7 +386,7 @@ "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s hat ein Bild gesendet.", "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s sandte eine Einladung an %(targetDisplayName)s um diesem Raum beizutreten.", "%(senderName)s set a profile picture.": "%(senderName)s setzte ein Profilbild.", - "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s setzte den Anzeigenamen zu %(displayName)s.", + "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s hat den Anzeigenamen geändert in %(displayName)s.", "This room is not recognised.": "Dieser Raum wurde nicht erkannt.", "These are experimental features that may break in unexpected ways": "Dies sind experimentelle Funktionen, die in unerwarteter Weise Fehler verursachen können", "To use it, just wait for autocomplete results to load and tab through them.": "Um dies zu nutzen, warte auf die Autovervollständigungsergebnisse und benutze die TAB Taste.", @@ -401,9 +401,9 @@ "Error changing language": "Fehler beim Ändern der Sprache", "Riot was unable to find the correct Data for the selected Language.": "Riot war nicht in der Lage die korrekten Daten für die ausgewählte Sprache zu finden.", "Connectivity to the server has been lost.": "Verbindung zum Server untergebrochen.", - "Sent messages will be stored until your connection has returned.": "Gesendete Nachrichten werden gespeichert bis die Verbindung wiederhergestellt wurde.", + "Sent messages will be stored until your connection has returned.": "Gesendete Nachrichten werden gespeichert, bis die Internetverbindung wiederhergestellt wurde.", "Auto-complete": "Autovervollständigung", - "Resend all": "Alles erneut senden", + "Resend all": "Alle erneut senden", "cancel all": "alles abbrechen", "now. You can also select individual messages to resend or cancel.": "jetzt. Du kannst auch einzelne Nachrichten zum erneuten Senden oder Abbrechen auswählen.", "Active call": "Aktiver Anruf", @@ -428,7 +428,7 @@ "to tag direct chat": "als direkten Chat markieren", "You're not in any rooms yet! Press": "Du bist noch keinem Raum beigetreten! Drücke", "click to reveal": "Klicke zum anzeigen", - "To remove other users' messages": "Um Nachrichten anderer zu verbergen", + "To remove other users' messages": "Um Nachrichten anderer Nutzer zu verbergen", "You are trying to access %(roomName)s": "Du versuchst auf %(roomName)s zuzugreifen", "af": "Afrikaans", "ar-ae": "Arabisch (U.A.E.)", @@ -515,7 +515,7 @@ "pt": "Portugiesisch", "rm": "Rätoromanisch", "ro-mo": "Rumänisch (Republik Moldau/Moldawien)", - "ro": "Romanian", + "ro": "Rumänisch", "ru-mo": "Russisch", "sb": "Sorbisch", "sk": "Slowakisch", @@ -559,7 +559,7 @@ "and one other...": "und ein(e) weitere(r)...", "Are you sure?": "Bist du sicher?", "Attachment": "Anhang", - "Ban": "Banne", + "Ban": "Verbannen", "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Kann nicht zum Heimserver verbinden - bitte checke eine Verbindung und stelle sicher, dass dem %(urlStart)s SSL-Zertifikat deines Heimservers %(urlEnd)s vertraut wird", "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Kann nicht zum Heimserver via HTTP verbinden, wenn eine HTTPS-Url in deiner Adresszeile steht. Nutzer HTTPS oder %(urlStart)s aktiviere unsichere Skripte %(urlEnd)s", "changing room on a RoomView is not supported": "Das Ändern eines Raumes in einer RaumAnsicht wird nicht unterstützt", @@ -580,7 +580,7 @@ "Failed to kick": "Kicken fehlgeschlagen", "Failed to mute user": "Nutzer lautlos zu stellen fehlgeschlagen", "Failed to reject invite": "Einladung abzulehnen fehlgeschlagen", - "Failed to save settings": "Einstellungen speichern fehlgeschlagen", + "Failed to save settings": "Einstellungen konnten nicht gespeichert werden", "Failed to set display name": "Anzeigenamen zu ändern fehlgeschlagen", "Fill screen": "Fülle Bildschirm", "Guest users can't upload files. Please register to upload": "Gäste können keine Dateien hochladen. Bitte zunächst registrieren", @@ -600,17 +600,17 @@ "New address (e.g. #foo:%(localDomain)s)": "Neue Adresse (z.B. #foo:%(localDomain)s)", "not set": "nicht gesetzt", "not specified": "nicht spezifiziert", - "No devices with registered encryption keys": "Keine Geräte mit registrierten Verschlüsselungsschlüsseln", + "No devices with registered encryption keys": "Keine Geräte mit registrierten Verschlüsselungs-Schlüsseln", "No more results": "Keine weiteren Ergebnisse", "No results": "Keine Ergebnisse", "OK": "OK", "Revoke Moderator": "Moderator zurückziehen", "Search": "Suche", "Search failed": "Suche fehlgeschlagen", - "Server error": "Serverfehler", - "Server may be unavailable, overloaded, or search timed out :(": "Server ist entweder nicht verfügbar, überlastet oder die Suchezeit ist abgelaufen :(", + "Server error": "Server-Fehler", + "Server may be unavailable, overloaded, or search timed out :(": "Der Server ist entweder nicht verfügbar, überlastet oder die Suche wurde wegen Zeitüberschreitung abgebrochen :(", "Server may be unavailable, overloaded, or the file too big": "Server ist entweder nicht verfügbar, überlastet oder die Datei ist zu groß", - "Server unavailable, overloaded, or something else went wrong": "Server ist entweder nicht verfügbar, überlastet oder etwas anderes schlug fehl", + "Server unavailable, overloaded, or something else went wrong": "Der Server ist entweder nicht verfügbar, überlastet oder es liegt ein anderweitiger Fehler vor", "Some of your messages have not been sent": "Einige deiner Nachrichten wurden noch nicht gesendet", "Submit": "Absenden", "The main address for this room is: %(canonical_alias_section)s": "Die Hauptadresse für diesen Raum ist: %(canonical_alias_section)s", @@ -640,10 +640,10 @@ "code": "Code", "quote": "Zitat", "bullet": "Aufzählung", - "Click to unmute video": "Klicke um Video zu reaktivieren", + "Click to unmute video": "Klicken, um die Video-Stummschaltung zu deaktivieren", "Click to unmute audio": "Klicke um Ton zu reaktivieren", "Failed to load timeline position": "Laden der Position im Zeitstrahl fehlgeschlagen", - "Failed to toggle moderator status": "Umschalten des Moderatorstatus fehlgeschlagen", + "Failed to toggle moderator status": "Umschalten des Moderator-Status fehlgeschlagen", "Enable encryption": "Verschlüsselung aktivieren", "The main address for this room is": "Die Hauptadresse für diesen Raum ist", "Autoplay GIFs and videos": "GIF-Dateien und Videos automatisch abspielen", @@ -734,7 +734,7 @@ "Passphrases must match": "Passphrase muss übereinstimmen", "Passphrase must not be empty": "Passphrase darf nicht leer sein", "Export room keys": "Exportiere Raum-Schlüssel", - "Enter passphrase": "Gebe Passphrase ein", + "Enter passphrase": "Passphrase eingeben", "Confirm passphrase": "Bestätige Passphrase", "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "Die Export-Datei wird mit einer Passphrase geschützt sein. Du solltest die Passphrase hier eingeben um die Datei zu entschlüsseln.", "You must join the room to see its files": "Du musst dem Raum beitreten um seine Dateien zu sehen", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 3d85aefbc7..47ab9c7573 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -79,7 +79,7 @@ "it": "Italian", "ja": "Japanese", "ji": "Yiddish", - "ko": "Korean (Johab)", + "ko": "Coréen", "lt": "Lithuanian", "lv": "Latvian", "mk": "Macedonian (FYROM)", @@ -100,7 +100,7 @@ "sk": "Slovak", "sl": "Slovenian", "sq": "Albanian", - "sr": "Serbian (Latin)", + "sr": "Serbe", "sv-fi": "Swedish (Finland)", "sv": "Swedish", "sx": "Sutu", @@ -119,7 +119,7 @@ "zh-sg": "Chinese (Singapore)", "zh-tw": "Chinese (Taiwan)", "zu": "Zulu", - "anyone": "anyone", + "anyone": "n'importe qui", "Direct Chat": "Conversation Directe", "Direct chats": "Conversations directes", "Disable inline URL previews by default": "Désactiver l’aperçu des URLs", @@ -132,7 +132,7 @@ "Drop here to tag %(section)s": "Déposer ici pour marque comme %(section)s", "Ed25519 fingerprint": "Empreinte Ed25519", "Email Address": "Adresse e-mail", - "Email, name or matrix ID": "E-mail, nom or identifiant Matrix", + "Email, name or matrix ID": "E-mail, nom ou identifiant Matrix", "Emoji": "Emoticône", "Enable encryption": "Activer l'encryption", "Encrypted messages will not be visible on clients that do not yet implement encryption": "Les messages encryptés ne seront pas visibles dans les clients qui n’implémentent pas encore l’encryption", @@ -149,7 +149,7 @@ "Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?", "Failed to change power level": "Failed to change power level", "Failed to delete device": "Failed to delete device", - "Failed to forget room %(errCode)s": "Echec lors de l'oublie du salon %(errCode)s", + "Failed to forget room %(errCode)s": "Échec lors de l'oubli du salon %(errCode)s", "Please Register": "Veuillez vous enregistrer", "Remove": "Supprimer", "was banned": "a été banni(e)", @@ -176,7 +176,7 @@ "%(targetName)s accepted an invitation.": "%(targetName)s a accepté une invitation.", "Account": "Compte", "Add email address": "Ajouter une adresse e-mail", - "Add phone number": "Ajouter un numéro de téléphone", + "Add phone number": "Ajouter un numéro", "Admin": "Admin", "Advanced": "Avancé", "Algorithm": "Algorithme", @@ -246,15 +246,15 @@ "Current password": "Mot de passe actuel", "Curve25519 identity key": "Clé d’identité Curve25519", "/ddg is not a command": "/ddg n'est pas une commande", - "Deactivate Account": "Désactiver le compte", - "Deactivate my account": "Désactiver mon compte", + "Deactivate Account": "Supprimer le compte", + "Deactivate my account": "Supprimer mon compte", "decline": "décliner", "Decrypt %(text)s": "Décrypter %(text)s", "Decryption error": "Erreur de décryptage", "Delete": "Supprimer", "demote": "rétrograder", "Deops user with given id": "Retire les privilèges d’opérateur d’un utilisateur avec un ID donné", - "Device ID": "ID de l'appareil", + "Device ID": "Identifiant de l'appareil", "Devices": "Appareils", "Devices will not yet be able to decrypt history from before they joined the room": "Les appareils ne seront pas capables de décrypter l’historique précédant leur adhésion au salon", "ml": "Malayalam", @@ -379,7 +379,7 @@ "Permissions": "Permissions", "Phone": "Numéro de téléphone", "Operation failed": "L'opération a échoué", - "Bulk Options": "Option en vrac", + "Bulk Options": "Options de masse", "Changing password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved.": "Changer le mot de passe actuellement réinitialise les clés d’encryption sur tous les appareils, rendant l’historique encrypté illisible, à moins d’exporter les clés du salon en avance de phase puis de les ré-importer. Ceci sera amélioré prochainement.", "Default": "Défaut", "Email address": "Adresse e-mail", @@ -392,13 +392,13 @@ "Invalid file%(extra)s": "Fichier %(extra)s invalide", "Mute": "Couper le son", "No users have specific privileges in this room": "Aucun utilisateur n’a de privilège spécifique dans ce salon", - "olm version:": "Version de olm :", + "olm version:": "version de olm :", "Once you've followed the link it contains, click below": "Une fois que vous aurez suivi le lien qu’il contient, cliquez ci-dessous", "%(senderName)s placed a %(callType)s call.": "%(senderName)s a placé un appel %(callType)s.", - "Please check your email and click on the link it contains. Once this is done, click continue.": "Merci de vérifier vos e-mail et cliquer sur le lien quil contient. Une fois que cela est fait, cliquez sur continuer.", - "Power level must be positive integer.": "Le niveau de pouvoir doit être un entier positif.", + "Please check your email and click on the link it contains. Once this is done, click continue.": "Veuillez vérifier vos e-mails et cliquer sur le lien que vous avez reçu. Puis cliquez sur continuer.", + "Power level must be positive integer.": "Le niveau d'autorité doit être un entier positif.", "Press": "Cliquer", - "Privacy warning": "Alerte vie privée", + "Privacy warning": "Alerte de confidentialité", "Privileged Users": "Utilisateur Privilégié", "Profile": "Profil", "Reason": "Raison", @@ -425,8 +425,8 @@ "Room Colour": "Couleur du salon", "Room name (optional)": "Nom du salon (optionnel)", "Rooms": "Salons", - "Scroll to bottom of page": "Défiler jusqu’au bas de la page", - "Scroll to unread messages": "Défiler jusqu’aux messages non-lus", + "Scroll to bottom of page": "Aller en bas de la page", + "Scroll to unread messages": "Aller aux messages non-lus", "Search": "Rechercher", "Search failed": "Erreur lors de la recherche", "Searches DuckDuckGo for results": "Recherche des résultats dans DuckDuckGo", @@ -531,7 +531,7 @@ "Upload avatar": "Télécharger une photo de profil", "Upload Failed": "Erreur lors du téléchargement", "Upload Files": "Télécharger les fichiers", - "Upload file": "Télécharger le fichier", + "Upload file": "Télécharger un fichier", "Usage": "Utilisation", "Use with caution": "Utiliser avec prudence", "User ID": "Identifiant d'utilisateur", @@ -709,10 +709,10 @@ "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "Pour vérifier que vous pouvez faire confiance à cet appareil, merci de contacter son propriétaire par un autre moyen (par ex. en personne ou par téléphone) et demandez lui si la clé qu’il/elle voit dans ses Paramètres Utilisateur pour cet appareil correspond à la clé ci-dessous :", "Device name": "Nom de l'appareil", "Device key": "Clé de l'appareil", - "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Si les clés correspondent, cliquer sur le bouton ’Vérifier’ ci-dessous. Si non, alors quelqu’un d’autre est en train d’intercepter cet appareil et vous devriez certainement cliquer sur le bouton ’Ajouter à la liste noire’ à la place.", + "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "Si les clés correspondent, cliquer sur le bouton ’Vérifier’ ci-dessous. Si non, alors quelqu’un d’autre est en train d’intercepter cet appareil et vous devriez certainement cliquer sur le bouton ’Blacklister' (Ajouter à la liste noire) à la place.", "In future this verification process will be more sophisticated.": "À l’avenir ce processus de vérification sera simplifié et plus sophistiqué.", "Verify device": "Vérifier cet appareil", - "I verify that the keys match": "J’ai vérifié que les clés correspondait", + "I verify that the keys match": "J’ai vérifié que les clés correspondaient", "We encountered an error trying to restore your previous session. If you continue, you will need to log in again, and encrypted chat history will be unreadable.": "Nous avons rencontré une erreur en essayant de rétablir votre session précédente. Si vous continuez, vous devrez vous identifier à nouveau et l’historique encrypté de vos conversations sera illisible.", "Unable to restore session": "Impossible de restaurer la session", "If you have previously used a more recent version of Riot, your session may be incompatible with this version. Close this window and return to the more recent version.": "Si vous avez utilisé une version plus récente de Riot précédemment, votre session risque d’être incompatible avec cette version. Fermez cette fenêtre et retournez à la version plus récente.", @@ -724,7 +724,7 @@ "Unknown devices": "Appareils inconnus", "Unknown Address": "Adresse inconnue", "Unblacklist": "Supprimer de la liste noire", - "Blacklist": "Ajouter à la liste noire", + "Blacklist": "Blacklister", "Unverify": "Non-vérifié", "Verify...": "Vérifier...", "ex. @bob:example.com": "ex. @bob:exemple.com", @@ -758,11 +758,17 @@ "Disable URL previews by default for participants in this room": "Désactiver les aperçus d'URL par défaut pour les participants de ce salon", "URL previews are %(globalDisableUrlPreview)s by default for participants in this room.": "Les aperçus d'URL sont %(globalDisableUrlPreview)s par défaut pour les participants de ce salon.", "Enable URL previews for this room (affects only you)": "Activer les aperçus d'URL pour ce salon (n'affecte que vous)", - "Drop file here to upload": "Déposer le fichier ici pour téléchargement", + "Drop file here to upload": "Déposer le fichier ici pour le télécharger", " (unsupported)": " (non supporté)", "Ongoing conference call%(supportedText)s. %(joinText)s": "Appel conférence en cours%(supportedText)s. %(joinText)s", "Online": "En ligne", - "Offline": "Hors ligne", + "Offline": "Déconnecté", "Disable URL previews for this room (affects only you)": "Désactiver les aperçus d'URL pour ce salon (n'affecte que vous)", - "Desktop specific": "Spécifique à la version bureau" + "Desktop specific": "Spécifique à l'application de bureau", + "Start automatically after system login": "Démarrer automatiquement après la phase d'authentification du système", + "Idle": "Inactif", + "Jump to first unread message.": "Aller au premier message non-lu.", + "Options": "Options", + "You are about to be taken to a third-party site so you can authenticate your account for use with %(integrationsUrl)s. Do you wish to continue?": "Vous êtes sur le point d’accéder à un site tiers afin de pouvoir vous identifier pour utiliser %(integrationsUrl)s. Voulez vous continuer ?", + "Removed or unknown message type": "Type de message inconnu ou supprimé" } diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index 33a44210de..91adec837f 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -154,5 +154,56 @@ "The email address linked to your account must be entered.": "必须输入和你账号关联的邮箱地址。", "The file '%(fileName)s' exceeds this home server's size limit for uploads": "文件 '%(fileName)s' 超过了此主服务器的上传大小限制", "The file '%(fileName)s' failed to upload": "文件 '%(fileName)s' 上传失败", - "Guests can't use labs features. Please register.": "游客不能使用实验性功能。请注册。" + "Disable URL previews for this room (affects only you)": "在这个房间禁止URL预览(只影响你)", + "af": "南非荷兰语", + "ca": "加泰罗尼亚语", + "cs": "捷克语", + "da": "丹麦语", + "de-at": "德语(奥地利)", + "de-ch": "德语(瑞士)", + "de": "德语", + "de-lu": "德语(卢森堡)", + "el": "希腊语", + "en-au": "英语(澳大利亚)", + "en": "英语", + "zh-cn": "中文(中国)", + "zh-hk": "中文(香港)", + "zh-sg": "中文(新加坡)", + "zh-tw": "中国(台湾)", + "Add email address": "添加邮件地址", + "Add phone number": "添加电话号码", + "Advanced": "高级", + "Algorithm": "算法", + "Always show message timestamps": "总是显示消息时间戳", + "all room members": "所有聊天室成员", + "all room members, from the point they are invited": "所有聊天室成员,从他们被邀请开始", + "all room members, from the point they joined": "所有聊天室成员,从他们加入开始", + "an address": "一个地址", + "and": "和", + "%(names)s and %(lastPerson)s are typing": "%(names)s 和 %(lastPerson)s 正在打字", + "%(names)s and %(count)s others are typing": "%(names)s 和另外 %(count)s 个人正在打字", + "An email has been sent to": "一封邮件已经被发送到", + "A new password must be entered.": "一个新的密码必须被输入。", + "%(senderName)s answered the call.": "%(senderName)s 接了通话。", + "An error has occurred.": "一个错误出现了。", + "Attachment": "附件", + "Autoplay GIFs and videos": "自动播放GIF和视频", + "%(senderName)s banned %(targetName)s.": "%(senderName)s 封禁了 %(targetName)s.", + "Ban": "封禁", + "Banned users": "被封禁的用户", + "Click here": "点击这里", + "Click here to fix": "点击这里修复", + "Confirm password": "确认密码", + "Confirm your new password": "确认你的新密码", + "Continue": "继续", + "Ed25519 fingerprint": "Ed25519指纹", + "Invite new room members": "邀请新的聊天室成员", + "Join Room": "加入聊天室", + "joined": "加入了", + "%(targetName)s joined the room.": "%(targetName)s 加入了聊天室。", + "Jump to first unread message.": "跳到第一条未读消息。", + "%(senderName)s kicked %(targetName)s.": "%(senderName)s 把 %(targetName)s 踢出了聊天室。", + "Leave room": "离开聊天室", + "Login as guest": "以游客的身份登录", + "New password": "新密码" } From b4284cf0004458efe7d5bd18d7dafc0fd9f7752b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 1 Jun 2017 01:17:39 +0100 Subject: [PATCH 4/9] fix up Can't connect to HS i18n with _tJsx --- scripts/check-i18n.pl | 4 ++-- scripts/fix-i18n.pl | 4 ++++ src/components/structures/login/Login.js | 15 +++++++++------ src/i18n/strings/da.json | 1 - src/i18n/strings/de_DE.json | 6 ++---- src/i18n/strings/en_EN.json | 13 ++++++++----- src/i18n/strings/es.json | 4 ++-- src/i18n/strings/fr.json | 4 ++-- src/i18n/strings/nl.json | 4 ++-- src/i18n/strings/pt_BR.json | 4 ++-- src/i18n/strings/ru.json | 4 ++-- src/i18n/strings/zh_Hant.json | 4 ++-- 12 files changed, 37 insertions(+), 30 deletions(-) diff --git a/scripts/check-i18n.pl b/scripts/check-i18n.pl index 0ace98d0fc..fa11bc5292 100755 --- a/scripts/check-i18n.pl +++ b/scripts/check-i18n.pl @@ -178,12 +178,12 @@ sub read_src_strings { $src =~ s/"\s*\+\s*"//g; $file =~ s/^.*\/src/src/; - while ($src =~ /_t\(\s*'(.*?[^\\])'/sg) { + while ($src =~ /_t(?:Jsx)?\(\s*'(.*?[^\\])'/sg) { my $s = $1; $s =~ s/\\'/'/g; push @$strings, [$s, $file]; } - while ($src =~ /_t\(\s*"(.*?[^\\])"/sg) { + while ($src =~ /_t(?:Jsx)?\(\s*"(.*?[^\\])"/sg) { push @$strings, [$1, $file]; } } diff --git a/scripts/fix-i18n.pl b/scripts/fix-i18n.pl index d4ae3dfb49..9a12c9d909 100755 --- a/scripts/fix-i18n.pl +++ b/scripts/fix-i18n.pl @@ -48,6 +48,10 @@ Guests can't use labs features. Please register. A new password must be entered. Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved. Guests cannot join this room even if explicitly invited. +Guest users can't invite users. Please register to invite. +This room is inaccessible to guests. You may be able to join if you register. +delete the alias. +remove %(name)s from the directory. EOT )]; } diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index eb4e559237..59d8c74022 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -222,17 +222,20 @@ module.exports = React.createClass({ (this.state.enteredHomeserverUrl.startsWith("http:") || !this.state.enteredHomeserverUrl.startsWith("http"))) { - const urlStart = ; - const urlEnd = ; errorText = - { _t('Can\'t connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s', {urlStart: urlStart, urlEnd: urlEnd})} + { _tJsx("Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. " + + "Either use HTTPS or enable unsafe scripts.", + /(.*?)<\/a>/, + (sub) => { return { sub }; } + )} ; } else { - const urlStart = ; - const urlEnd = ; errorText = - { _t('Can\'t connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver\'s SSL certificate %(urlEnd)s is trusted', {urlStart: urlStart, urlEnd: urlEnd})} + { _tJsx("Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.", + /(.*?)<\/a>/, + (sub) => { return { sub }; } + )} ; } } diff --git a/src/i18n/strings/da.json b/src/i18n/strings/da.json index 92665ac8d0..8ac311d315 100644 --- a/src/i18n/strings/da.json +++ b/src/i18n/strings/da.json @@ -40,7 +40,6 @@ "Searches DuckDuckGo for results": "Søger DuckDuckGo for resultater", "Commands": "kommandoer", "Emoji": "Emoji", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar.": "Kan ikke oprette forbindelse til hjemmeserver via HTTP, når en HTTPS-URL er i din browserbjælke.", "Sorry, this homeserver is using a login which is not recognised ": "Beklager, denne homeerver bruger et login, der ikke kan genkendes ", "Login as guest": "Log ind som gæst", "Return to app": "Tilbage til app", diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 5850f8e3e4..aafc06faec 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -228,7 +228,6 @@ "To kick users": "Um Nutzer zu entfernen", "Admin": "Administrator", "Server may be unavailable, overloaded, or you hit a bug": "Server könnte nicht verfügbar oder überlastet sein oder du bist auf einen Fehler gestoßen", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar": "Verbindung zum Homeserver ist über HTTP nicht möglich, wenn HTTPS in deiner Browserleiste steht", "Could not connect to the integration server": "Konnte keine Verbindung zum Integrations-Server herstellen", "Disable inline URL previews by default": "URL-Vorschau im Chat standardmäßig deaktivieren", "Guests can't use labs features. Please register.": "Gäste können keine Labor-Funktionen nutzen. Bitte registrieren.", @@ -271,7 +270,6 @@ "Who would you like to add to this room?": "Wen möchtest du zu diesem Raum hinzufügen?", "Who would you like to communicate with?": "Mit wem möchtest du kommunizieren?", "Would you like to": "Möchtest du", - "You are trying to access": "Du möchtest Zugang zu %(sth)s bekommen", "You do not have permission to post to this room": "Du hast keine Berechtigung an diesen Raum etwas zu senden", "You have been invited to join this room by %(inviterName)s": "Du wurdest in diesen Raum eingeladen von %(inviterName)s", "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "Du wurdest von allen Geräten ausgeloggt und wirst keine Push-Benachrichtigungen mehr bekommen. Um Benachrichtigungen zu reaktivieren melde dich auf jedem Gerät neu an", @@ -560,8 +558,8 @@ "Are you sure?": "Bist du sicher?", "Attachment": "Anhang", "Ban": "Verbannen", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Kann nicht zum Heimserver verbinden - bitte checke eine Verbindung und stelle sicher, dass dem %(urlStart)s SSL-Zertifikat deines Heimservers %(urlEnd)s vertraut wird", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Kann nicht zum Heimserver via HTTP verbinden, wenn eine HTTPS-Url in deiner Adresszeile steht. Nutzer HTTPS oder %(urlStart)s aktiviere unsichere Skripte %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Kann nicht zum Heimserver verbinden - bitte checke eine Verbindung und stelle sicher, dass dem SSL-Zertifikat deines Heimservers vertraut wird.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Kann nicht zum Heimserver via HTTP verbinden, wenn eine HTTPS-Url in deiner Adresszeile steht. Nutzer HTTPS oder aktiviere unsichere Skripte.", "changing room on a RoomView is not supported": "Das Ändern eines Raumes in einer RaumAnsicht wird nicht unterstützt", "Click to mute audio": "Klicke um den Ton stumm zu stellen", "Click to mute video": "Klicken, um das Video stummzuschalten", diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 729208dddc..ab2286b57b 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -166,8 +166,8 @@ "Bug Report": "Bug Report", "Bulk Options": "Bulk Options", "Call Timeout": "Call Timeout", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.", "Can't load user settings": "Can't load user settings", "Change Password": "Change Password", "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.", @@ -220,6 +220,7 @@ "Devices will not yet be able to decrypt history from before they joined the room": "Devices will not yet be able to decrypt history from before they joined the room", "Direct Chat": "Direct Chat", "Direct chats": "Direct chats", + "disabled": "disabled", "Disable inline URL previews by default": "Disable inline URL previews by default", "Disinvite": "Disinvite", "Display name": "Display name", @@ -234,6 +235,7 @@ "Email, name or matrix ID": "Email, name or matrix ID", "Emoji": "Emoji", "Enable encryption": "Enable encryption", + "enabled": "enabled", "Encrypted messages will not be visible on clients that do not yet implement encryption": "Encrypted messages will not be visible on clients that do not yet implement encryption", "Encrypted room": "Encrypted room", "%(senderName)s ended the call.": "%(senderName)s ended the call.", @@ -584,6 +586,7 @@ "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s", "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s", "Set a display name:": "Set a display name:", + "Set a Display Name": "Set a Display Name", "Upload an avatar:": "Upload an avatar:", "This server does not support authentication with a phone number.": "This server does not support authentication with a phone number.", "Missing password.": "Missing password.", @@ -682,7 +685,6 @@ "Opt out of analytics": "Opt out of analytics", "Options": "Options", "Riot collects anonymous analytics to allow us to improve the application.": "Riot collects anonymous analytics to allow us to improve the application.", - "Please select the destination room for this message": "Please select the destination room for this message", "Passphrases must match": "Passphrases must match", "Passphrase must not be empty": "Passphrase must not be empty", "Export room keys": "Export room keys", @@ -690,11 +692,12 @@ "Confirm passphrase": "Confirm passphrase", "Import room keys": "Import room keys", "File to import": "File to import", - "Enter passphrase": "Enter passphrase", "This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.": "This process allows you to export the keys for messages you have received in encrypted rooms to a local file. You will then be able to import the file into another Matrix client in the future, so that client will also be able to decrypt these messages.", "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.": "The exported file will allow anyone who can read it to decrypt any encrypted messages that you can see, so you should be careful to keep it secure. To help with this, you should enter a passphrase below, which will be used to encrypt the exported data. It will only be possible to import the data by using the same passphrase.", "This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.": "This process allows you to import encryption keys that you had previously exported from another Matrix client. You will then be able to decrypt any messages that the other client could decrypt.", - "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.", "You must join the room to see its files": "You must join the room to see its files", "Server may be unavailable, overloaded, or you hit a bug.": "Server may be unavailable, overloaded, or you hit a bug.", + "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.", + "You must join the room to see its files": "You must join the room to see its files", + "Server may be unavailable, overloaded, or you hit a bug.": "Server may be unavailable, overloaded, or you hit a bug.", "Reject all %(invitedRooms)s invites": "Reject all %(invitedRooms)s invites", "Start new Chat": "Start new Chat", "Guest users can't invite users. Please register.": "Guest users can't invite users. Please register.", diff --git a/src/i18n/strings/es.json b/src/i18n/strings/es.json index 818fbf0c39..849a685667 100644 --- a/src/i18n/strings/es.json +++ b/src/i18n/strings/es.json @@ -166,8 +166,8 @@ "Bug Report": "Reporte de error", "Bulk Options": "Opciones masivas", "Call Timeout": "Tiempo de espera de la llamada", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "No se puede conectar con el servidor - Por favor verifique su conexión y asegúrese de que su %(urlStart)s certificado SSL del servidor %(urlEnd)s sea confiable", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "No se puede conectar al servidor via HTTP, cuando es necesario un enlace HTTPS en la barra de direcciones de tu navegador. Ya sea usando HTTPS o %(urlStart)s habilitando los scripts inseguros %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "No se puede conectar con el servidor - Por favor verifique su conexión y asegúrese de que su certificado SSL del servidor sea confiable.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "No se puede conectar al servidor via HTTP, cuando es necesario un enlace HTTPS en la barra de direcciones de tu navegador. Ya sea usando HTTPS o habilitando los scripts inseguros.", "Can't load user settings": "No se puede cargar las configuraciones del usuario", "Change Password": "Cambiar clave", "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s ha cambiado su nombre de %(oldDisplayName)s a %(displayName)s.", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 47ab9c7573..e518f80924 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -209,8 +209,8 @@ "Blacklisted": "Sur liste noire", "Bug Report": "Rapport d'erreur", "Call Timeout": "Délai d’appel expiré", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Connexion au Home Server impossible - merci de vérifier votre connectivité et que le %(urlStart)s certificat SSL de votre Home Server %(urlEnd)s est de confiance", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Impossible de se connecter au homeserver en HTTP si l'URL dans la barre de votre explorateur est en HTTPS. Utilisez HTTPS ou %(urlStart)s activez le support des scripts non-vérifiés %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Connexion au Home Server impossible - merci de vérifier votre connectivité et que le certificat SSL de votre Home Server est de confiance.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Impossible de se connecter au homeserver en HTTP si l'URL dans la barre de votre explorateur est en HTTPS. Utilisez HTTPS ou activez le support des scripts non-vérifiés.", "Can't load user settings": "Impossible de charger les paramètres utilisateur", "Change Password": "Changer le mot de passe", "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s a changé son nom d’affichage de %(oldDisplayName)s en %(displayName)s.", diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 809fe6c0d6..668fd2ba32 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -167,8 +167,8 @@ "Bug Report": "Bug report", "Bulk Options": "Bulk opties", "Call Timeout": "Gesprek time-out", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Kan niet met de homeserver verbinden - controleer alsjeblieft je verbinding en wees zeker dat je %(urlStart)s homeserver's SSL certificaat %(urlEnd)s vertrouwd wordt", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Kan niet met de homeserver verbinden via HTTP wanneer er een HTTPS URL in je browser balk staat. Gebruik HTTPS of %(urlStart)s activeer onveilige scripts %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Kan niet met de homeserver verbinden - controleer alsjeblieft je verbinding en wees zeker dat je homeserver's SSL certificaat vertrouwd wordt.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Kan niet met de homeserver verbinden via HTTP wanneer er een HTTPS URL in je browser balk staat. Gebruik HTTPS of activeer onveilige scripts.", "Can't load user settings": "Kan de gebruiker instellingen niet laden", "Change Password": "Wachtwoord veranderen", "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s heeft zijn of haar weergave naam veranderd van %(oldDisplayName)s naar %(displayName)s.", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 7e4faf99a7..eb75bd4433 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -567,8 +567,8 @@ "sx": "Sutu", "sz": "Sami (Lappish)", "ve": "Venda", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Não consigo conectar ao servidor padrão - favor checar sua conexão à internet e verificar se o certificado SSL do seu %(urlStart)s servidor padrão %(urlEnd)s é confiável", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Não consigo conectar ao servidor padrão através de HTTP quando uma URL HTTPS está na barra de endereços do seu navegador. Use HTTPS ou então %(urlStart)s habilite scripts não seguros no seu navegador %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Não consigo conectar ao servidor padrão - favor checar sua conexão à internet e verificar se o certificado SSL do seu servidor padrão é confiável.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Não consigo conectar ao servidor padrão através de HTTP quando uma URL HTTPS está na barra de endereços do seu navegador. Use HTTPS ou então habilite scripts não seguros no seu navegador.", "Change Password": "Alterar senha", "changing room on a RoomView is not supported": "mudar a sala em uma 'RoomView' não é permitido", "Click to mute audio": "Clique para colocar o áudio no mudo", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 9ed540a198..1ae4719402 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -452,7 +452,7 @@ "and %(overflowCount)s others...": "и %(overflowCount)s других...", "Are you sure?": "Вы уверены?", "Autoplay GIFs and videos": "Проигрывать GIF и видео автоматически", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "Невозможно соединиться с домашним сервером - проверьте своё соединение и убедитесь, что %(urlStart)s SSL-сертификат вашего домашнего сервера %(urlEnd)s включён в доверяемые", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Невозможно соединиться с домашним сервером - проверьте своё соединение и убедитесь, что SSL-сертификат вашего домашнего сервера включён в доверяемые.", "changing room on a RoomView is not supported": "изменение комнаты в RoomView не поддерживается", "Click to mute audio": "Выключить звук", "Click to mute video": "Выключить звук у видео", @@ -651,5 +651,5 @@ "%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)sизменил своё изображение %(repeats)s раз", "%(severalUsers)schanged their avatar": "%(severalUsers)sизменили своё изображение", "%(oneUser)schanged their avatar": "%(oneUser)sизменил своё изображение", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "Не возможно подключиться к серверу через HTTP, когда в строке браузера HTTPS. Используйте HTTPS или %(urlStart) включив небезопасные скрипты %(urlEnd)" + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Не возможно подключиться к серверу через HTTP, когда в строке браузера HTTPS. Используйте HTTPS или включив небезопасные скрипты." } diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index d719b56ecc..f98bf452af 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -16,8 +16,8 @@ "Blacklisted": "已列入黑名單", "Bug Report": "錯誤報告", "Call Timeout": "通話超時", - "Can't connect to homeserver - please check your connectivity and ensure your %(urlStart)s homeserver's SSL certificate %(urlEnd)s is trusted": "無法連結主伺服器 - 請檢查網路狀況並確保您的 %(urlStart)s 主伺服器 SSL 證書 %(urlEnd)s 得到信任", - "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or %(urlStart)s enable unsafe scripts %(urlEnd)s": "當瀏覽器網址列里有 HTTPS URL 時,不能使用 HTTP 連結主伺服器。請採用 HTTPS 或者%(urlStart)s 允許不安全的腳本 %(urlEnd)s", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "無法連結主伺服器 - 請檢查網路狀況並確保您的 主伺服器 SSL 證書 得到信任", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "當瀏覽器網址列里有 HTTPS URL 時,不能使用 HTTP 連結主伺服器。請採用 HTTPS 或者 允許不安全的腳本", "Can't load user settings": "無法載入使用者設定", "Change Password": "變更密碼", "%(targetName)s left the room.": "%(targetName)s 離開了聊天室。" From 5e3af22c5d147893d9dde44ac9cb98ec3182fadf Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 1 Jun 2017 01:18:46 +0100 Subject: [PATCH 5/9] fix broken i18n variable --- src/i18n/strings/pt_BR.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index eb75bd4433..3846d5ba03 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -742,7 +742,7 @@ "The export file will be protected with a passphrase. You should enter the passphrase here, to decrypt the file.": "O arquivo exportado será protegido com uma senha. Você deverá inserir a senha aqui para poder descriptografar o arquivo futuramente.", "You must join the room to see its files": "Você precisa ingressar na sala para ver seus arquivos", "Server may be unavailable, overloaded, or you hit a bug.": "O servidor pode estar indisponível ou sobrecarregado, ou então você encontrou uma falha no sistema.", - "Reject all %(invitedRooms)s invites": "Rejeitar todos os %(invitedRoom)s convites", + "Reject all %(invitedRooms)s invites": "Rejeitar todos os %(invitedRooms)s convites", "Start new Chat": "Iniciar nova conversa", "Guest users can't invite users. Please register.": "Visitantes não podem convidar usuárias(os) registradas(os). Favor registrar.", "Failed to invite": "Falha ao enviar o convite", From 3d91b3163747a9b8b291055af3aab07780bfb04d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 1 Jun 2017 01:29:07 +0100 Subject: [PATCH 6/9] i18n invited, and delete stale warning --- src/components/views/rooms/MemberList.js | 8 +------- src/i18n/strings/en_EN.json | 1 + src/i18n/strings/fr.json | 1 + 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/components/views/rooms/MemberList.js b/src/components/views/rooms/MemberList.js index 20a0851bd4..63737d5fad 100644 --- a/src/components/views/rooms/MemberList.js +++ b/src/components/views/rooms/MemberList.js @@ -28,12 +28,6 @@ var CallHandler = require("../../../CallHandler"); var Invite = require("../../../Invite"); var INITIAL_LOAD_NUM_MEMBERS = 30; -var SHARE_HISTORY_WARNING = - - Newly invited users will see the history of this room.
- If you'd prefer invited users not to see messages that were sent before they joined,
- turn off, 'Share message history with new users' in the settings for this room. -
; module.exports = React.createClass({ displayName: 'MemberList', @@ -355,7 +349,7 @@ module.exports = React.createClass({ if (invitedMemberTiles.length > 0) { invitedSection = (
-

Invited

+

{ _t("Invited") }

{invitedMemberTiles}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index ab2286b57b..15aa3916bc 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -305,6 +305,7 @@ "Invalid file%(extra)s": "Invalid file%(extra)s", "%(senderName)s invited %(targetName)s.": "%(senderName)s invited %(targetName)s.", "Invite new room members": "Invite new room members", + "Invited": "Invited", "Invites": "Invites", "Invites user with given id to current room": "Invites user with given id to current room", "is a": "is a", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index e518f80924..0f54913030 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -311,6 +311,7 @@ "Invalid Email Address": "Adresse e-mail invalide", "%(senderName)s invited %(targetName)s.": "%(senderName)s a invité %(targetName)s.", "Invite new room members": "Inviter de nouveaux membres", + "Invited": "Invités", "Invites": "Invitations", "Invites user with given id to current room": "Inviter l’utilisateur avec un ID donné dans le salon actuel", "is a": "est un", From d0215983805b88525dc84b5ccc18a6ada07ef5d7 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 1 Jun 2017 02:04:43 +0100 Subject: [PATCH 7/9] fix typo --- src/languageHandler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languageHandler.js b/src/languageHandler.js index e447a5678b..1c3acab082 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -107,7 +107,7 @@ export function _tJsx(jsxText, patterns, subs) { } // Allow overriding the text displayed when no translation exists -// Currently only use din unit tests to avoid having to load +// Currently only used in unit tests to avoid having to load // the translations in riot-web export function setMissingEntryGenerator(f) { counterpart.setMissingEntryGenerator(f); From b1475cb3090d5adb2aa5d0f1993d20f9337adf71 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 1 Jun 2017 02:04:46 +0100 Subject: [PATCH 8/9] bump js-sdk --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0f1d4fb6e6..a6076a56d2 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "isomorphic-fetch": "^2.2.1", "linkifyjs": "^2.1.3", "lodash": "^4.13.1", - "matrix-js-sdk": "matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "0.7.9", "optimist": "^0.6.1", "q": "^1.4.1", "react": "^15.4.0", From 98c4252840b83ea287cf3f79e150d17e51daaaeb Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 1 Jun 2017 09:26:35 +0100 Subject: [PATCH 9/9] Throw errors when components don't look like components (#980) - instead of mysteriously throwing an error later on. --- src/Skinner.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/Skinner.js b/src/Skinner.js index 4482f2239c..0688c9fc26 100644 --- a/src/Skinner.js +++ b/src/Skinner.js @@ -23,22 +23,28 @@ class Skinner { if (this.components === null) { throw new Error( "Attempted to get a component before a skin has been loaded."+ - "This is probably because either:"+ + " This is probably because either:"+ " a) Your app has not called sdk.loadSkin(), or"+ - " b) A component has called getComponent at the root level" + " b) A component has called getComponent at the root level", ); } - var comp = this.components[name]; - if (comp) { - return comp; - } + let comp = this.components[name]; // XXX: Temporarily also try 'views.' as we're currently // leaving the 'views.' off views. - var comp = this.components['views.'+name]; - if (comp) { - return comp; + if (!comp) { + comp = this.components['views.'+name]; } - throw new Error("No such component: "+name); + + if (!comp) { + throw new Error("No such component: "+name); + } + + // components have to be functions. + const validType = typeof comp === 'function'; + if (!validType) { + throw new Error(`Not a valid component: ${name}.`); + } + return comp; } load(skinObject) {