From b8c4f906bb0388318d896d873f10dce51b943b6b Mon Sep 17 00:00:00 2001 From: BrianMwit Date: Mon, 5 Jun 2017 12:41:21 +0000 Subject: [PATCH 001/103] Added translation using Weblate (Thai) --- src/i18n/strings/th.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/th.json diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/i18n/strings/th.json @@ -0,0 +1 @@ +{} \ No newline at end of file From 8db7ce879a6e0df73d45f3427c024b1e652c6076 Mon Sep 17 00:00:00 2001 From: BrianMwit Date: Mon, 5 Jun 2017 12:51:44 +0000 Subject: [PATCH 002/103] Translated using Weblate (Thai) Currently translated at 2.6% (22 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 9e26dfeeb6..9e4266753c 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -1 +1,24 @@ -{} \ No newline at end of file +{ + "de": "เยอร์มัน", + "en-us": "อังกฤษ (สหรัฐอเมริกา)", + "en": "อังกฤษ", + "en-ca": "อังกฤษ(แคนาดา)", + "ja": "ญี่ปุ่น", + "fr": "ฝรั่งเศส", + "ko": "เกาหลี", + "th": "ไทย", + "vi": "เวียดนาม", + "accept": "ยอมรับ", + "Account": "บัญชี", + "Add phone number": "เพิ่มหมายเลขโทรศัพท์", + "Microphone": "ไมโครโฟน", + "No Microphones detected": "ไม่พบไมโครโฟน", + "Camera": "กล้อง", + "Advanced": "ขึ้นสูง", + "and": "และ", + "Ban": "แบน", + "Bug Report": "รายงานจุดบกพร่อง", + "Change Password": "เปลี่ยนรหัสผ่าน", + "Create Room": "สรัางห้อง", + "Delete": "ลบ" +} From 595f69b0cafe58d92a5b25d1cbbb5a7e34ea3839 Mon Sep 17 00:00:00 2001 From: BrianMwit Date: Mon, 5 Jun 2017 14:27:24 +0000 Subject: [PATCH 003/103] Translated using Weblate (Thai) Currently translated at 8.9% (74 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 55 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 9e4266753c..5254b501be 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -20,5 +20,58 @@ "Bug Report": "รายงานจุดบกพร่อง", "Change Password": "เปลี่ยนรหัสผ่าน", "Create Room": "สรัางห้อง", - "Delete": "ลบ" + "Delete": "ลบ", + "Default": "ค่าเริ่มต้น", + "(default: %(userName)s)": "(ค่าเริ่มต้น: %(userName)s)", + "Default Device": "อุปกรณ์เริ่มต้น", + "%(senderName)s banned %(targetName)s.": "%(senderName)s แบน %(targetName)s แล้ว", + "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s เปลี่ยนหัวข้อเป็น \"%(topic)s\" แล้ว", + "Decrypt %(text)s": "ถอดรหัส %(text)s", + "Device ID": "ID อุปกรณ์", + "Device ID:": "ID อุปกรณ์:", + "device id: ": "id อุปกรณ์: ", + "Devices": "อุปกรณ์", + "Direct Chat": "แชทโดยตรง", + "Download %(text)s": "ดาวน์โหลด %(text)s", + "Emoji": "อีโมจิ", + "Enable encryption": "เปิดใช้งานการเข้ารหัส", + "enabled": "เปิดใช้งานแล้ว", + "Error": "ข้อผิดพลาด", + "Found a bug?": "พบจุดบกพร่อง?", + "is a": "เป็น", + "%(displayName)s is typing": "%(displayName)s กำลังพิมพ์", + "Kick": "เตะ", + "Low priority": "ความสำคัญต่ำ", + "matrix-react-sdk version:": "เวอร์ชัน matrix-react-sdk:", + "Members only": "สมาชิกเท่านั้น", + "Mobile phone number": "หมายเลขโทรศัพท์", + "Mobile phone number (optional)": "หมายเลขโทรศัพท์ (เลือกหรือไม่ก็ได้)", + "Name": "ชื่อ", + "OK": "ตกลง", + "Password": "รหัสผ่าน", + "Password:": "รหัสผ่าน:", + "Please Register": "กรุณาลงทะเบียน", + "Profile": "", + "Reason": "เหตุผล", + "Register": "ลงทะเบียน", + "Results from DuckDuckGo": "ผลจาก DuckDuckGo", + "Return to app": "กลับไปยังแอป", + "riot-web version:": "เวอร์ชัน riot-web:", + "Cancel": "ยกเลิก", + "Dismiss": "ไม่สนใจ", + "Mute": "เงียบ", + "Notifications": "การแจ้งเตือน", + "Operation failed": "การดำเนินการล้มเหลว", + "powered by Matrix": "ใช้เทคโนโลยี Matrix", + "Search": "ค้นหา", + "Settings": "การตั้งค่า", + "unknown error code": "รหัสข้อผิดพลาดที่ไม่รู้จัก", + "Sunday": "วันอาทิตย์", + "Monday": "วันจันทร์", + "Tuesday": "วันอังคาร", + "Wednesday": "วันพุธ", + "Thursday": "วันพฤหัสบดี", + "Friday": "วันศุกร์", + "Saturday": "วันเสาร์", + "olm version:": "เวอร์ชัน olm:" } From 6ba1c01ff7554cb81fb33d941e35800ae9a18f2b Mon Sep 17 00:00:00 2001 From: Bamstam Date: Mon, 5 Jun 2017 17:13:13 +0000 Subject: [PATCH 004/103] Translated using Weblate (German) Currently translated at 99.8% (826 of 827 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 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4e0a922b52..88f3d52a16 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -46,8 +46,8 @@ "Return to app": "Zurück zur Anwendung", "Sign in": "Anmelden", "Create a new account": "Erstelle einen neuen Benutzer", - "Send an encrypted message": "Eine verschlüsselte Nachricht senden", - "Send a message (unencrypted)": "Sende eine Nachricht (unverschlüsselt)", + "Send an encrypted message": "Verschlüsselte Nachricht senden", + "Send a message (unencrypted)": "Nachricht senden (unverschlüsselt)", "Warning!": "Warnung!", "Direct Chat": "Privater Chat", "Error": "Fehler", @@ -191,7 +191,7 @@ "Return to login screen": "Zur Anmeldemaske zurückkehren", "Room Colour": "Raumfarbe", "Room name (optional)": "Raumname (optional)", - "Scroll to unread messages": "Scrolle zu ungelesenen Nachrichten", + "Scroll to unread messages": "Zu den ungelesenen Nachrichten scrollen", "Send Invites": "Einladungen senden", "Send Reset Email": "E-Mail für das Zurücksetzen senden", "sent an image": "hat ein Bild gesendet", @@ -342,7 +342,7 @@ "An error occured: %(error_string)s": "Ein Fehler trat auf: %(error_string)s", "Topic": "Thema", "Make this room private": "Mache diesen Raum privat", - "Share message history with new users": "Nachrichtenhistorie mit neuen Nutzern teilen", + "Share message history with new users": "Bisherigen Chatverlauf mit neuen Nutzern teilen", "Encrypt room": "Raum verschlüsseln", "To send events of type": "Zum Senden von Ereignissen mit Typ", "%(names)s and %(lastPerson)s are typing": "%(names)s und %(lastPerson)s schreiben", @@ -770,7 +770,7 @@ "You can also set a custom identity server but this will typically prevent interaction with users based on email address.": "Du kannst auch einen angepassten Idantitätsserver angeben aber dies wird typischerweise Interaktionen mit anderen Nutzern auf Basis der E-Mail-Adresse verhindern.", "Please check your email to continue registration.": "Bitte prüfe deine E-Mail um mit der Registrierung fortzufahren.", "Token incorrect": "Token inkorrekt", - "A text message has been sent to": "Eine Textnachricht wurde gesandt an", + "A text message has been sent to": "Eine Textnachricht wurde gesendet an", "Please enter the code it contains:": "Bitte gebe den Code ein, den sie enthält:", "powered by Matrix": "betrieben mit Matrix", "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Wenn du keine E-Mail-Adresse angibst, wirst du nicht in der Lage sein, dein Passwort zurückzusetzen. Bist du sicher?", From 86ca384bc4893ef7f5c8f885284acc7b70c47856 Mon Sep 17 00:00:00 2001 From: Max Sandholm Date: Mon, 5 Jun 2017 16:30:36 +0000 Subject: [PATCH 005/103] Translated using Weblate (Swedish) Currently translated at 35.4% (293 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/sv/ --- src/i18n/strings/sv.json | 117 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 5b376a22d6..af5e27acc2 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -176,5 +176,120 @@ "Banned users": "Bannade användare", "Bans user with given id": "Bannar användaren med givet ID", "Ban": "Banna", - "Attachment": "Bilaga" + "Attachment": "Bilaga", + "Call Timeout": "Samtalstimeout", + "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Det gick inte att ansluta till hemservern - kontrollera anslutningen och att hemserverns TLS-certifikat är pålitat.", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "Det går inte att ansluta till en hemserver via HTTP då adressen i webbläsaren är HTTPS. Använd HTTPS, eller sätt på osäkra skript.", + "Can't load user settings": "Det gick inte att ladda användarinställningar", + "Change Password": "Byt lösenord", + "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s bytte namn från %(oldDisplayName)s till %(displayName)s.", + "%(senderName)s changed their profile picture.": "%(senderName)s bytte sin profilbild.", + "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s bytte rummets namn till %(roomName)s.", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s tog bort rummets namn.", + "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s bytte rummets ämne till \"%(topic)s\".", + "Changes to who can read history will only apply to future messages in this room": "Ändringar till vem som kan läsa meddelandehistorik tillämpas endast till framtida meddelanden i det här rummet", + "Changes your display nickname": "Byter ditt synliga namn", + "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.": "Om du byter lösenord kommer för tillfället alla krypteringsnycklar på alla enheter att nollställas, vilket gör all krypterad meddelandehistorik omöjligt att läsa, om du inte först exporterar rumsnycklarna och sedan importerar dem efteråt. I framtiden kommer det här att förbättras.", + "Claimed Ed25519 fingerprint key": "Påstådd Ed25519-fingeravtrycksnyckel", + "Clear Cache and Reload": "Töm cache och ladda om", + "Clear Cache": "Töm cache", + "Click here": "Klicka här", + "Click here to fix": "Klicka här för att fixa", + "Click to mute audio": "Klicka för att dämpa ljud", + "Click to mute video": "Klicka för att stänga av video", + "click to reveal": "klicka för att avslöja", + "Click to unmute video": "Klicka för att sätta på video", + "Click to unmute audio": "Klicka för att sätta på ljud", + "Command error": "Kommandofel", + "Commands": "Kommandon", + "Conference call failed.": "Konferenssamtal misslyckades.", + "Conference calling is in development and may not be reliable.": "Konferenssamtal är under utveckling och är inte nödvändigtvis pålitliga.", + "Conference calls are not supported in encrypted rooms": "Konferenssamtal stöds inte i krypterade rum", + "Conference calls are not supported in this client": "Konferenssamtal stöds inte i den här klienten", + "Confirm password": "Bekräfta lösenord", + "Confirm your new password": "Bekräfta ditt nya lösenord", + "Continue": "Fortsätt", + "Could not connect to the integration server": "Det gick inte att ansluta till integrationsservern", + "Create an account": "Skapa ett konto", + "Create Room": "Skapa ett rum", + "Cryptography": "Kryptografi", + "Current password": "Nuvarande lösenord", + "Curve25519 identity key": "Curve25519 -identitetsnyckel", + "Custom level": "Egen nivå", + "/ddg is not a command": "/ddg är inte ett kommando", + "Deactivate Account": "Deaktivera konto", + "Deactivate my account": "Deaktivera mitt konto", + "decline": "avböj", + "Decrypt %(text)s": "Dekryptera %(text)s", + "Decryption error": "Dekrypteringsfel", + "(default: %(userName)s)": "(standard: %(userName)s)", + "Delete": "Radera", + "demote": "degradera", + "Deops user with given id": "Degraderar användaren med givet id", + "Default": "Standard", + "Device already verified!": "Enheten är redan verifierad!", + "Device ID": "Enhets-ID", + "Device ID:": "Enhets-ID:", + "device id: ": "enhets-id: ", + "Device key:": "Enhetsnyckel:", + "Devices": "Enheter", + "Devices will not yet be able to decrypt history from before they joined the room": "Enheter kan inte ännu dekryptera meddelandehistorik från före de gick med i rummet", + "Direct Chat": "Direkt-chatt", + "Direct chats": "Direkta chattar", + "disabled": "avstängd", + "Disable inline URL previews by default": "Stäng av inline-URL-förhandsvisningar som standard", + "Disinvite": "Häv inbjudan", + "Display name": "Namn", + "Displays action": "Visar handling", + "Don't send typing notifications": "Sänd inte \"skriver\"-status", + "Download %(text)s": "Ladda ner %(text)s", + "Drop here %(toAction)s": "Dra hit för att %(toAction)s", + "Drop here to tag %(section)s": "Dra hit för att tagga %(section)s", + "Ed25519 fingerprint": "Ed25519-fingeravtryck", + "Email": "Epost", + "Email address": "Epostadress", + "Email address (optional)": "Epostadress (valfri)", + "Email, name or matrix ID": "Epostadress, namn, eller Matrix-ID", + "Emoji": "Emoji", + "Enable encryption": "Sätt på kryptering", + "enabled": "aktiverat", + "Encrypted messages will not be visible on clients that do not yet implement encryption": "Krypterade meddelanden syns inte på klienter som inte ännu stöder kryptering", + "Encrypted room": "Krypterat rum", + "%(senderName)s ended the call.": "%(senderName)s avslutade samtalet.", + "End-to-end encryption information": "Krypteringsinformation", + "End-to-end encryption is in beta and may not be reliable": "Kryptering är i beta och är inte nödvändigtvis pålitligt", + "Enter Code": "Skriv in kod", + "Error": "Fel", + "Error decrypting attachment": "Det gick inte att dekryptera bilagan", + "Event information": "Händelseinformation", + "Existing Call": "Existerande samtal", + "Export": "Exportera", + "Export E2E room keys": "Exportera krypteringsrumsnycklar", + "Failed to ban user": "Det gick inte att banna användaren", + "Failed to change password. Is your password correct?": "Det gick inte att byta lösenord. Är lösenordet rätt?", + "Failed to change power level": "Det gick inte att ändra maktnivå", + "Failed to delete device": "Det gick inte att radera enhet", + "Failed to forget room %(errCode)s": "Det gick inte att glömma bort rummet %(errCode)s", + "Failed to join room": "Det gick inte att gå med i rummet", + "Failed to join the room": "Det gick inte att gå med i rummet", + "Failed to kick": "Det gick inte att kicka", + "Failed to leave room": "Det gick inte att lämna rummet", + "Failed to load timeline position": "Det gick inte att hämta positionen på tidslinjen", + "Failed to lookup current room": "Det gick inte att hämta det nuvarande rummet", + "Failed to mute user": "Det gick inte att dämpa användaren", + "Failed to register as guest:": "Det gick inte att registrera som gästanvändare:", + "Failed to reject invite": "Det gick inte att avböja inbjudan", + "Failed to reject invitation": "Det gick inte att avböja inbjudan", + "Failed to save settings": "Det gick inte att spara inställningarna", + "Failed to send email": "Det gick inte att skicka epost", + "Failed to send request.": "Det gick inte att sända begäran.", + "Failed to set avatar.": "Det gick inte att sätta profilbilden.", + "Failed to set display name": "Det gick inte att sätta namnet", + "Failed to set up conference call": "Det gick inte att starta konferenssamtalet", + "Failed to toggle moderator status": "Det gick inte att växla moderator-status", + "Failed to unban": "Det gick inte att avbanna", + "Failed to upload file": "Det gick inte att ladda upp filen", + "Failed to verify email address: make sure you clicked the link in the email": "Det gick inte att bekräfta epostadressen, klicka på länken i epostmeddelandet", + "Favourite": "Favorit", + "favourite": "favorit" } From 4e0989b077328a297ae6c3d1e87cccd1f849a68c Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Mon, 5 Jun 2017 17:11:24 +0000 Subject: [PATCH 006/103] Translated using Weblate (Thai) Currently translated at 9.7% (81 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 5254b501be..2b1ff24833 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -73,5 +73,12 @@ "Thursday": "วันพฤหัสบดี", "Friday": "วันศุกร์", "Saturday": "วันเสาร์", - "olm version:": "เวอร์ชัน olm:" + "olm version:": "เวอร์ชัน olm:", + "Report it": "รายงานเลย", + "Remove": "ลบ", + "Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง", + "Failed to join the room": "การเข้าร่วมห้องล้มเหลว", + "Drop here %(toAction)s": "ปล่อยที่นี่ %(toAction)s", + "Favourite": "รายการโปรด", + "Failed to forget room %(errCode)s": "การลืมห้องล้มเหลว %(errCode)s" } From ccafdfd7d36b531e2efab7262e29ea5922f273b9 Mon Sep 17 00:00:00 2001 From: Bitti Date: Mon, 5 Jun 2017 17:54:26 +0000 Subject: [PATCH 007/103] Translated using Weblate (German) Currently translated at 100.0% (827 of 827 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 88f3d52a16..54c4f350db 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -888,5 +888,6 @@ "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Deine E-Mail-Adresse scheint nicht mit einer Matrix-ID auf diesem Heimserver verbunden zu sein.", "$senderDisplayName changed the room avatar to ": "$senderDisplayName hat das Raum-Bild geändert zu ", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", - "Hide removed messages": "Gelöschte Nachrichten verbergen" + "Hide removed messages": "Gelöschte Nachrichten verbergen", + "Start new chat": "Starte neuen Chat" } From da2cca539fddc50b0513399ad9f9ebf572643d30 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Mon, 5 Jun 2017 20:23:02 +0000 Subject: [PATCH 008/103] Translated using Weblate (Hungarian) Currently translated at 0.1% (1 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 9e26dfeeb6..5430737f15 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "Cancel": "Mégse" +} From 1ad9e6e6fabaa314422ebed0e20236e7e0584e7a Mon Sep 17 00:00:00 2001 From: Vladi Date: Mon, 5 Jun 2017 19:07:19 +0000 Subject: [PATCH 009/103] Translated using Weblate (Russian) Currently translated at 76.9% (636 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 4d83321009..a0788a15dc 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -670,5 +670,8 @@ "Analytics": "Аналитика", "Riot collects anonymous analytics to allow us to improve the application.": "Riot собирет анонимные данные, чтобы улутшыть эту програму.", "Opt out of analytics": "Подтвердить отказ передачи аналитических данных", - "Logged in as:": "Зарегестрирован как:" + "Logged in as:": "Зарегестрирован как:", + "Default Device": "Стандартное устройство", + "No Webcams detected": "Веб-камера не обнаружена", + "VoIP": "VoIP" } From 503302fceab12b1641173cfa23348568526a091d Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Mon, 5 Jun 2017 23:45:22 +0000 Subject: [PATCH 010/103] Translated using Weblate (Thai) Currently translated at 39.2% (325 of 827 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 247 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 245 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 2b1ff24833..db67539b38 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -51,7 +51,7 @@ "Password": "รหัสผ่าน", "Password:": "รหัสผ่าน:", "Please Register": "กรุณาลงทะเบียน", - "Profile": "", + "Profile": "โปรไฟล์", "Reason": "เหตุผล", "Register": "ลงทะเบียน", "Results from DuckDuckGo": "ผลจาก DuckDuckGo", @@ -80,5 +80,248 @@ "Failed to join the room": "การเข้าร่วมห้องล้มเหลว", "Drop here %(toAction)s": "ปล่อยที่นี่ %(toAction)s", "Favourite": "รายการโปรด", - "Failed to forget room %(errCode)s": "การลืมห้องล้มเหลว %(errCode)s" + "Failed to forget room %(errCode)s": "การลืมห้องล้มเหลว %(errCode)s", + "%(targetName)s accepted an invitation.": "%(targetName)s ตอบรับคำเชิญแล้ว", + "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s ตอบรับคำเชิญสำหรับ %(displayName)s แล้ว", + "Add a topic": "เพิ่มหัวข้อ", + "Add email address": "เพิ่มที่อยู่อีเมล", + "Admin": "ผู้ดูแล", + "No Webcams detected": "ไม่พบกล้องเว็บแคม", + "No media permissions": "ไม่มีสิทธิ์เข้าถึงสื่อ", + "You may need to manually permit Riot to access your microphone/webcam": "คุณอาจต้องให้สิทธิ์ Riot เข้าถึงไมค์โครโฟนไมค์โครโฟน/กล้องเว็บแคม ด้วยตัวเอง", + "Algorithm": "อัลกอริทึม", + "Hide removed messages": "ซ่อนข้อความที่ถูกลบแล้ว", + "Authentication": "การยืนยันตัวตน", + "all room members": "สมาชิกทั้งหมด", + "all room members, from the point they are invited": "สมาชิกทั้งหมด นับตั้งแต่เมื่อได้รับคำเชิญ", + "all room members, from the point they joined": "สมาชิกทั้งหมด นับตั้งแต่เมื่อเข้าร่วมห้อง", + "an address": "ที่อยู่", + "%(items)s and %(remaining)s others": "%(items)s และอีก %(remaining)s อย่าง", + "%(items)s and one other": "%(items)s และอีกหนึ่งอย่าง", + "%(items)s and %(lastItem)s": "%(items)s และ %(lastItem)s", + "and %(overflowCount)s others...": "และอีก %(overflowCount)s ผู้ใช้...", + "and one other...": "และอีกหนึ่งผู้ใช้...", + "%(names)s and %(lastPerson)s are typing": "%(names)s และ %(lastPerson)s กำลังพิมพ์", + "%(names)s and one other are typing": "%(names)s และอีกหนึ่งคนกำลังพิมพ์", + "%(names)s and %(count)s others are typing": "%(names)s และอีก %(count)s คนกำลังพิมพ์", + "%(senderName)s answered the call.": "%(senderName)s รับสายแล้ว", + "anyone": "ทุกคน", + "An error has occurred.": "เกิดข้อผิดพลาด", + "Anyone": "ทุกคน", + "Anyone who knows the room's link, apart from guests": "ทุกคนที่มีลิงก์ ยกเว้นแขก", + "Anyone who knows the room's link, including guests": "ทุกคนที่มีลิงก์ รวมถึงแขก", + "Are you sure?": "คุณแน่ใจหรือไม่?", + "Are you sure you want to leave the room '%(roomName)s'?": "คุณแน่ใจหรือว่าต้องการจะออกจากห้อง '%(roomName)s'?", + "Are you sure you want to reject the invitation?": "คุณแน่ใจหรือว่าต้องการจะปฏิเสธคำเชิญ?", + "Are you sure you want to upload the following files?": "คุณแน่ใจหรือว่าต้องการอัปโหลดไฟล์ต่อไปนี้?", + "Attachment": "ไฟล์แนบ", + "Autoplay GIFs and videos": "เล่น GIF และวิดิโออัตโนมัติ", + "Banned users": "ผู้ใช้ที่ถูกแบน", + "Bans user with given id": "ผู้ใช้และ id ที่ถูกแบน", + "Blacklisted": "ขึ้นบัญชีดำ", + "Can't load user settings": "ไม่สามารถโหลดการตั้งค่าผู้ใช้ได้", + "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s ได้เปลี่ยนชื่อที่แสดงจาก %(oldDisplayName)s ไปเป็น %(displayName)s", + "%(senderName)s changed their profile picture.": "%(senderName)s เปลี่ยนรูปโปรไฟล์ของเขา", + "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s เปลี่ยนชื่อห้องไปเป็น %(roomName)s", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s ลบชื่อห้อง", + "Changes your display nickname": "เปลี่ยนชื่อเล่นที่แสดงของคุณ", + "changing room on a RoomView is not supported": "ไม่รองรับการเปลี่ยนห้องใน RoomView", + "Clear Cache and Reload": "ล้างแคชแล้วโหลดใหม่", + "Clear Cache": "ล้างแคช", + "Click here": "คลิกที่นี่", + "Click here to fix": "คลิกที่นี่เพื่อแก้ไข", + "Click to mute audio": "คลิกที่นี่เพื่อปิดเสียง", + "Click to mute video": "คลิกที่นี่เพื่อปิดกล้อง", + "click to reveal": "คลิกเพื่อแสดง", + "Click to unmute video": "คลิกเพื่อเปิดกล้อง", + "Click to unmute audio": "คลิกเพื่อเปิดเสียง", + "Command error": "คำสั่งผิดพลาด", + "Commands": "คำสั่ง", + "Conference call failed.": "การโทรประชุมล้มเหลว", + "Conference calling is in development and may not be reliable.": "การโทรประชุมอยู่ระหว่างการพัฒนาและอาจพึ่งพาไม่ได้", + "Conference calls are not supported in encrypted rooms": "การโทรประชุมไม่รองรับห้องที่ถูกเข้ารหัส", + "Conference calls are not supported in this client": "ไคลเอนต์นี้ไม่รองรับการโทรประชุม", + "Confirm password": "ยืนยันรหัสผ่าน", + "Confirm your new password": "ยืนยันรหัสผ่านใหม่", + "Continue": "ดำเนินการต่อ", + "Create an account": "สร้างบัญชี", + "Cryptography": "วิทยาการเข้ารหัส", + "Current password": "รหัสผ่านปัจจุบัน", + "/ddg is not a command": "/ddg ไม่ใช่คำสั่ง", + "Deactivate Account": "ปิดการใช้งานบัญชี", + "Deactivate my account": "ปิดการใช้งานบัญชีของฉัน", + "decline": "ปฏิเสธ", + "Decryption error": "การถอดรหัสผิดพลาด", + "demote": "ลดขั้น", + "Device already verified!": "ยืนยันอุปกรณ์แล้ว!", + "Device key:": "Key อุปกรณ์:", + "Devices will not yet be able to decrypt history from before they joined the room": "อุปกรณ์จะยังไม่สามารถถอดรหัสประวัติแชทก่อนจะเข้าร่วมห้องได้", + "Direct chats": "แชทตรง", + "disabled": "ถูกปิดใช้งาน", + "Disinvite": "ถอนคำเชิญ", + "Display name": "ชื่อที่แสดง", + "Don't send typing notifications": "ไม่แจ้งว่ากำลังพิมพ์", + "Drop here to tag %(section)s": "ปล่อยที่นี่เพื่อแท็กว่า %(section)s", + "Ed25519 fingerprint": "ลายนิ้วมือ Ed25519", + "Email": "อีเมล", + "Email address": "ที่อยู่อีเมล", + "Email address (optional)": "ที่อยู่อีเมล (เลือกหรือไม่ก็ได้)", + "Email, name or matrix ID": "อีเมล ชื่อ หรือ ID matrix", + "Encrypted room": "ห้องที่ถูกเข้ารหัส", + "%(senderName)s ended the call.": "%(senderName)s จบการโทร", + "Enter Code": "กรอกรหัส", + "Error decrypting attachment": "การถอดรหัสไฟล์แนบผิดพลาด", + "Export": "ส่งออก", + "Failed to ban user": "การแบนผู้ใช้ล้มเหลว", + "Failed to change password. Is your password correct?": "การเปลี่ยนรหัสผ่านล้มเหลว รหัสผ่านของคุณถูกต้องหรือไม่?", + "Failed to delete device": "การลบอุปกรณ์ล้มเหลว", + "Failed to join room": "การเข้าร่วมห้องล้มเหลว", + "Failed to kick": "การเตะล้มเหลว", + "Failed to leave room": "การออกจากห้องล้มเหลว", + "Failed to lookup current room": "การหาห้องปัจจุบันล้มเหลว", + "Failed to register as guest:": "การลงทะเบียนในฐานะแขกล้มเหลว:", + "Failed to reject invite": "การปฏิเสธคำเชิญล้มเหลว", + "Failed to reject invitation": "การปฏิเสธคำเชิญล้มเหลว", + "Failed to save settings": "การบันทึกการตั้งค่าล้มเหลว", + "Failed to send email": "การส่งอีเมลล้มเหลว", + "Failed to send request.": "การส่งคำขอล้มเหลว", + "Failed to set display name": "การตั้งชื่อที่แสดงล้มเหลว", + "Failed to toggle moderator status": "การสลับสถานะผู้ช่วยดูแลล้มเหลว", + "Failed to unban": "การถอนแบนล้มเหลว", + "Failed to upload file": "การอัปโหลดไฟล์ล้มเหลว", + "Failed to verify email address: make sure you clicked the link in the email": "การยืนยันอีเมลล้มเหลว: กรุณาตรวจสอบว่าคุณคลิกลิงก์ในอีเมลแล้ว", + "Failure to create room": "การสร้างห้องล้มเหลว", + "favourite": "รายการโปรด", + "Favourites": "รายการโปรด", + "Filter room members": "กรองสมาชิกห้อง", + "Forget room": "ลืมห้อง", + "Forgot your password?": "ลิมรหัสผ่าน?", + "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s จาก %(fromPowerLevel)s ไปเป็น %(toPowerLevel)s", + "had": "เคยมี", + "Hangup": "วางสาย", + "Historical": "ประวัติแชทเก่า", + "Homeserver is": "เซิร์ฟเวอร์บ้านคือ", + "Identity Server is": "เซิร์ฟเวอร์ยืนยันตัวตนคือ", + "I have verified my email address": "ฉันยืนยันที่อยู่อีเมลแล้ว", + "Import": "นำเข้า", + "Incorrect username and/or password.": "ชื่อผู้ใช้และ/หรือรหัสผ่านไม่ถูกต้อง", + "Incorrect verification code": "รหัสยืนยันไม่ถูกต้อง", + "Interface Language": "ภาษาอินเตอร์เฟส", + "Invalid alias format": "รูปแบบนามแฝงไม่ถูกต้อง", + "Invalid address format": "รูปแบบที่อยู่ไม่ถูกต้อง", + "Invalid Email Address": "ที่อยู่อีเมลไม่ถูกต้อง", + "Invalid file%(extra)s": "ไฟล์ %(extra)s ไม่ถูกต้อง", + "%(senderName)s invited %(targetName)s.": "%(senderName)s เชิญ %(targetName)s แล้ว", + "Invite new room members": "เชิญสมาชิกใหม่", + "Invited": "เชิญแล้ว", + "Invites": "คำเชิญ", + "Invites user with given id to current room": "เชิญผู้ใช้ พร้อม id ของห้องปัจจุบัน", + "'%(alias)s' is not a valid format for an address": "'%(alias)s' ไม่ใช่รูปแบบที่ถูกต้องสำหรับที่อยู่", + "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ไม่ใช่รูปแบบที่ถูกต้องสำหรับนามแฝง", + "Sign in with": "เข้าสู่ระบบด้วย", + "Join Room": "เข้าร่วมห้อง", + "joined and left": "เข้าร่วมแล้วออกจากห้อง", + "joined": "เข้าร่วมแล้ว", + "%(targetName)s joined the room.": "%(targetName)s เข้าร่วมห้องแล้ว", + "Jump to first unread message.": "ข้ามไปยังข้อความแรกที่ยังไม่ได้อ่าน", + "%(senderName)s kicked %(targetName)s.": "%(senderName)s เตะ %(targetName)s แล้ว", + "Labs": "ห้องทดลอง", + "Leave room": "ออกจากห้อง", + "left and rejoined": "ออกแล้วกลับเข้าร่วมอีกครั้ง", + "left": "ออกไปแล้ว", + "%(targetName)s left the room.": "%(targetName)s ออกจากห้องไปแล้ว", + "List this room in %(domain)s's room directory?": "แสดงห้องนี้ในไดเรกทอรีห้องของ %(domain)s?", + "Logged in as:": "เข้าสู่ระบบในชื่อ:", + "Login as guest": "เข้าสู่ระบบในฐานะแขก", + "Logout": "ออกจากระบบ", + "Markdown is disabled": "ปิดใช้งาน Markdown แล้ว", + "Markdown is enabled": "เปิดใช้งาน Markdown แล้ว", + "Missing user_id in request": "ไม่พบ user_id ในคำขอ", + "Moderator": "ผู้ช่วยดูแล", + "my Matrix ID": "Matrix ID ของฉัน", + "New address (e.g. #foo:%(localDomain)s)": "ที่อยู่ใหม่ (เช่น #foo:%(localDomain)s)", + "New password": "รหัสผ่านใหม่", + "New passwords don't match": "รหัสผ่านใหม่ไม่ตรงกัน", + "New passwords must match each other.": "รหัสผ่านใหม่ทั้งสองช่องต้องตรงกัน", + "none": "ไม่มี", + "not set": "ไม่ได้ตั้ง", + "not specified": "ไม่ได้ระบุ", + "(not supported by this browser)": "(เบราว์เซอร์นี้ไม่รองรับ)", + "": "<ไม่รองรับ>", + "NOT verified": "ยังไม่ได้ยืนยัน", + "No more results": "ไม่มีผลลัพธ์อื่น", + "No results": "ไม่มีผลลัพธ์", + "Once you've followed the link it contains, click below": "หลังจากคุณเปิดลิงก์ข้างในแล้ว คลิกข้างล่าง", + "Passwords can't be empty": "รหัสผ่านต้องไม่ว่าง", + "People": "บุคคล", + "Permissions": "สิทธิ์", + "Phone": "โทรศัพท์", + "%(senderName)s placed a %(callType)s call.": "%(senderName)s ได้เริ่มการโทรแบบ%(callType)s", + "Please check your email and click on the link it contains. Once this is done, click continue.": "กรุณาเช็คอีเมลและคลิกลิงก์ข้างใน หลังจากนั้น คลิกดำเนินการต่อ", + "Privacy warning": "คำเตือนเกี่ยวกับความเป็นส่วนตัว", + "Privileged Users": "ผู้ใช้ที่มีสิทธิพิเศษ", + "Revoke Moderator": "เพิกถอนผู้ช่วยดูแล", + "Refer a friend to Riot:": "แนะนำเพื่อนให้รู้จัก Riot:", + "Registration required": "ต้องลงทะเบียนก่อน", + "rejected": "ปฏิเสธแล้ว", + "%(targetName)s rejected the invitation.": "%(targetName)s ปฏิเสธคำเชิญแล้ว", + "Reject invitation": "ปฏิเสธคำเชิญ", + "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s ลบชื่อที่แสดงแล้ว (%(oldDisplayName)s)", + "%(senderName)s removed their profile picture.": "%(senderName)s ลบรูปโปรไฟล์ของเขาแล้ว", + "Remove %(threePid)s?": "ลบ %(threePid)s?", + "restore": "กู้คืน", + "Return to login screen": "กลับไปยังหน้าลงชื่อเข้าใช้", + "Riot does not have permission to send you notifications - please check your browser settings": "Riot ไม่มีสิทธิ์ส่งการแจ้งเตือน - กรุณาตรวจสอบการตั้งค่าเบราว์เซอร์ของคุณ", + "Riot was not given permission to send notifications - please try again": "Riot ไม่ได้รับสิทธิ์ส่งการแจ้งเตือน - กรุณาลองใหม่อีกครั้ง", + "Room Colour": "สีห้อง", + "Room name (optional)": "ชื้อห้อง (เลือกหรือไม่ก็ได้)", + "Rooms": "ห้องสนทนา", + "Save": "บันทึก", + "Scroll to bottom of page": "เลื่อนลงไปล่างสุด", + "Scroll to unread messages": "เลี่ยนไปที่ข้อความที่ยังไม่ได้อ่าน", + "Search failed": "การค้นหาล้มเหลว", + "Searches DuckDuckGo for results": "ค้นหาบน DuckDuckGo", + "Send a message (unencrypted)": "ส่งข้อความ (ไม่เข้ารหัส)", + "Send an encrypted message": "ส่งข้อความที่เข้ารหัสแล้ว", + "Send Invites": "ส่งคำเชิญ", + "sent an image": "ส่งรูป", + "%(senderDisplayName)s sent an image.": "%(senderDisplayName)s ได้ส่งรูป", + "%(senderName)s sent an invitation to %(targetDisplayName)s to join the room.": "%(senderName)s ได้ส่งคำเชิญให้ %(targetDisplayName)s เข้าร่วมห้อง", + "sent a video": "ส่งวิดิโอ", + "Server error": "เซิร์ฟเวอร์ผิดพลาด", + "Server may be unavailable or overloaded": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งานหรือทำงานหนักเกินไป", + "Server may be unavailable, overloaded, or search timed out :(": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งาน ทำงานหนักเกินไป หรือการค้นหาหมดเวลา :(", + "Server may be unavailable, overloaded, or the file too big": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งาน ทำงานหนักเกินไป หรือไฟล์ใหญ่เกินไป", + "Server may be unavailable, overloaded, or you hit a bug.": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งาน ทำงานหนักเกินไป หรือเจอจุดบกพร่อง", + "Server unavailable, overloaded, or something else went wrong.": "เซิร์ฟเวอร์อาจไม่พร้อมใช้งาน ทำงานหนักเกินไป หรือบางอย่างผิดปกติ", + "%(senderName)s set a profile picture.": "%(senderName)s ตั้งรูปโปรไฟล์", + "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s ตั้งชื่อที่แสดงเป็น %(displayName)s", + "Setting a user name will create a fresh account": "การตั้งชื่อผู้ใช้จะสร้างบัญชีใหม่", + "Show panel": "แสดงหน้าต่าง", + "Signed Out": "ออกจากระบบแล้ว", + "Sign in": "เข้าสู่ระบบ", + "Sign out": "ออกจากระบบ", + "Someone": "ใครบางคน", + "Always show message timestamps": "แสดงเวลาในแชทเสมอ", + "Show timestamps in 12 hour format (e.g. 2:30pm)": "แสดงเวลาในแชทในรูปแบบ 12 ชั่วโมง (เช่น 2:30pm)", + "Start a chat": "เริ่มแชท", + "Start Chat": "เริ่มแชท", + "Submit": "ส่ง", + "Success": "สำเร็จ", + "tag as %(tagName)s": "แท็กว่า %(tagName)s", + "tag direct chat": "แท็กว่าแชทตรง", + "Tagged as: ": "แท็กไว้ว่า: ", + "The main address for this room is": "ที่อยู่หลักของห้องนี้คือ", + "This email address is already in use": "ที่อยู่อีเมลถูกใช้แล้ว", + "This email address was not found": "ไม่พบที่อยู่อีเมล", + "%(actionVerb)s this person?": "%(actionVerb)s บุคคลนี้?", + "The file '%(fileName)s' failed to upload": "การอัปโหลดไฟล์ '%(fileName)s' ล้มเหลว", + "This Home Server does not support login using email address.": "เซิร์ฟเวอร์บ้านนี้ไม่รองรับการลงชื่อเข้าใช้ด้วยที่อยู่อีเมล", + "There was a problem logging in.": "มีปัญหาในการลงชื่อเข้าใช้", + "This room is private or inaccessible to guests. You may be able to join if you register": "ห้องนี้เป็นส่วนตัวหรือไม่อนุญาตให้แขกเข้าถึง คุณอาจเข้าร่วมได้หากคุณลงทะเบียน", + "this invitation?": "คำเชิญนี้?", + "This is a preview of this room. Room interactions have been disabled": "นี่คือตัวอย่างของห้อง การตอบสนองภายในห้องถูกปิดใช้งาน", + "This phone number is already in use": "หมายเลขโทรศัพท์นี้ถูกใช้งานแล้ว", + "This room's internal ID is": "ID ภายในของห้องนี้คือ", + "times": "เวลา" } From 1efd3513f2195436acf9aebb516f1fef2ea173d5 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Tue, 6 Jun 2017 13:46:03 +0000 Subject: [PATCH 011/103] Translated using Weblate (German) Currently translated at 99.8% (827 of 828 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 54c4f350db..15375b8f90 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -834,7 +834,7 @@ "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s hat das Raum-Bild entfernt.", "VoIP": "VoIP", "No Webcams detected": "Keine Webcam erkannt", - "Missing Media Permissions, click here to request.": "Fehlende Medienberechtigungen. Klicke hier um anzufragen.", + "Missing Media Permissions, click here to request.": "Fehlende Medienberechtigungen. Hier klicken, um Berechtigungen zu beantragen.", "No Microphones detected": "Keine Mikrofone erkannt", "No media permissions": "Keine Medienberechtigungen", "You may need to manually permit Riot to access your microphone/webcam": "Gegebenenfalls kann es notwendig sein, dass du Riot manuell den Zugriff auf dein Mikrofon bzw. deine Webcam gewähren musst", @@ -889,5 +889,5 @@ "$senderDisplayName changed the room avatar to ": "$senderDisplayName hat das Raum-Bild geändert zu ", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", "Hide removed messages": "Gelöschte Nachrichten verbergen", - "Start new chat": "Starte neuen Chat" + "Start new chat": "Neuen Chat starten" } From 0f452062b1d13fd9bb419b5893a64aab3edb1ea1 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Tue, 6 Jun 2017 17:32:11 +0000 Subject: [PATCH 012/103] Translated using Weblate (German) Currently translated at 99.8% (827 of 828 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 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 15375b8f90..759c99be23 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -6,7 +6,7 @@ "People": "Direkt-Chats", "Rooms": "Räume", "Low priority": "Niedrige Priorität", - "Historical": "Historisch", + "Historical": "Archiv", "New passwords must match each other.": "Die neuen Passwörter müssen identisch sein.", "A new password must be entered.": "Es muss ein neues Passwort eingegeben werden.", "The email address linked to your account must be entered.": "Es muss die Email-Adresse eingeben werden, welche zum Account gehört.", @@ -75,7 +75,7 @@ "changed the topic to": "änderte das Thema zu", "Changes to who can read history will only apply to future messages in this room": "Änderungen, die bestimmen, wer den Chatverlauf lesen kann, gelten nur für zukünftige Nachrichten in diesem Raum", "Clear Cache and Reload": "Cache leeren und neu laden", - "Click here": "Klicke hier", + "Click here": "Hier klicken,", "Confirm your new password": "Neues Passwort bestätigen", "Continue": "Fortfahren", "Create an account": "Erstelle einen Account", @@ -96,7 +96,7 @@ "End-to-end encryption is in beta and may not be reliable": "Die Ende-zu-Ende-Verschlüsselung befindet sich aktuell im Beta-Stadium und ist eventuell noch nicht hundertprozentig zuverlässig", "Failed to send email": "Fehler beim Senden der E-Mail", "Account": "Konto", - "Add phone number": "Füge Telefonnummer hinzu", + "Add phone number": "Telefonnummer hinzufügen", "an address": "an Adresse", "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "Dein Passwort wurde erfolgreich geändert. Du wirst erst Benachrichtigungen auf anderen Geräten empfangen können, wenn du dich dort erneut anmeldest", "all room members": "Alle Raum-Mitglieder", @@ -336,7 +336,7 @@ "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "Passwort zu kurz (min. %(MIN_PASSWORD_LENGTH)s).", "This doesn't look like a valid email address.": "Dies scheint keine gültige E-Mail-Adresse zu sein.", "This doesn't look like a valid phone number.": "Dies scheint keine gültige Telefonnummer zu sein.", - "User names may only contain letters, numbers, dots, hyphens and underscores.": "Benutzernamen sollen nur Buchstaben, Nummern, Binde- und Unterstriche enthalten.", + "User names may only contain letters, numbers, dots, hyphens and underscores.": "Benutzernamen dürfen nur Buchstaben, Nummern, Punkte, Binde- und Unterstriche enthalten.", "An unknown error occurred.": "Ein unbekannter Fehler trat auf.", "I already have an account": "Ich habe bereits einen Account", "An error occured: %(error_string)s": "Ein Fehler trat auf: %(error_string)s", @@ -427,7 +427,7 @@ "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 Nutzer zu verbergen", - "You are trying to access %(roomName)s": "Du versuchst auf %(roomName)s zuzugreifen", + "You are trying to access %(roomName)s": "Du versuchst, auf den Raum \"%(roomName)s\" zuzugreifen", "af": "Afrikaans", "ar-ae": "Arabisch (VAE)", "ar-bh": "Arabisch (Bahrain)", @@ -863,7 +863,7 @@ "Device key:": "Geräte-Schlüssel:", "Email address (optional)": "E-Mail-Adresse (optional)", "List this room in %(domain)s's room directory?": "Liste diesen Raum in %(domain)s's Raumverzeichnis?", - "Mobile phone number (optional)": "Handynummer (optional)", + "Mobile phone number (optional)": "Mobilfunknummer (optional)", "Password:": "Passwort:", "Register": "Registrieren", "Save": "Speichern", From bc4c9ec4fd347e87e4c439e311ff588ac5b51f82 Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Tue, 6 Jun 2017 18:18:09 +0000 Subject: [PATCH 013/103] Translated using Weblate (Thai) Currently translated at 39.7% (329 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index db67539b38..56a98ff583 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -96,8 +96,8 @@ "all room members, from the point they are invited": "สมาชิกทั้งหมด นับตั้งแต่เมื่อได้รับคำเชิญ", "all room members, from the point they joined": "สมาชิกทั้งหมด นับตั้งแต่เมื่อเข้าร่วมห้อง", "an address": "ที่อยู่", - "%(items)s and %(remaining)s others": "%(items)s และอีก %(remaining)s อย่าง", - "%(items)s and one other": "%(items)s และอีกหนึ่งอย่าง", + "%(items)s and %(remaining)s others": "%(items)s และอีก %(remaining)s ผู้ใช้", + "%(items)s and one other": "%(items)s และอีกหนึ่งผู้ใช้", "%(items)s and %(lastItem)s": "%(items)s และ %(lastItem)s", "and %(overflowCount)s others...": "และอีก %(overflowCount)s ผู้ใช้...", "and one other...": "และอีกหนึ่งผู้ใช้...", @@ -323,5 +323,9 @@ "This is a preview of this room. Room interactions have been disabled": "นี่คือตัวอย่างของห้อง การตอบสนองภายในห้องถูกปิดใช้งาน", "This phone number is already in use": "หมายเลขโทรศัพท์นี้ถูกใช้งานแล้ว", "This room's internal ID is": "ID ภายในของห้องนี้คือ", - "times": "เวลา" + "times": "เวลา", + "%(oneUser)schanged their name": "%(oneUser)sเปลี่ยนชื่อของเขาแล้ว", + "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)sเปลี่ยนชื่อของพวกเขา %(repeats)s ครั้ง", + "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)sเปลี่ยนชื่อของเขา %(repeats)s ครั้ง", + "%(severalUsers)schanged their name": "%(severalUsers)sเปลี่ยนชื่อของพวกเขาแล้ว" } From 096edabd45f71a30860689cbc17eaa6cc05b0f0b Mon Sep 17 00:00:00 2001 From: Krombel Date: Tue, 6 Jun 2017 20:01:02 +0000 Subject: [PATCH 014/103] Translated using Weblate (German) Currently translated at 99.8% (828 of 828 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 759c99be23..003c1601e7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -889,5 +889,6 @@ "$senderDisplayName changed the room avatar to ": "$senderDisplayName hat das Raum-Bild geändert zu ", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", "Hide removed messages": "Gelöschte Nachrichten verbergen", - "Start new chat": "Neuen Chat starten" + "Start new chat": "Neuen Chat starten", + "Disable markdown formatting": "Deaktiviere Markdown-Formatierung" } From f1fd4e5d262b2cf9c327388861b8cb6350e15ade Mon Sep 17 00:00:00 2001 From: Szimszon Date: Tue, 6 Jun 2017 20:41:54 +0000 Subject: [PATCH 015/103] Translated using Weblate (Hungarian) Currently translated at 3.1% (26 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 5430737f15..748810f76e 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -1,3 +1,28 @@ { - "Cancel": "Mégse" + "Cancel": "Mégse", + "Search": "Keresés", + "OK": "Rendben", + "Custom Server Options": "Egyedi szerver beállítások", + "Direct Chat": "Közvetlen csevegés", + "Dismiss": "Eltűntet", + "Drop here %(toAction)s": "%(toAction)s -t húzd ide", + "Error": "Hiba", + "Failed to forget room %(errCode)s": "Nem lehet eltávolítani a szobát: %(errCode)s", + "Failed to join the room": "Nem lehet csatlakozni a szobához", + "Favourite": "Kedvenc", + "Mute": "Elnémít", + "Notifications": "Értesítések", + "Operation failed": "Művelet sikertelen", + "Please Register": "Regisztrálj", + "powered by Matrix": "Matrixon alapul", + "Remove": "Töröl", + "Settings": "Beállítások", + "unknown error code": "ismeretlen hiba kód", + "Sunday": "Vasárnap", + "Monday": "Hétfő", + "Tuesday": "Kedd", + "Wednesday": "Szerda", + "Thursday": "Csütörtök", + "Friday": "Péntek", + "Saturday": "Szombat" } From ccb058f4cf359e67223209a1d3912cc7d1e7581a Mon Sep 17 00:00:00 2001 From: Stanislav N Date: Wed, 7 Jun 2017 05:25:05 +0000 Subject: [PATCH 016/103] Translated using Weblate (Russian) Currently translated at 77.4% (641 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index a0788a15dc..ea671bd61b 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -84,11 +84,11 @@ "Failed to upload file": "Не удалось закачать файл", "Favourite": "Избранное", "favourite": "фаворит", - "Favourites": "Фавориты", + "Favourites": "Избранное", "Filter room members": "Фильтр участников комнаты", "Forget room": "Забыть комнату", "Forgot your password?": "Вы забыли пароль?", - "For security, this session has been signed out. Please sign in again.": "Для обеспечения безопасности, эта сессия была подписана. Войдите в систему еще раз.", + "For security, this session has been signed out. Please sign in again.": "Для обеспечения безопасности эта сессия была завершена. Войдите в систему еще раз.", "Found a bug?": "Нашли ошибку?", "had": "имеет", "Hangup": "Отключение", @@ -228,7 +228,7 @@ "%(senderName)s banned %(targetName)s.": "%(senderName)s запрещенный %(targetName)s.", "Call Timeout": "Время ожидания вызова", "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s их имя измененное с %(oldDisplayName)s на %(displayName)s.", - "%(senderName)s changed their profile picture.": "%(senderName)s измененное ихнее фото профиля.", + "%(senderName)s changed their profile picture.": "%(senderName)s изменил фото профиля.", "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s уровень мощности изменен на %(powerLevelDiffText)s.", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s имя комнаты измененно на %(roomName)s.", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s измененная тема на %(topic)s.", @@ -673,5 +673,10 @@ "Logged in as:": "Зарегестрирован как:", "Default Device": "Стандартное устройство", "No Webcams detected": "Веб-камера не обнаружена", - "VoIP": "VoIP" + "VoIP": "VoIP", + "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Для обеспечения безопасности выход из системы удалит все ключи шифроования из этого браузера. Если вы хотите иметь возможность расшифровать переписку в будущем - вы должны экспортирвать ключи вручную.", + "Guest access is disabled on this Home Server.": "Гостевой доступ отключен на этом сервере.", + "Guests can't set avatars. Please register.": "Гости не могут устанавливать аватар. Пожалуйста, зарегистрируйтесь.", + "Guests can't use labs features. Please register.": "Гости не могут использовать экспериментальные возможности. Пожалуйста, зарегистрируйтесь.", + "Guests cannot join this room even if explicitly invited.": "Гости не могут заходить в эту комнату если не были приглашены." } From fd8709e4342700945890d8005e05c41f1a3c1849 Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Tue, 6 Jun 2017 20:03:18 +0000 Subject: [PATCH 017/103] Translated using Weblate (Thai) Currently translated at 39.7% (329 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 56a98ff583..2fa93e02fc 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -25,7 +25,7 @@ "(default: %(userName)s)": "(ค่าเริ่มต้น: %(userName)s)", "Default Device": "อุปกรณ์เริ่มต้น", "%(senderName)s banned %(targetName)s.": "%(senderName)s แบน %(targetName)s แล้ว", - "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s เปลี่ยนหัวข้อเป็น \"%(topic)s\" แล้ว", + "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s เปลี่ยนหัวข้อเป็น \"%(topic)s\"", "Decrypt %(text)s": "ถอดรหัส %(text)s", "Device ID": "ID อุปกรณ์", "Device ID:": "ID อุปกรณ์:", From 558f67cb148e6364ca116a1f9a8c1d164c7fe110 Mon Sep 17 00:00:00 2001 From: Stanislav N Date: Wed, 7 Jun 2017 10:51:05 +0000 Subject: [PATCH 018/103] Translated using Weblate (Russian) Currently translated at 100.0% (828 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 215 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 201 insertions(+), 14 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index ea671bd61b..c8567d7135 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -153,7 +153,7 @@ "requested a VoIP conference": "requested a VoIP conference", "Return to login screen": "Return to login screen", "Send Reset Email": "Send Reset Email", - "sent an image": "sent an image", + "sent an image": "отправил изображение", "sent an invitation to": "sent an invitation to", "set a profile picture": "set a profile picture", "set their display name to": "set their display name to", @@ -356,8 +356,8 @@ "Saturday": "Суббота", "Sunday": "Воскресенье", "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s", - "Upload an avatar:": "Загрузить аватар", - "You need to be logged in.": "Вы должны быть зарегистрированы", + "Upload an avatar:": "Загрузите аватар:", + "You need to be logged in.": "Вы должны быть зарегистрированы.", "You need to be able to invite users to do that.": "Вам необходимо пригласить пользователей чтобы сделать это.", "You cannot place VoIP calls in this browser.": "Вы не можете сделать вызовы VoIP с этим браузером.", "You are already in a call.": "Вы уже находитесь в разговоре.", @@ -377,7 +377,7 @@ "Oct": "Окт.", "Nov": "Ноя.", "Dec": "Дек.", - "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(time)s", + "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s, %(day)s %(monthName)s %(time)s", "Mon": "Пн", "Sun": "Вс", "Tue": "Вт", @@ -388,8 +388,8 @@ "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience.": "Вам необходимо снова войти в генерировать сквозное шифрование (е2е) ключей для этого устройства и предоставить публичный ключ Вашему домашнему серверу. Это после выключения; приносим извинения за причиненные неудобства.", "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ваш адрес электронной почты, кажется, не связан с Matrix ID на этом Homeserver.", "to start a chat with someone": "Начать чат с кем-то", - "to tag direct chat": "отометить прямой чат", - "To use it, just wait for autocomplete results to load and tab through them.": "Для его использования, просто подождите результатов автозаполнения для загрузки на вкладке и через них.", + "to tag direct chat": "отметить прямой чат", + "To use it, just wait for autocomplete results to load and tab through them.": "Для его использования просто подождите загрузки результатов автозаполнения и нажимайте Tab для навигации.", "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s включил сквозное шифрование (algorithm %(algorithm)s).", "Unable to restore previous session": "Невозможно востановить предыдущий сеанс", "%(senderName)s unbanned %(targetName)s.": "%(senderName)s запрет отменен %(targetName)s.", @@ -478,7 +478,7 @@ "Always show message timestamps": "Всегда показывать время сообщения", "Authentication": "Авторизация", "olm version:": "версия olm:", - "%(items)s and %(remaining)s others": "%(items)s и %(remaining)s другие", + "%(items)s and %(remaining)s others": "%(items)s и другие %(remaining)s", "%(items)s and one other": "%(items)s и ещё один", "%(items)s and %(lastItem)s": "%(items)s и %(lastItem)s", "and one other...": "и ещё один...", @@ -491,7 +491,7 @@ "Current password": "Текущий пароль", "Email": "Электронная почта", "Failed to kick": "Не удалось выгнать", - "Failed to load timeline position": "Не удалось узнать место во времени", + "Failed to load timeline position": "Не удалось загрузить позицию таймлайна", "Failed to mute user": "Не удалось заглушить", "Failed to reject invite": "Не удалось отклонить приглашение", "Failed to save settings": "Не удалось сохранить настройки", @@ -519,7 +519,7 @@ "New passwords don't match": "Пароли не совпадают", "not set": "не установлено", "not specified": "не указано", - "No devices with registered encryption keys": "Нет устройств с записанными ключами шифрования", + "No devices with registered encryption keys": "Нет устройств с зарегистрированными ключами шифрования", "No more results": "Нет больше результатов", "No results": "Нет результатов", "OK": "ОК", @@ -535,7 +535,7 @@ "rejected": "отклонено", "%(targetName)s rejected the invitation.": "%(targetName)s отклонил приглашение.", "Reject invitation": "Отклонить приглашение", - "Remove Contact Information?": "Убрать контактную информацию?", + "Remove Contact Information?": "Удалить контактную информацию?", "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s убрал своё отображаемое имя (%(oldDisplayName)s).", "%(senderName)s removed their profile picture.": "%(senderName)s убрал своё изображение.", "%(senderName)s requested a VoIP conference.": "%(senderName)s запросил голосовую конференц-связь.", @@ -586,7 +586,7 @@ "This room is private or inaccessible to guests. You may be able to join if you register": "Эта комната личная или недоступна для гостей. Мы может быть войдёте, если зарегистрируйтесь", "These are experimental features that may break in unexpected ways": "Это экспериментальные функции, которые могут неожиданным образом вызывать ошибки", "This doesn't appear to be a valid email address": "Не похоже, что это правильный адрес электронной почты", - "This is a preview of this room. Room interactions have been disabled": "Это просмотр данной комнаты. Взаимодействия с ней были отключены.", + "This is a preview of this room. Room interactions have been disabled": "Это просмотр данной комнаты. Взаимодействия с ней были отключены", "This phone number is already in use": "Этот телефонный номер уже используется", "This room's internal ID is": "Внутренний ID этой комнаты", "times": "раз", @@ -599,7 +599,7 @@ "Unknown room %(roomId)s": "Неизвестная комната %(roomId)s", "You have been invited to join this room by %(inviterName)s": "Вы были приглашены войти в эту комнату от %(inviterName)s", "You seem to be uploading files, are you sure you want to quit?": "Похоже вы передаёте файлы, вы уверены, что хотите выйти?", - "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s", + "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(day)s %(monthName)s %(fullYear)s %(time)s", "Make Moderator": "Сделать модератором", "Room": "Комната", "Cancel": "Отмена", @@ -607,7 +607,7 @@ "italic": "наклонный", "strike": "перечёркнутый", "underline": "подчёркнутый", - "code": "текст", + "code": "код", "quote": "цитата", "bullet": "пункт", "numbullet": "нумерация", @@ -678,5 +678,192 @@ "Guest access is disabled on this Home Server.": "Гостевой доступ отключен на этом сервере.", "Guests can't set avatars. Please register.": "Гости не могут устанавливать аватар. Пожалуйста, зарегистрируйтесь.", "Guests can't use labs features. Please register.": "Гости не могут использовать экспериментальные возможности. Пожалуйста, зарегистрируйтесь.", - "Guests cannot join this room even if explicitly invited.": "Гости не могут заходить в эту комнату если не были приглашены." + "Guests cannot join this room even if explicitly invited.": "Гости не могут заходить в эту комнату если не были приглашены.", + "Missing Media Permissions, click here to request.": "Отсутствуют разрешения, нажмите для запроса.", + "No media permissions": "Нет медиа разрешений", + "You may need to manually permit Riot to access your microphone/webcam": "Вам необходимо предоставить Riot доступ к микрофону или веб-камере вручную", + "Anyone": "Все", + "Are you sure you want to leave the room '%(roomName)s'?": "Вы уверены, что хотите покинуть '%(roomName)s'?", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s удалил имя комнаты.", + "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.": "Смена пароля также сбросит все ключи шифрования на всех устройствах, сделав зашифрованную историю недоступной, если только вы сначала не экспортируете ключи шифрования и не импортируете их потом. В будущем это будет исправлено.", + "Custom level": "Пользовательский уровень", + "(default: %(userName)s)": "(по-умолчанию: %(userName)s)", + "Device already verified!": "Устройство уже верифицировано!", + "Device ID:": "ID устройства:", + "device id: ": "id устройства: ", + "Device key:": "Ключ устройства:", + "disabled": "отключено", + "Disable markdown formatting": "Отключить форматирование Markdown", + "Email address": "Адрес email", + "Email address (optional)": "Адрем email (не обязательно)", + "enabled": "включено", + "Error decrypting attachment": "Ошибка расшифровки файла", + "Export": "Экспорт", + "Failed to register as guest:": "Ошибка регистрации как гостя:", + "Failed to set avatar.": "Не удалось установить аватар.", + "Import": "Импорт", + "Incorrect username and/or password.": "Неверное имя пользователя и/или пароль.", + "Invalid file%(extra)s": "Неправильный файл%(extra)s", + "Invited": "Приглашен", + "Jump to first unread message.": "Перейти к первому непрочитанному сообщению.", + "List this room in %(domain)s's room directory?": "Показывать эту комнату в списке комнат %(domain)s?", + "Message not sent due to unknown devices being present": "Сообщение не было отправлено из-за присутствия неизвестного устройства", + "Mobile phone number (optional)": "Номер мобильного телефона (не обязательно)", + "Once you've followed the link it contains, click below": "Как только вы пройдете по ссылке, нажмите на кнопку ниже", + "Password:": "Пароль:", + "Privacy warning": "Предупреждение приватности", + "Privileged Users": "Привилегированные пользователи", + "Revoke Moderator": "Снять модераторские права", + "Refer a friend to Riot:": "Расскажите другу о Riot:", + "Register": "Регистрация", + "Remote addresses for this room:": "Удаленные адреса для этой комнаты:", + "Remove %(threePid)s?": "Удалить %(threePid)s?", + "Results from DuckDuckGo": "Результаты от DuckDuckGo", + "Save": "Сохранить", + "Searches DuckDuckGo for results": "Ищет результаты через DuckDuckGo", + "Server error": "Ошибка сервера", + "Server may be unavailable or overloaded": "Сервер может быть недоступен или перегружен", + "Server may be unavailable, overloaded, or search timed out :(": "Сервер может быть недоступен, перегружен или поиск прекращен по тайм-ауту :(", + "Server may be unavailable, overloaded, or the file too big": "Сервер может быть недоступен, перегружен или размер файла слишком большой", + "Server may be unavailable, overloaded, or you hit a bug.": "Сервер может быть недоступен, перегружен или вы нашли баг.", + "Server unavailable, overloaded, or something else went wrong.": "Сервер может быть недоступен, перегружен или произошло что-то страшное.", + "Session ID": "ID сессии", + "%(senderName)s set a profile picture.": "%(senderName)s установил картинку профиля.", + "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s установил отображаемое имя %(displayName)s.", + "Setting a user name will create a fresh account": "Установка имени пользователя создаст новую учетную запись", + "Signed Out": "Вышли", + "Sorry, this homeserver is using a login which is not recognised ": "Извините, этот Home Server использует логин, который не удалось распознать ", + "Tagged as: ": "Теги: ", + "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Ключ, предоставленный вами, совпадает с ключем, полученным от устройства %(userId)s с ID %(deviceId)s. Устройство помечено как верифицированное.", + "%(actionVerb)s this person?": "%(actionVerb)s этого пользователя?", + "The file '%(fileName)s' exceeds this home server's size limit for uploads": "Файл '%(fileName)s' превышает ограничение размера загрузок на этом Home Server'е", + "This Home Server does not support login using email address.": "Этот Home Server не поддерживает вход по адресу email.", + "There was a problem logging in.": "Возникла проблема входа в учетную запись.", + "The visibility of existing history will be unchanged": "Видимость текущей истории не будет изменена", + "this invitation?": "это приглашение?", + "This room is not accessible by remote Matrix servers": "Это комната закрыта для других серверов Matrix", + "To ban users": "Забанить пользователей", + "to browse the directory": "просматривать директорию", + "To configure the room": "Конфигурировать комнату", + "To invite users into the room": "Приглашать пользователей в комнату", + "to join the discussion": "присоединиться к дискуссии", + "To kick users": "Выгонять пользователей", + "To link to a room it must have": "Для создания ссылки на комнату она должна иметь", + "to make a room or": "создать комнату или", + "To remove other users' messages": "Удалять сообщения других пользователей", + "To reset your password, enter the email address linked to your account": "Чтобы сбросить ваш пароль введите адрес email, который используется аккаунтом", + "to tag as %(tagName)s": "отметить как %(tagName)s", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Вы попытались загрузить указанное сообщение в комнате, однако у вас нету разрешений для его просмотра", + "Tried to load a specific point in this room's timeline, but was unable to find it": "Вы попытались загрузить указанное сообщение в комнате, однако сервер не смог его найти", + "Unable to load device list": "Невозможно загрузить список устройств", + "Unknown (user, device) pair:": "Неизвестная пара пользователь-устройство:", + "Unmute": "Разглушить", + "Unrecognised command:": "Неизвестная команда:", + "Unrecognised room alias:": "Неизвестный псевдоним комнаты:", + "Verified key": "Верифицированный ключ", + "WARNING: Device already verified, but keys do NOT MATCH!": "ВНИМАНИЕ: устройство уже было верифицировано, однако ключи НЕ СОВПАДАЮТ!", + "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ВНИМАНИЕ: ОШИБКА ВЕРИФИКАЦИИ КЛЮЧЕЙ! Ключ для подписки устройства %(deviceId)s пользователя %(userId)s: \"%(fprint)s\", однако он не совпадает с предоставленным ключем \"%(fingerprint)s\". Это может означать перехват вашего канала коммуникации!", + "You have disabled URL previews by default.": "Предпросмотр ссылок отключен по-умолчанию.", + "You have enabled URL previews by default.": "Предпросмотр ссылок включен по-умолчанию.", + "You have entered an invalid contact. Try using their Matrix ID or email address.": "Вы ввели неправильный адрес. Попробуйте использовать Matrix ID или адрес email.", + "You need to enter a user name.": "Необходимо ввести имя пользователя.", + "You seem to be in a call, are you sure you want to quit?": "Вы учавствуете в звонке, вы уверены, что хотите выйти?", + "You will not be able to undo this change as you are promoting the user to have the same power level as yourself": "Вы не сможете отменить это действие так как даете пользователю такой же уровень доступа как и у вас", + "Set a Display Name": "Установить отображаемое имя", + "(~%(searchCount)s results)": "(~%(searchCount)s результатов)", + "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)s отозвали свои приглашения %(repeats)s раз", + "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)s отозвал свои приглашения %(repeats)s раз", + "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)s отозвали свои приглашения", + "%(oneUser)shad their invitation withdrawn": "%(oneUser)s отозвал свое приглашение", + "Please select the destination room for this message": "Выберите комнату назначения для этого сообщения", + "Options": "Настройки", + "Passphrases must match": "Пароли должны совпадать", + "Passphrase must not be empty": "Пароль не должен быть пустым", + "Export room keys": "Экспортировать ключи", + "Enter passphrase": "Введите пароль", + "Confirm passphrase": "Подтвердите пароль", + "Import room keys": "Импортировать ключи", + "File to import": "Файл для импорта", + "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.": "Этот процесс позволяет вам экспортировать ключи для сообщений, которые вы получили в комнатах с шифрованием, в локальный файл. Вы сможете импортировать эти ключи в другой клиент Matrix чтобы расшифровать эти сообщения.", + "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.": "Этот процесс позволяем вам импортировать ключи шифрования, которые вы экспортировали ранее из клиента Matrix. После импорта вы сможете читать зашифрованную переписку и отправлять шифрованные сообщения.", + "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": "Вы должны зайти в комнату для просмотра файлов", + "Reject all %(invitedRooms)s invites": "Отклонить все %(invitedRooms)s приглашения", + "Start new chat": "Начать новый чат", + "Guest users can't invite users. Please register.": "Гости не могут приглашать пользователей. Пожалуйста, зарегистрируйтесь.", + "Failed to invite": "Ошибка приглашения", + "Failed to invite user": "Ошибка приглашения пользователя", + "Failed to invite the following users to the %(roomName)s room:": "Ошибка приглашения следующих пользователей в %(roomName)s:", + "Confirm Removal": "Подтвердите удаление", + "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Вы уверены, что хотите удалить этот эвент? Обратите внимание, что если это смена имени комнаты или топика, то удаление отменит это изменение.", + "Unknown error": "Неизвестная ошибка", + "Incorrect password": "Неправильный пароль", + "This will make your account permanently unusable. You will not be able to re-register the same user ID.": "Это сделает вашу учетную запись нерабочей. Вы не сможете зарегистрироваться снова с тем же ID.", + "This action is irreversible.": "Это действие необратимо.", + "To continue, please enter your password.": "Для продолжения введите ваш пароль.", + "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:": "Для верификации устройства, пожалуйста, свяжитесь с владельцем используя другие методы коммуникации (например, лично или по телефону) и попросите его подтвердить, что он видит такой же ключ как написанный ниже:", + "Device name": "Имя устройства", + "Device key": "Ключ устройства", + "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.": "Если совпадают, то нажмите кнопку верификации ниже. Если нет, то кто-то перехватил это устройство или ключ и вы, скорее всего, захотите внести его в черный список.", + "In future this verification process will be more sophisticated.": "В будущем процесс верификации будет усложнен.", + "Verify device": "Верифицировать устройство", + "I verify that the keys match": "Я верифицирую - ключи совпадают", + "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.": "Обнаружена ошибка при восстановлении вашей предыдущей сессии. Вам необходимо зайти снова, шифрованные сообщения будут нечитаемы.", + "Unable to restore 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.": "Если вы использовали более новую версию Riot, то ваша сессия может быть несовместима с текущей. Закройте это окно и вернитесь к использованию более новой версии.", + "Continue anyway": "Все равно продолжить", + "Your display name is how you'll appear to others when you speak in rooms. What would you like it to be?": "Отображаемое имя - это то, как вы отображаетесь в чате. Какое имя вы хотите?", + "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Пока что вы вносите неверифицированные устройства в черный список автоматически. Для отправки сообщений на эти устройства вам необходимо их верифицировать.", + "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Рекомендуется сначала верифицировать устройства для подтверждения их владения правильным пользователем, но вы можете отправить сообщение без верификации, если хотите.", + "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" содержит неизвестные прежде устройства.", + "Unknown Address": "Неизвестный адрес", + "Unblacklist": "Удалить из черного списка", + "Blacklist": "Добавить в черный список", + "Unverify": "Убрать верификацию", + "Verify...": "Верифицировать...", + "ex. @bob:example.com": "например @bob:example.com", + "Add User": "Добавить пользователя", + "This Home Server would like to make sure you are not a robot": "Этот Home Server хочет удостовериться что вы не робот", + "Sign in with CAS": "Войти с помощью CAS", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.": "Вы можете использовать пользовательские настройки сервера для использования другого Home Server'а при помощи указания его URL.", + "This allows you to use this app with an existing Matrix account on a different home server.": "Это позволяет использовать это приложение с существующей учетной записью на другом Home Server'е.", + "You can also set a custom identity server but this will typically prevent interaction with users based on email address.": "Вы также можете указать пользовательский сервер идентификации, но это обычно ломает возможность общаться с пользователями с помощью адреса email.", + "Please check your email to continue registration.": "Проверьте свою почту для продолжения регистрации.", + "Token incorrect": "Неправильный токен", + "A text message has been sent to": "Текстовое сообщение было отправлено", + "Please enter the code it contains:": "Введите содержащийся код:", + "If you don't specify an email address, you won't be able to reset your password. Are you sure?": "Если вы не укажете адрес email, то вы не сможете сбросить свой пароль в будущем. Вы уверены?", + "You are registering with %(SelectedTeamName)s": "Вы регистрируетесь на %(SelectedTeamName)s", + "Default server": "Сервер по-умолчанию", + "Custom server": "Пользовательский сервер", + "Home server URL": "URL Home Server'а", + "Identity server URL": "URL сервера идентификации", + "What does this mean?": "Что это значит?", + "Error decrypting audio": "Ошибка расшифровки аудио", + "Error decrypting image": "Ошибка расшифровки изображения", + "Image '%(Body)s' cannot be displayed.": "Изображение '%(Body)s' не может быть отображено.", + "This image cannot be displayed.": "Это изображение не может быть отображено.", + "Error decrypting video": "Ошибка расшифровки видео", + "Add an Integration": "Добавить интеграцию", + "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?": "Вы будете перенаправлены на внешний сайт, где вы сможете аутентифицировать свою учетную запись для использования с %(integrationsUrl)s. Вы хотите продолжить?", + "Removed or unknown message type": "Удаленный или неизвестный тип сообщения", + "Disable URL previews by default for participants in this room": "Отключить предпросмотр URL для участников этой комнаты по-умолчанию", + "URL previews are %(globalDisableUrlPreview)s by default for participants in this room.": "Предпросмотр URL %(globalDisableUrlPreview)s по-умолчанию для участников этой комнаты.", + "URL Previews": "Предпросмотр URL", + "Enable URL previews for this room (affects only you)": "Включить предпросмотр URL в этой комнате (только для вас)", + "Drop file here to upload": "Перетащите файл сюда для загрузки", + " (unsupported)": " (не поддерживается)", + "Ongoing conference call%(supportedText)s. %(joinText)s": "Идет конференц-звонок%(supportedText)s. %(joinText)s", + "for %(amount)ss": "для %(amount)s", + "for %(amount)sm": "для %(amount)s", + "for %(amount)sh": "для %(amount)s", + "for %(amount)sd": "для %(amount)s", + "Online": "В сети", + "Idle": "Отошел", + "Offline": "Не в сети", + "Disable URL previews for this room (affects only you)": "Отключить предпросмотр URL в этой комнате (только для вас)", + "$senderDisplayName changed the room avatar to ": "$senderDisplayName сменил аватар комнаты на ", + "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s удалил аватар комнаты.", + "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s сменил аватар для %(roomName)s" } From f7783cac2ad5a9273846f843888cb1635c328528 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 14:38:13 +0000 Subject: [PATCH 019/103] Translated using Weblate (German) Currently translated at 100.0% (828 of 828 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 | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 003c1601e7..b6011ccf2d 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -42,7 +42,7 @@ "Commands": "Kommandos", "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", + "Login as guest": "Als Gast anmelden", "Return to app": "Zurück zur Anwendung", "Sign in": "Anmelden", "Create a new account": "Erstelle einen neuen Benutzer", @@ -140,12 +140,12 @@ "is a": "ist ein", "is trusted": "wird vertraut", "Sign in with": "Ich möchte mich anmelden mit", - "joined and left": "trat bei und ging", - "joined": "trat bei", + "joined and left": "hat den Raum betreten und wieder verlassen", + "joined": "hat den Raum betreten", "joined the room": "trat dem Raum bei", "Leave room": "Verlasse Raum", "left and rejoined": "ging(en) und trat(en) erneut bei", - "left": "ging", + "left": "hat den Raum verlassen", "left the room": "verließ den Raum", "Logged in as": "Angemeldet als", "Logout": "Abmelden", @@ -204,7 +204,7 @@ "Signed Out": "Abgemeldet", "Sign out": "Abmelden", "since the point in time of selecting this option": "ab dem Zeitpunkt, an dem diese Option gewählt wird", - "since they joined": "seitdem sie beitraten", + "since they joined": "ab dem Zeitpunkt, an dem sie beigetreten sind", "since they were invited": "seitdem sie eingeladen wurden", "Someone": "Jemand", "Start a chat": "Starte einen Chat", @@ -337,7 +337,7 @@ "This doesn't look like a valid email address.": "Dies scheint keine gültige E-Mail-Adresse zu sein.", "This doesn't look like a valid phone number.": "Dies scheint keine gültige Telefonnummer zu sein.", "User names may only contain letters, numbers, dots, hyphens and underscores.": "Benutzernamen dürfen nur Buchstaben, Nummern, Punkte, Binde- und Unterstriche enthalten.", - "An unknown error occurred.": "Ein unbekannter Fehler trat auf.", + "An unknown error occurred.": "Ein unbekannter Fehler ist aufgetreten.", "I already have an account": "Ich habe bereits einen Account", "An error occured: %(error_string)s": "Ein Fehler trat auf: %(error_string)s", "Topic": "Thema", @@ -352,7 +352,7 @@ "%(names)s and %(count)s others are typing": "%(names)s und %(count)s weitere Personen schreiben", "%(senderName)s answered the call.": "%(senderName)s hat den Anruf angenommen.", "%(senderName)s banned %(targetName)s.": "%(senderName)s hat %(targetName)s aus dem Raum verbannt.", - "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s hat den Anzeigenamen von %(oldDisplayName)s auf %(displayName)s geändert.", + "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s hat den Anzeigenamen von \"%(oldDisplayName)s\" auf \"%(displayName)s\" geändert.", "%(senderName)s changed their profile picture.": "%(senderName)s hat das Profilbild geändert.", "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s hat das Berechtigungslevel von %(powerLevelDiffText)s geändert.", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s änderte den Raumnamen zu %(roomName)s.", @@ -364,7 +364,7 @@ "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s von %(fromPowerLevel)s zu %(toPowerLevel)s", "%(senderName)s invited %(targetName)s.": "%(senderName)s hat %(targetName)s eingeladen.", "%(displayName)s is typing": "%(displayName)s schreibt", - "%(targetName)s joined the room.": "%(targetName)s trat dem Raum bei.", + "%(targetName)s joined the room.": "%(targetName)s hat den Raum betreten.", "%(senderName)s kicked %(targetName)s.": "%(senderName)s kickte %(targetName)s.", "%(targetName)s left the room.": "%(targetName)s hat den Raum verlassen.", "%(senderName)s made future room history visible to": "%(senderName)s machte die zukünftige Raumhistorie sichtbar für", @@ -378,12 +378,12 @@ "Reason": "Grund", "%(targetName)s rejected the invitation.": "%(targetName)s hat die Einladung abgelehnt.", "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s löschte den Anzeigenamen (%(oldDisplayName)s).", - "%(senderName)s removed their profile picture.": "%(senderName)s löschte das Profilbild.", + "%(senderName)s removed their profile picture.": "%(senderName)s hat das Profilbild gelöscht.", "%(senderName)s requested a VoIP conference.": "%(senderName)s möchte eine VoIP-Konferenz beginnen.", "Room %(roomId)s not visible": "Raum %(roomId)s ist nicht sichtbar", "%(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 hat %(targetDisplayName)s in diesen Raum eingeladen.", - "%(senderName)s set a profile picture.": "%(senderName)s setzte ein Profilbild.", + "%(senderName)s set a profile picture.": "%(senderName)s hat ein Profilbild gesetzt.", "%(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", @@ -398,7 +398,7 @@ "There are no visible files in this room": "Es gibt keine sichtbaren Dateien in diesem Raum", "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.", + "Connectivity to the server has been lost.": "Verbindung zum Server wurde unterbrochen.", "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": "Alle erneut senden", @@ -558,7 +558,7 @@ "Are you sure?": "Bist du sicher?", "Attachment": "Anhang", "Ban": "Verbannen", - "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 - please check your connectivity and ensure your homeserver's SSL certificate is trusted.": "Verbindungsaufbau zum Heimserver nicht möglich - bitte Internetverbindung überprüfen und sicherstellen, ob das SSL-Zertifikat des Heimservers vertrauenswürdig ist.", "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", @@ -590,7 +590,7 @@ "'%(alias)s' is not a valid format for an alias": "'%(alias)s' hat kein valides Aliasformat", "Join Room": "Dem Raum beitreten", "Kick": "Kicke", - "Level": "Level", + "Level": "Berechtigungslevel", "Local addresses for this room:": "Lokale Adressen dieses Raumes:", "Markdown is disabled": "Markdown ist deaktiviert", "Markdown is enabled": "Markdown ist aktiviert", @@ -653,25 +653,25 @@ "%(items)s and one other": "%(items)s und ein(e) weitere(r)", "%(items)s and %(lastItem)s": "%(items)s und %(lastItem)s", "%(severalUsers)sjoined %(repeats)s times": "%(severalUsers)ssind dem Raum %(repeats)s mal beigetreten", - "%(oneUser)sjoined %(repeats)s times": "%(oneUser)strat %(repeats)s mal bei", - "%(severalUsers)sjoined": "%(severalUsers)straten bei", - "%(oneUser)sjoined": "%(oneUser)strat bei", + "%(oneUser)sjoined %(repeats)s times": "%(oneUser)shat den Raum %(repeats)s mal betreten", + "%(severalUsers)sjoined": "%(severalUsers)shaben den Raum betreten", + "%(oneUser)sjoined": "%(oneUser)shat den Raum betreten", "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)sverließen %(repeats)s mal den Raum", "%(oneUser)sleft %(repeats)s times": "%(oneUser)sging %(repeats)s mal", "%(severalUsers)sleft": "%(severalUsers)shaben den Raum verlassen", "%(oneUser)sleft": "%(oneUser)sging", - "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)straten bei und gingen %(repeats)s mal", - "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)strat bei und ging %(repeats)s mal", - "%(severalUsers)sjoined and left": "%(severalUsers)straten bei und gingen", - "%(oneUser)sjoined and left": "%(oneUser)strat bei und ging", + "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)shaben den Raum %(repeats)s mal betreten und wieder verlassen", + "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)shat den Raum %(repeats)s mal betreten und wieder verlassen", + "%(severalUsers)sjoined and left": "%(severalUsers)shaben den Raum betreten und wieder verlassen", + "%(oneUser)sjoined and left": "%(oneUser)shat den Raum betreten und wieder verlassen", "%(severalUsers)sleft and rejoined %(repeats)s times": "%(severalUsers)shaben den Raum verlassen und %(repeats)s mal neu betreten", - "%(oneUser)sleft and rejoined %(repeats)s times": "%(oneUser)sging und trat %(repeats)s mal erneut bei", - "%(severalUsers)sleft and rejoined": "%(severalUsers)s gingen und traten erneut bei", + "%(oneUser)sleft and rejoined %(repeats)s times": "%(oneUser)shat den Raum %(repeats)s mal verlassen und wieder neu betreten", + "%(severalUsers)sleft and rejoined": "%(severalUsers)shaben den Raum verlassen und wieder neu betreten", "%(oneUser)sleft left and rejoined": "%(oneUser)sging und trat erneut bei", - "%(severalUsers)srejected their invitations %(repeats)s times": "%(severalUsers)s lehnten %(repeats)s mal ihre Einladung ab", + "%(severalUsers)srejected their invitations %(repeats)s times": "%(severalUsers)shaben ihre Einladung %(repeats)s mal abgelehnt", "%(oneUser)srejected their invitation %(repeats)s times": "%(oneUser)shat die Einladung %(repeats)s mal abgelehnt", - "%(severalUsers)srejected their invitations": "%(severalUsers)slehnten ihre Einladung ab", - "%(oneUser)srejected their invitation": "%(oneUser)slehnte seine/ihre Einladung ab", + "%(severalUsers)srejected their invitations": "%(severalUsers)shaben ihre Einladung abgelehnt", + "%(oneUser)srejected their invitation": "%(oneUser)shat die Einladung abgelehnt", "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)szogen ihre Einladungen %(repeats)s mal zurück", "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)szog seine/ihre Einladung %(repeats)s mal zurück", "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)szogen ihre Einladungen zurück", @@ -688,16 +688,16 @@ "were kicked %(repeats)s times": "wurden %(repeats)s mal gekickt", "was kicked %(repeats)s times": "wurde %(repeats)s mal gekickt", "were kicked": "wurden aus dem Raum entfernt", - "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)sänderten %(repeats)s mal ihre Namen", - "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)sänderte %(repeats)s mal seinen/ihren Namen", + "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)shaben ihren Namen %(repeats)s mal geändert", + "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)shat den Namen %(repeats)s mal geändert", "%(severalUsers)schanged their name": "%(severalUsers)shaben ihre Namen geändert", - "%(oneUser)schanged their name": "%(oneUser)sänderte seinen/ihren Namen", + "%(oneUser)schanged their name": "%(oneUser)shat den Namen geändert", "%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)shaben %(repeats)s mal ihr Profilbild geändert", "%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)shat %(repeats)s mal das Profilbild geändert", "%(severalUsers)schanged their avatar": "%(severalUsers)shaben ihr Profilbild geändert", "%(oneUser)schanged their avatar": "%(oneUser)shat das Profilbild geändert", "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s, %(day)s. %(monthName)s %(fullYear)s %(time)s", - "%(oneUser)sleft and rejoined": "%(oneUser)sverließ den Raum und trat erneut bei", + "%(oneUser)sleft and rejoined": "%(oneUser)shat den Raum verlassen und wieder neu betreten", "A registered account is required for this action": "Für diese Aktion ist ein registrierter Account notwendig", "Access Token:": "Zugangs-Token:", "Always show message timestamps": "Nachrichten-Zeitstempel immer anzeigen", @@ -728,7 +728,7 @@ "Invalid file%(extra)s": "Ungültige Datei%(extra)s", "Remove %(threePid)s?": "Entferne %(threePid)s?", "Please select the destination room for this message": "Bitte den Raum auswählen, an den diese Nachricht gesendet werden soll", - "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s löschte den Raumnamen.", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s hat den Raum-Namen gelöscht.", "Passphrases must match": "Passphrase muss übereinstimmen", "Passphrase must not be empty": "Passphrase darf nicht leer sein", "Export room keys": "Raum-Schlüssel exportieren", @@ -862,7 +862,7 @@ "device id: ": "Geräte-ID: ", "Device key:": "Geräte-Schlüssel:", "Email address (optional)": "E-Mail-Adresse (optional)", - "List this room in %(domain)s's room directory?": "Liste diesen Raum in %(domain)s's Raumverzeichnis?", + "List this room in %(domain)s's room directory?": "Diesen Raum zum Raum-Verzeichnis von %(domain)s hinzufügen?", "Mobile phone number (optional)": "Mobilfunknummer (optional)", "Password:": "Passwort:", "Register": "Registrieren", From 7fc41957d7a62c9361d656f622034a9b66131473 Mon Sep 17 00:00:00 2001 From: Stanislav N Date: Wed, 7 Jun 2017 11:50:41 +0000 Subject: [PATCH 020/103] Translated using Weblate (Russian) Currently translated at 100.0% (828 of 828 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index c8567d7135..015dba368a 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -254,7 +254,7 @@ "%(targetName)s joined the room.": "%(targetName)s вошёл в комнату.", "%(senderName)s kicked %(targetName)s.": "%(senderName)s выкинул %(targetName)s.", "%(targetName)s left the room.": "%(targetName)s покинул комнату.", - "%(senderName)s made future room history visible to": "%(senderName)s история сделаной будущей комнаты, видимая для", + "%(senderName)s made future room history visible to": "%(senderName)s сделал видимой для всех будущую историю комнаты", "Missing room_id in request": "Отсутствует room_id в запросе", "Missing user_id in request": "Отсутствует user_id в запросе", "Must be viewing a room": "Комната должна быть посищена", From 3db286f8f007f10ad99a81cf2924ca4179b9123b Mon Sep 17 00:00:00 2001 From: Krombel Date: Wed, 7 Jun 2017 16:45:34 +0000 Subject: [PATCH 021/103] Translated using Weblate (German) Currently translated at 100.0% (850 of 850 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 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b6011ccf2d..79603ad361 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -111,7 +111,7 @@ "Default": "Standard", "demote": "Berechtigungslevel herabstufen", "Export E2E room keys": "E2E-Raum-Schlüssel exportieren", - "Failed to change password. Is your password correct?": "Passwort-Änderung schlug fehl. Ist dein Passwort korrekt?", + "Failed to change password. Is your password correct?": "Passwortänderung fehlgeschlagen. Ist dein Passwort richtig?", "Failed to forget room": "Vergessen des Raums schlug fehl", "Failed to leave room": "Verlassen des Raums fehlgeschlagen", "Failed to reject invitation": "Fehler beim Abweisen der Einladung", @@ -890,5 +890,35 @@ "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", "Hide removed messages": "Gelöschte Nachrichten verbergen", "Start new chat": "Neuen Chat starten", - "Disable markdown formatting": "Deaktiviere Markdown-Formatierung" + "Disable markdown formatting": "Deaktiviere Markdown-Formatierung", + "Add": "Hinzufügen", + "%(count)s new messages.one": "%(count)s neue Nachricht", + "%(count)s new messages.other": "%(count)s neue Nachrichten", + "Error: Problem communicating with the given homeserver.": "Fehler: Problem beim kommunizieren mit dem angegebenen Heimserver.", + "Failed to fetch avatar URL": "Fehler beim holen der Avatar-URL", + "Some of your messages have not been sent.": "Einige deiner Nachrichten wurden nicht gesendet.", + "The phone number entered looks invalid": "Die Telefonnummer, die eingegeben wurde, sieht ungültig aus", + "This room is private or inaccessible to guests. You may be able to join if you register.": "Dieser Raum ist privat oder für Gäste nicht betretbar. Du kannst evtl. beitreten wenn du dich registrierst.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber du hast keine Berechtigung diese Nachricht zu sehen.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber er konnte nicht gefunden werden.", + "Uploading %(filename)s and %(count)s others.zero": "%(filename)s wird hochgeladen", + "Uploading %(filename)s and %(count)s others.one": "%(filename)s und %(count)s weitere werden hochgeladen", + "Uploading %(filename)s and %(count)s others.other": "%(filename)s und %(count)s weitere werden hochgeladen", + "You must register to use this functionality": "Du musst dich registrieren um diese Funktionalität zu nutzen", + "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Sende erneut oder breche alles ab. Du kannst auch auch individuelle Nachrichten erneut senden or abbrechen.", + "Create new room": "Erstelle neuen Raum", + "Welcome page": "Willkommensseite", + "Room directory": "Raum-Verzeichnis", + "Start chat": "Starte Chat", + "New Password": "Neues Passwort", + "Start chatting": "Starte plaudern", + "Start Chatting": "Starte Gespräche", + "Click on the button below to start chatting!": "Klicke den Button unten um das Plaudern zu beginnen!", + "Create a new chat or reuse an existing one": "Erstelle einen neuen Chat oder nutze einen existierenden", + "You already have existing direct chats with this user:": "Du hast bereits direkte Chats mit diesem Nutzer:", + "Username available": "Nutzername verfügbar", + "Username not available": "Nutzername nicht verfügbar", + "Something went wrong!": "Etwas ging schief!", + "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", + "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Konto hast, kannst du ansonsten auch anmelden." } From b2a17fea08acba34ee3de3b444b2d8e9de6ca98d Mon Sep 17 00:00:00 2001 From: Amandine Date: Wed, 7 Jun 2017 16:28:38 +0000 Subject: [PATCH 022/103] Translated using Weblate (French) Currently translated at 96.5% (821 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 0ae02be82f..c4a606b9bc 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -827,5 +827,8 @@ "You have disabled URL previews by default.": "Vous avez désactivé les aperçus d’URL par défaut.", "You have enabled URL previews by default.": "Vous avez activé les aperçus d’URL par défaut.", "You have entered an invalid contact. Try using their Matrix ID or email address.": "Vous avez entré un contact invalide. Essayez d’utiliser leur identifiant Matrix ou leur adresse email.", - "Hide removed messages": "Cacher les messages supprimés" + "Hide removed messages": "Cacher les messages supprimés", + "Add": "Ajouter", + "%(count)s new messages.one": "%(count)s nouveau message", + "%(count)s new messages.other": "%(count)s nouveaux messages" } From c11fd8c3b18f7d6b7ea01af9ea09047d03df3720 Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Wed, 7 Jun 2017 16:45:41 +0000 Subject: [PATCH 023/103] Translated using Weblate (Thai) Currently translated at 39.0% (332 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 2fa93e02fc..a05f5c8f68 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -327,5 +327,9 @@ "%(oneUser)schanged their name": "%(oneUser)sเปลี่ยนชื่อของเขาแล้ว", "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)sเปลี่ยนชื่อของพวกเขา %(repeats)s ครั้ง", "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)sเปลี่ยนชื่อของเขา %(repeats)s ครั้ง", - "%(severalUsers)schanged their name": "%(severalUsers)sเปลี่ยนชื่อของพวกเขาแล้ว" + "%(severalUsers)schanged their name": "%(severalUsers)sเปลี่ยนชื่อของพวกเขาแล้ว", + "Create new room": "สร้างห้องใหม่", + "Room directory": "ไดเรกทอรีห้อง", + "Start chat": "เริ่มแชท", + "Welcome page": "หน้าต้อนรับ" } From 0170a12ad6d558ab03b9c4a2b4e53c6f65317839 Mon Sep 17 00:00:00 2001 From: Amandine Date: Wed, 7 Jun 2017 17:08:15 +0000 Subject: [PATCH 024/103] Translated using Weblate (French) Currently translated at 97.0% (825 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index c4a606b9bc..c7bff8977b 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -830,5 +830,9 @@ "Hide removed messages": "Cacher les messages supprimés", "Add": "Ajouter", "%(count)s new messages.one": "%(count)s nouveau message", - "%(count)s new messages.other": "%(count)s nouveaux messages" + "%(count)s new messages.other": "%(count)s nouveaux messages", + "Disable markdown formatting": "Désactiver le formattage markdown", + "Error: Problem communicating with the given homeserver.": "Erreur: Problème de communication avec le homeserveur.", + "Failed to fetch avatar URL": "Échec lors de la récupération de l’URL de l’avatar", + "The phone number entered looks invalid": "Le numéro de téléphone entré semble être invalide" } From ca5215a28841a7123ade7ddc0e8015f2310248e1 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 17:34:00 +0000 Subject: [PATCH 025/103] Translated using Weblate (German) Currently translated at 100.0% (850 of 850 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 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 79603ad361..0d952ffcd9 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -114,7 +114,7 @@ "Failed to change password. Is your password correct?": "Passwortänderung fehlgeschlagen. Ist dein Passwort richtig?", "Failed to forget room": "Vergessen des Raums schlug fehl", "Failed to leave room": "Verlassen des Raums fehlgeschlagen", - "Failed to reject invitation": "Fehler beim Abweisen der Einladung", + "Failed to reject invitation": "Einladung konnte nicht abgelehnt werden", "Failed to set avatar.": "Fehler beim Setzen des Profilbilds.", "Failed to unban": "Entbannen fehlgeschlagen", "Failed to upload file": "Datei-Upload fehlgeschlagen", @@ -418,7 +418,7 @@ "Press": "Drücke", "tag as %(tagName)s": "als %(tagName)s taggen", "to browse the directory": "um das Raum-Verzeichnis zu durchsuchen", - "to demote": "um die Priorität herabzusetzen", + "to demote": "um das Berechtigungslevel herabzusetzen", "to favourite": "zum Favorisieren", "to make a room or": "um einen Raum zu erstellen, oder", "to restore": "zum wiederherstellen", @@ -618,7 +618,7 @@ "This room is private or inaccessible to guests. You may be able to join if you register": "Dieser Raum ist privat oder für Gäste nicht zugänglich. Du kannst jedoch eventuell beitreten, wenn du dich registrierst", "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Versuchte einen spezifischen Punkt in der Raum-Chronik zu laden, aber du hast keine Berechtigung die angeforderte Nachricht anzuzeigen", "Tried to load a specific point in this room's timeline, but was unable to find it": "Der Versuch, einen spezifischen Punkt im Chatverlauf zu laden, ist fehlgeschlagen. Der Punkt konnte nicht gefunden werden", - "Turn Markdown off": "Markdown abschalten", + "Turn Markdown off": "Markdown deaktiveren", "Turn Markdown on": "Markdown einschalten", "Unable to load device list": "Geräteliste konnte nicht geladen werden", "Unknown command": "Unbekannter Befehl", @@ -786,7 +786,7 @@ "This image cannot be displayed.": "Dieses Bild kann nicht angezeigt werden.", "Error decrypting video": "Video-Entschlüsselung fehlgeschlagen", "Import room keys": "Importiere Raum-Schlüssel", - "File to import": "Datei zum Importieren", + "File to import": "Zu importierende Datei", "Failed to invite the following users to the %(roomName)s room:": "Das Einladen der folgenden Nutzer in den Raum \"%(roomName)s\" ist fehlgeschlagen:", "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Bist du sicher, dass du dieses Ereignis entfernen (löschen) möchtest? Wenn du die Änderung eines Raum-Namens oder eines Raum-Themas löscht, kann dies dazu führen, dass die ursprüngliche Änderung rückgängig gemacht wird.", "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.": "Dieser Prozess erlaubt es dir, die Schlüssel für in verschlüsselten Räumen empfangene Nachrichten in eine lokale Datei zu exportieren. In Zukunft wird es möglich sein, diese Datei in einen anderen Matrix-Client zu importieren, sodass dieser Client ebenfalls diese Nachrichten entschlüsseln kann.", @@ -828,7 +828,7 @@ "Invited": "Eingeladen", "Set a Display Name": "Setze einen Anzeigenamen", "for %(amount)ss": "für %(amount)ss", - "for %(amount)sm": "für %(amount)sm", + "for %(amount)sm": "seit %(amount)smin", "for %(amount)sh": "für %(amount)sh", "for %(amount)sd": "für %(amount)sd", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s hat das Raum-Bild entfernt.", @@ -906,7 +906,7 @@ "Uploading %(filename)s and %(count)s others.other": "%(filename)s und %(count)s weitere werden hochgeladen", "You must register to use this functionality": "Du musst dich registrieren um diese Funktionalität zu nutzen", "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Sende erneut oder breche alles ab. Du kannst auch auch individuelle Nachrichten erneut senden or abbrechen.", - "Create new room": "Erstelle neuen Raum", + "Create new room": "Neuen Raum erstellen", "Welcome page": "Willkommensseite", "Room directory": "Raum-Verzeichnis", "Start chat": "Starte Chat", From 8d7f40ed075a550ce289f4fadc333fe1a2c589bf Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Wed, 7 Jun 2017 17:33:48 +0000 Subject: [PATCH 026/103] Translated using Weblate (Thai) Currently translated at 40.8% (347 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index a05f5c8f68..2f64cdaf71 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -323,7 +323,7 @@ "This is a preview of this room. Room interactions have been disabled": "นี่คือตัวอย่างของห้อง การตอบสนองภายในห้องถูกปิดใช้งาน", "This phone number is already in use": "หมายเลขโทรศัพท์นี้ถูกใช้งานแล้ว", "This room's internal ID is": "ID ภายในของห้องนี้คือ", - "times": "เวลา", + "times": "ครั้ง", "%(oneUser)schanged their name": "%(oneUser)sเปลี่ยนชื่อของเขาแล้ว", "%(severalUsers)schanged their name %(repeats)s times": "%(severalUsers)sเปลี่ยนชื่อของพวกเขา %(repeats)s ครั้ง", "%(oneUser)schanged their name %(repeats)s times": "%(oneUser)sเปลี่ยนชื่อของเขา %(repeats)s ครั้ง", @@ -331,5 +331,20 @@ "Create new room": "สร้างห้องใหม่", "Room directory": "ไดเรกทอรีห้อง", "Start chat": "เริ่มแชท", - "Welcome page": "หน้าต้อนรับ" + "Welcome page": "หน้าต้อนรับ", + "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or enable unsafe scripts.": "ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์บ้านผ่านทาง HTTP ได้เนื่องจาก URL ที่อยู่บนเบราว์เซอร์เป็น HTTPS กรุณาใช้ HTTPS หรือเปิดใช้งานสคริปต์ที่ไม่ปลอดภัย.", + "%(count)s new messages.one": "มี %(count)s ข้อความใหม่", + "%(count)s new messages.other": "มี %(count)s ข้อความใหม่", + "Disable inline URL previews by default": "ตั้งค่าเริ่มต้นให้ไม่แสดงตัวอย่าง URL ในแชท", + "Disable markdown formatting": "ปิดใช้งานการจัดรูปแบบ markdown", + "End-to-end encryption information": "ข้อมูลการเข้ารหัสจากปลายทางถึงปลายทาง", + "End-to-end encryption is in beta and may not be reliable": "การเข้ารหัสจากปลายทางถึงปลายทางยังอยู่ในเบต้า และอาจพึ่งพาไม่ได้", + "Error: Problem communicating with the given homeserver.": "ข้อผิดพลาด: มีปัญหาในการติดต่อกับเซิร์ฟเวอร์บ้านที่กำหนด", + "Export E2E room keys": "ส่งออกกุญแจถอดรหัส E2E", + "Failed to change power level": "การเปลี่ยนระดับอำนาจล้มเหลว", + "Import E2E room keys": "นำเข้ากุญแจถอดรหัส E2E", + "to favourite": "ไปยังรายการโปรด", + "to demote": "เพื่อลดขั้น", + "The default role for new room members is": "บทบาทเริ่มต้นของสมาชิกใหม่คือ", + "The phone number entered looks invalid": "ดูเหมือนว่าหมายเลขโทรศัพท์ที่กรอกรมาไม่ถูกต้อง" } From 93fcd0aa4047db9edaa3dd435d9aa5e05fce70d0 Mon Sep 17 00:00:00 2001 From: Amandine Date: Wed, 7 Jun 2017 18:02:20 +0000 Subject: [PATCH 027/103] Translated using Weblate (French) Currently translated at 100.0% (850 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index c7bff8977b..4d01492815 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -834,5 +834,30 @@ "Disable markdown formatting": "Désactiver le formattage markdown", "Error: Problem communicating with the given homeserver.": "Erreur: Problème de communication avec le homeserveur.", "Failed to fetch avatar URL": "Échec lors de la récupération de l’URL de l’avatar", - "The phone number entered looks invalid": "Le numéro de téléphone entré semble être invalide" + "The phone number entered looks invalid": "Le numéro de téléphone entré semble être invalide", + "Guest users can't upload files. Please register to upload.": "Les visiteurs ne peuvent pas télécharger de fichier. Veuillez vous enregistrer pour télécharger.", + "Some of your messages have not been sent.": "Certains de vos messages n’ont pas été envoyés.", + "This room is private or inaccessible to guests. You may be able to join if you register.": "Ce salon est privé ou interdits aux visiteurs. Vous pourrez peut-être le joindre si vous vous enregistrez.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Un instant donné de la chronologie n’a pu être chargé car vous n’avez pas la permission de le visualiser.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Un instant donné de la chronologie n’a pu être chargé car il n’a pas pu être trouvé.", + "Uploading %(filename)s and %(count)s others.zero": "Téléchargement de %(filename)s", + "Uploading %(filename)s and %(count)s others.one": "Téléchargement de %(filename)s et %(count)s autre", + "Uploading %(filename)s and %(count)s others.other": "Téléchargement de %(filename)s et %(count)s autres", + "You must register to use this functionality": "Vous devez vous inscrire pour utiliser cette fonctionnalité", + "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Tout renvoyer or tout annuler maintenant. Vous pouvez aussi sélectionner des messages individuels à envoyer ou annuler.", + "Create new room": "Créer un nouveau salon", + "Welcome page": "Page d'accueil", + "Room directory": "Répertoire des salons", + "Start chat": "Démarrer une discussion", + "New Password": "Nouveau mot de passe", + "Start chatting": "Démarrer une discussion", + "Start Chatting": "Démarrer une discussion", + "Click on the button below to start chatting!": "Cliquer sur le bouton ci-dessous pour commencer une discussion !", + "Create a new chat or reuse an existing one": "Démarrer une nouvelle discussion ou en réutiliser une existante", + "You already have existing direct chats with this user:": "Vous avez déjà des discussions en cours avec cet utilisateur :", + "Username available": "Nom d'utilisateur disponible", + "Username not available": "Nom d'utilisateur indisponible", + "Something went wrong!": "Quelque chose s’est mal passé !", + "This will be your account name on the homeserver, or you can pick a different server.": "Cela sera le nom de votre compte sur le serveur , ou vous pouvez sélectionner un autre serveur.", + "If you already have a Matrix account you can log in instead.": "Si vous avez déjà un compte Matrix vous pouvez vous identifier à la place." } From 8833dc64b7267aa7491c407e3115762431456030 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 18:02:34 +0000 Subject: [PATCH 028/103] Translated using Weblate (German) Currently translated at 100.0% (850 of 850 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 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 0d952ffcd9..abf1eea088 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -182,7 +182,7 @@ "Once you've followed the link it contains, click below": "Nachdem du dem darin enthaltenen Link gefolgt bist, klicke unten", "rejected the invitation.": "lehnte die Einladung ab.", "Reject invitation": "Einladung ablehnen", - "Remove Contact Information?": "Kontakt-Informationen löschen?", + "Remove Contact Information?": "Kontakt-Informationen entfernen?", "removed their display name": "löschte den eigenen Anzeigenamen", "Remove": "Entfernen", "requested a VoIP conference": "hat eine VoIP-Konferenz angefordert", @@ -271,7 +271,7 @@ "Who would you like to communicate with?": "Mit wem möchtest du kommunizieren?", "Would you like to": "Möchtest du", "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 von %(inviterName)s in diesen Raum eingeladen", + "You have been invited to join this room by %(inviterName)s": "%(inviterName)s hat dich in diesen Raum eingeladen", "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 auf allen Geräten abgemeldet und wirst keine Push-Benachrichtigungen mehr erhalten. Um die Benachrichtigungen zu reaktivieren, musst du dich auf jedem Gerät neu anmelden", "you must be a": "nötige Rolle", "Your password has been reset": "Dein Passwort wurde zurückgesetzt", @@ -377,7 +377,7 @@ "Power level must be positive integer.": "Berechtigungslevel muss eine positive ganze Zahl sein.", "Reason": "Grund", "%(targetName)s rejected the invitation.": "%(targetName)s hat die Einladung abgelehnt.", - "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s löschte den Anzeigenamen (%(oldDisplayName)s).", + "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s hat den Anzeigenamen entfernt (%(oldDisplayName)s).", "%(senderName)s removed their profile picture.": "%(senderName)s hat das Profilbild gelöscht.", "%(senderName)s requested a VoIP conference.": "%(senderName)s möchte eine VoIP-Konferenz beginnen.", "Room %(roomId)s not visible": "Raum %(roomId)s ist nicht sichtbar", @@ -902,8 +902,8 @@ "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber du hast keine Berechtigung diese Nachricht zu sehen.", "Tried to load a specific point in this room's timeline, but was unable to find it.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber er konnte nicht gefunden werden.", "Uploading %(filename)s and %(count)s others.zero": "%(filename)s wird hochgeladen", - "Uploading %(filename)s and %(count)s others.one": "%(filename)s und %(count)s weitere werden hochgeladen", - "Uploading %(filename)s and %(count)s others.other": "%(filename)s und %(count)s weitere werden hochgeladen", + "Uploading %(filename)s and %(count)s others.one": "%(filename)s und %(count)s weitere Dateien werden hochgeladen", + "Uploading %(filename)s and %(count)s others.other": "%(filename)s und %(count)s weitere Dateien werden hochgeladen", "You must register to use this functionality": "Du musst dich registrieren um diese Funktionalität zu nutzen", "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Sende erneut oder breche alles ab. Du kannst auch auch individuelle Nachrichten erneut senden or abbrechen.", "Create new room": "Neuen Raum erstellen", @@ -920,5 +920,5 @@ "Username not available": "Nutzername nicht verfügbar", "Something went wrong!": "Etwas ging schief!", "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", - "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Konto hast, kannst du ansonsten auch anmelden." + "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden." } From 6ae8172fa2a91f8ba90142d1f74eb0593e0ee5a1 Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Wed, 7 Jun 2017 18:03:05 +0000 Subject: [PATCH 029/103] Translated using Weblate (Thai) Currently translated at 49.5% (421 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 76 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 2f64cdaf71..716cdb34e2 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -346,5 +346,79 @@ "to favourite": "ไปยังรายการโปรด", "to demote": "เพื่อลดขั้น", "The default role for new room members is": "บทบาทเริ่มต้นของสมาชิกใหม่คือ", - "The phone number entered looks invalid": "ดูเหมือนว่าหมายเลขโทรศัพท์ที่กรอกรมาไม่ถูกต้อง" + "The phone number entered looks invalid": "ดูเหมือนว่าหมายเลขโทรศัพท์ที่กรอกรมาไม่ถูกต้อง", + "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' มีขนาดใหญ่เกินจำกัดของเซิร์ฟเวอร์บ้าน", + "To send messages": "เพื่อส่งข้อความ", + "to start a chat with someone": "เพื่อเริ่มแชทกับผู้อื่น", + "to tag as %(tagName)s": "เพื่อแท็กว่า %(tagName)s", + "to tag direct chat": "เพื่อแทกว่าแชทตรง", + "Turn Markdown off": "ปิด markdown", + "Turn Markdown on": "เปิด markdown", + "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s ได้เปิดใช้งานการเข้ารหัสจากปลายทางถึงปลายทาง (อัลกอริทึม%(algorithm)s).", + "Unable to add email address": "ไมาสามารถเพิ่มที่อยู่อีเมล", + "Unable to verify email address.": "ไม่สามารถยืนยันที่อยู่อีเมล", + "Unban": "ปลดแบน", + "%(senderName)s unbanned %(targetName)s.": "%(senderName)s ปลดแบน %(targetName)s แล้ว", + "Unable to capture screen": "ไม่สามารถจับภาพหน้าจอ", + "Unable to enable Notifications": "ไม่สามารถเปิดใช้งานการแจ้งเตือน", + "Unable to load device list": "ไม่สามารถโหลดรายชื่ออุปกรณ์", + "Unencrypted room": "ห้องที่ไม่เข้ารหัส", + "unencrypted": "ยังไม่ได้เข้ารหัส", + "Unknown command": "คำสั่งที่ไม่รู้จัก", + "unknown device": "อุปกรณ์ที่ไม่รู้จัก", + "Unknown room %(roomId)s": "ห้องที่ไม่รู้จัก %(roomId)s", + "Unknown (user, device) pair:": "คู่ (ผู้ใช้, อุปกรณ์) ที่ไม่รู้จัก:", + "unknown": "ไม่รู้จัก", + "Unrecognised command:": "คำสั่งที่ไม่รู้จัก:", + "Unrecognised room alias:": "นามแฝงห้องที่ไม่รู้จัก:", + "Uploading %(filename)s and %(count)s others.zero": "กำลังอัปโหลด %(filename)s", + "Uploading %(filename)s and %(count)s others.one": "กำลังอัปโหลด %(filename)s และอีก %(count)s ไฟล์", + "Uploading %(filename)s and %(count)s others.other": "กำลังอัปโหลด %(filename)s และอีก %(count)s ไฟล์", + "uploaded a file": "อัปโหลดไฟล์", + "Upload Failed": "การอัปโหลดล้มเหลว", + "Upload Files": "อัปโหลดไฟล์", + "Upload file": "อัปโหลดไฟล์", + "Usage": "การใช้งาน", + "User ID": "ID ผู้ใช้", + "User Interface": "อินเตอร์เฟสผู้ใช้", + "User name": "ชื่อผู้ใช้", + "User": "ผู้ใช้", + "Warning!": "คำเตือน!", + "Who can access this room?": "ใครสามารถเข้าถึงห้องนี้ได้?", + "Who can read history?": "ใครสามารถอ่านประวัติแชทได้?", + "Who would you like to add to this room?": "คุณต้องการเพิ่มใครเข้าห้องนี้?", + "Who would you like to communicate with?": "คุณต้องการสื่อสารกับใคร?", + "You're not in any rooms yet! Press": "คุณยังไม่ได้อยู่ในห้องใดเลย! กด", + "You are trying to access %(roomName)s": "คุณกำลังพยายามเข้าสู่ %(roomName)s", + "You have disabled URL previews by default.": "ค่าเริ่มต้นของคุณปิดใช้งานตัวอย่าง URL เอาไว้", + "You have enabled URL previews by default.": "ค่าเริ่มต้นของคุณเปิดใช้งานตัวอย่าง URL เอาไว้", + "you must be a": "คุณต้องเป็น", + "You must register to use this functionality": "คุณต้องลงทะเบียนเพื่อใช้ฟังก์ชันนี้", + "You need to be logged in.": "คุณต้องเข้าสู่ระบบก่อน", + "You need to enter a user name.": "คุณต้องกรอกชื่อผู้ใช้ก่อน", + "Your password has been reset": "รหัสผ่านถูกรีเซ็ตแล้ว", + "Your password was successfully changed. You will not receive push notifications on other devices until you log back in to them": "การเปลี่ยนรหัสผ่านเสร็จสมบูณณ์ คุณจะไม่ได้รับการแจ้งเตือนบนอุปกรณ์อื่น ๆ จนกว่าคุณจะกลับเข้าสู่ระบบในอุปกรณ์เหล่านั้น", + "Sun": "อา.", + "Mon": "จ.", + "Tue": "อ.", + "Wed": "พ.", + "Thu": "พฤ.", + "Fri": "ศ.", + "Sat": "ส.", + "Jan": "ม.ค.", + "Feb": "ก.พ.", + "Mar": "มี.ค.", + "Apr": "เม.ย.", + "May": "พ.ค.", + "Jun": "มิ.ย.", + "Jul": "ก.ค.", + "Aug": "ส.ค.", + "Sep": "ก.ย.", + "Oct": "ต.ค.", + "Nov": "พ.ย.", + "Dec": "ธ.ค.", + "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s %(day)s %(monthName)s %(time)s", + "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "วัน%(weekDayName)sที่ %(day)s %(monthName)s %(fullYear)s เวลา %(time)s", + "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s" } From e21a8d384b5b4b9440da12766fe52473e7951216 Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Wed, 7 Jun 2017 18:36:25 +0000 Subject: [PATCH 030/103] Translated using Weblate (Thai) Currently translated at 56.0% (476 of 850 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 61 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 716cdb34e2..f7ed3aa550 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -201,7 +201,7 @@ "Hangup": "วางสาย", "Historical": "ประวัติแชทเก่า", "Homeserver is": "เซิร์ฟเวอร์บ้านคือ", - "Identity Server is": "เซิร์ฟเวอร์ยืนยันตัวตนคือ", + "Identity Server is": "เซิร์ฟเวอร์ระบุตัวตนคือ", "I have verified my email address": "ฉันยืนยันที่อยู่อีเมลแล้ว", "Import": "นำเข้า", "Incorrect username and/or password.": "ชื่อผู้ใช้และ/หรือรหัสผ่านไม่ถูกต้อง", @@ -419,6 +419,61 @@ "Nov": "พ.ย.", "Dec": "ธ.ค.", "%(weekDayName)s, %(monthName)s %(day)s %(time)s": "%(weekDayName)s %(day)s %(monthName)s %(time)s", - "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "วัน%(weekDayName)sที่ %(day)s %(monthName)s %(fullYear)s เวลา %(time)s", - "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s" + "%(weekDayName)s, %(monthName)s %(day)s %(fullYear)s %(time)s": "%(weekDayName)s %(day)s %(monthName)s %(fullYear)s %(time)s", + "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s", + "Set a display name:": "ตั้งชื่อที่แสดง:", + "Set a Display Name": "ตั้งชื่อที่แสดง", + "Passwords don't match.": "รหัสผ่านไม่ตรงกัน", + "Password too short (min %(MIN_PASSWORD_LENGTH)s).": "รหัสผ่านสั้นเกินไป (ขึ้นต่ำ %(MIN_PASSWORD_LENGTH)s ตัวอักษร)", + "An unknown error occurred.": "เกิดข้อผิดพลาดที่ไม่รู้จัก", + "I already have an account": "ฉันมีบัญชีอยู่แล้ว", + "An error occured: %(error_string)s": "เกิดข้อผิดพลาด: %(error_string)s", + "Topic": "หัวข้อ", + "Make Moderator": "เลื่อนขั้นเป็นผู้ช่วยดูแล", + "Make this room private": "ทำให้ห้องนี้เป็นส่วนตัว", + "Share message history with new users": "แบ่งประวัติแชทให้ผู้ใช้ใหม่", + "Encrypt room": "เข้ารหัสห้อง", + "Room": "ห้อง", + "(~%(searchCount)s results)": "(~%(searchCount)s ผลลัพธ์)", + "or": "หรือ", + "bold": "หนา", + "italic": "เอียง", + "strike": "ขีดทับ", + "underline": "ขีดเส้นใต้", + "code": "โค๊ด", + "quote": "อ้างอิง", + "were kicked %(repeats)s times": "ถูกเตะ %(repeats)s ครั้ง", + "was kicked %(repeats)s times": "ถูกเตะ %(repeats)s ครั้ง", + "were kicked": "ถูกเตะ", + "was kicked": "ถูกเตะ", + "New Password": "รหัสผ่านใหม่", + "Options": "ตัวเลือก", + "Export room keys": "ส่งออกกุณแจห้อง", + "Confirm passphrase": "ยืนยันรหัสผ่าน", + "Import room keys": "นำเข้ากุณแจห้อง", + "File to import": "ไฟล์ที่จะนำเข้า", + "Start new chat": "เริ่มแชทใหม่", + "Failed to invite": "การเชิญล้มเหลว", + "Failed to invite user": "การเชิญผู้ใช้ล้มเหลว", + "Failed to invite the following users to the %(roomName)s room:": "การเชิญผู้ใช้เหล่านี้เข้าสู่ห้อง %(roomName)s ล้มเหลว:", + "Confirm Removal": "ยืนยันการลบ", + "Unknown error": "ข้อผิดพลาดที่ไม่รู้จัก", + "Incorrect password": "รหัสผ่านไม่ถูกต้อง", + "Device name": "ชื่ออุปกรณ์", + "Device key": "Key อุปกรณ์", + "Unknown devices": "อุปกรณ์ที่ไม่รู้จัก", + "Unknown Address": "ที่อยู่ที่ไม่รู้จัก", + "Unblacklist": "ถอดบัญชีดำ", + "Blacklist": "ขึ้นบัญชีดำ", + "ex. @bob:example.com": "เช่น @bob:example.com", + "Add User": "เพิ่มผู้ใช้", + "This Home Server would like to make sure you are not a robot": "เซิร์ฟเวอร์บ้านต้องการยืนยันว่าคุณไม่ใช่หุ่นยนต์", + "Sign in with CAS": "เข้าสู่ระบบด้วย CAS", + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.": "คุณสามารถกำหนดเซิร์ฟเวอร์บ้านเองได้โดยใส่ URL ของเซิร์ฟเวอร์นั้น เพื่อเข้าสู่ระบบของเซิร์ฟเวอร์ Matrix อื่น", + "This allows you to use this app with an existing Matrix account on a different home server.": "ทั้งนี่เพื่อให้คุณสามารถใช้ Riot กับบัญชี Matrix ที่มีอยู่แล้วบนเซิร์ฟเวอร์บ้านอื่น ๆ ได้", + "You can also set a custom identity server but this will typically prevent interaction with users based on email address.": "คุณอาจเลือกเซิร์ฟเวอร์ระบุตัวตนเองด้วยก็ได้ แต่คุณจะไม่สามารถเชิญผู้ใช้อื่นด้วยที่อยู่อีเมล หรือรับคำเชิญจากผู้ใช้อื่นทางที่อยู่อีเมลได้", + "Default server": "เซิร์ฟเวอร์เริ่มต้น", + "Custom server": "เซิร์ฟเวอร์ที่กำหนดเอง", + "Home server URL": "URL เซิร์ฟเวอร์บ้าน", + "Identity server URL": "URL เซิร์ฟเวอร์ระบุตัวตน" } From a5b1d2e05aeaf5578dc26879e148d7c7ca372c02 Mon Sep 17 00:00:00 2001 From: Stanislav N Date: Thu, 8 Jun 2017 09:56:30 +0000 Subject: [PATCH 031/103] Translated using Weblate (Russian) Currently translated at 100.0% (852 of 852 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 46 +++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 85b7a6a7f5..647fbfe1d5 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -92,14 +92,14 @@ "Found a bug?": "Нашли ошибку?", "had": "имеет", "Hangup": "Отключение", - "Historical": "Исторический", + "Historical": "История", "Homeserver is": "Домашний сервер является", "Identity Server is": "Регистрационный сервер", "I have verified my email address": "Я проверил мой адрес электронной почты", "Import E2E room keys": "Импортировать E2E ключ комнаты", "Invalid Email Address": "Недействительный адрес электронной почты", "invited": "invited", - "Invite new room members": "Прегласить новых учасников комнаты", + "Invite new room members": "Пригласить новых учасников в комнату", "Invites": "Приглашать", "Invites user with given id to current room": "Пригласить пользователя с данным id в текущую комнату", "is a": "является", @@ -119,13 +119,13 @@ "Logout": "Выход из системы", "Low priority": "Низкий приоритет", "made future room history visible to": "made future room history visible to", - "Manage Integrations": "Управление интеграций", + "Manage Integrations": "Управление интеграциями", "Members only": "Только участники", "Mobile phone number": "Номер мобильного телефона", "Moderator": "Ведущий", "my Matrix ID": "мой Matrix ID", "Name": "Имя", - "Never send encrypted messages to unverified devices from this device": "Никогда не отправляйте зашифрованные сообщения в непроверенные устройства с этого устройства", + "Never send encrypted messages to unverified devices from this device": "Никогда не отправлять зашифрованные сообщения на неверифицированные устроства с этого устройства", "Never send encrypted messages to unverified devices in this room from this device": "Никогда не отправляйте зашифрованные сообщения в непроверенные устройства в этой комнате из этого устройства", "New password": "Новый пароль", "New passwords must match each other.": "Новые пароли должны соответствовать друг другу.", @@ -190,7 +190,7 @@ "Voice call": "Голосовой вызов", "VoIP conference finished.": "VoIP конференция закончилась.", "VoIP conference started.": "VoIP Конференция стартовала.", - "(warning: cannot be disabled again!)": "(предупреждение: не может быть снова отключен!)", + "(warning: cannot be disabled again!)": "(предупреждение: не может быть отключено!)", "Warning!": "Предупреждение!", "was banned": "запрещен", "was invited": "приглашенный", @@ -200,7 +200,7 @@ "were": "быть", "Who can access this room?": "Кто может получить доступ к этой комнате?", "Who can read history?": "Кто может читать историю?", - "Who would you like to add to this room?": "Кого хотели бы Вы добавлять к этой комнате?", + "Who would you like to add to this room?": "Кого бы вы хотели пригласить в эту комнату?", "Who would you like to communicate with?": "С кем хотели бы Вы связываться?", "withdrawn": "уходить", "Would you like to": "Хотели бы Вы", @@ -658,7 +658,7 @@ "powered by Matrix": "управляемый с Matrix", "Add a topic": "Добавить тему", "Show timestamps in 12 hour format (e.g. 2:30pm)": "Времея отображать в 12 часовом формате (напр. 2:30pm)", - "Use compact timeline layout": "Используйте компактным указанием времени", + "Use compact timeline layout": "Компактное отображение", "Hide removed messages": "Скрыть удаленное сообщение", "No Microphones detected": "Микрофоны не обнаружены", "Unknown devices": "Незнакомое устройство", @@ -864,5 +864,35 @@ "Disable URL previews for this room (affects only you)": "Отключить предпросмотр URL в этой комнате (только для вас)", "$senderDisplayName changed the room avatar to ": "$senderDisplayName сменил аватар комнаты на ", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s удалил аватар комнаты.", - "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s сменил аватар для %(roomName)s" + "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s сменил аватар для %(roomName)s", + "Create new room": "Создать комнату", + "Room directory": "Каталог комнат", + "Start chat": "Начать чат", + "Welcome page": "Домашняя страница", + "Add": "Добавить", + "%(count)s new messages.one": "%(count)s новое сообщение", + "%(count)s new messages.other": "%(count)s новых сообщений", + "Error: Problem communicating with the given homeserver.": "Ошибка: проблема коммуникаций с указанным Home Server'ом.", + "Failed to fetch avatar URL": "Ошибка получения аватара", + "The phone number entered looks invalid": "Введенный номер телефона выглядит неправильным", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Ошибка загрузки истории комнаты: недостаточно прав.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Ошибка загрузки истории комнаты: запрошенный элемент не найден.", + "Uploading %(filename)s and %(count)s others.zero": "Загрузка %(filename)s", + "Uploading %(filename)s and %(count)s others.one": "Загрузка %(filename)s и %(count)s другой файл", + "Uploading %(filename)s and %(count)s others.other": "Загрузка %(filename)s и %(count)s других файлов", + "Username invalid: %(errMessage)s": "Неверное имя пользователя: %(errMessage)s", + "Searching known users": "Искать известных пользователей", + "You must register to use this functionality": "Вы должны зарегистрироваться для использования этой функции", + "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Отослать снова или отменить отправку. Вы также можете выбрать на отправку или отмену отдельные сообщения.", + "New Password": "Новый пароль", + "Start chatting": "Начать общение", + "Start Chatting": "Начать общение", + "Click on the button below to start chatting!": "Нажмите на кнопку ниже для того, чтобы начать общение!", + "Create a new chat or reuse an existing one": "Создать новый чат или использовать уже существующий", + "You already have existing direct chats with this user:": "У вас уже есть существующие приватные чаты с этим пользователем:", + "Username available": "Имя пользователя доступно", + "Username not available": "Имя пользователя недоступно", + "Something went wrong!": "Что-то пошло не так!", + "This will be your account name on the homeserver, or you can pick a different server.": "Это будет ваше имя пользователя на , или вы можете выбрать другой сервер.", + "If you already have a Matrix account you can log in instead.": "Если вы уже имеете учетную запись Matrix, то вы можете войти." } From 96e471adc6ae522b58442bbe6307de7b1bff3ce3 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 22:03:11 +0000 Subject: [PATCH 032/103] Translated using Weblate (German) Currently translated at 99.7% (850 of 852 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 | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index ee8478c0c8..2845a5021c 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -127,7 +127,7 @@ "Found a bug?": "Fehler gefunden?", "Guests cannot join this room even if explicitly invited.": "Gäste können diesem Raum nicht beitreten, auch wenn sie explizit eingeladen wurden.", "Guests can't set avatars. Please register.": "Gäste können kein Profilbild setzen. Bitte registrieren.", - "Guest users can't upload files. Please register to upload.": "Gäste können keine Dateien hochladen. Bitte registrieren um hochzuladen.", + "Guest users can't upload files. Please register to upload.": "Gäste können keine Dateien hochladen. Bitte zunächst registrieren.", "had": "hatte", "Hangup": "Auflegen", "Homeserver is": "Der Homeserver ist", @@ -227,7 +227,7 @@ "to join the discussion": "um an der Diskussion teilzunehmen", "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.", + "Server may be unavailable, overloaded, or you hit a bug.": "Server ist nicht verfügbar, überlastet oder du bist auf einen Fehler gestoßen.", "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.", @@ -281,14 +281,14 @@ "Bulk Options": "Bulk-Optionen", "Call Timeout": "Anruf-Timeout", "Conference call failed.": "Konferenzgespräch fehlgeschlagen.", - "Conference calling is in development and may not be reliable.": "Konferenzgespräche sind in Entwicklung und evtl. nicht zuverlässig.", + "Conference calling is in development and may not be reliable.": "Konferenzgespräche befinden sich noch in der Entwicklungsphase und sind möglicherweise nicht zuverlässig nutzbar.", "Conference calls are not supported in encrypted rooms": "Konferenzgespräche werden in verschlüsselten Räumen nicht unterstützt", "Conference calls are not supported in this client": "Konferenzgespräche werden von diesem Client nicht unterstützt", "Existing Call": "Bereits bestehender Anruf", "Failed to set up conference call": "Konferenzgespräch konnte nicht gestartet werden", "Failed to verify email address: make sure you clicked the link in the email": "Verifizierung der E-Mail-Adresse fehlgeschlagen: Bitte stelle sicher, dass du den Link in der E-Mail angeklickt hast", "Failure to create room": "Raumerstellung fehlgeschlagen", - "Guest users can't create new rooms. Please register to create room and start a chat.": "Gäste können keine neuen Räume erstellen. Bitte registrieren um einen Raum zu erstellen und einen Chat zu starten.", + "Guest users can't create new rooms. Please register to create room and start a chat.": "Gastnutzer können keine neuen Räume erstellen. Bitte registriere dich um Räume zu erstellen und Chats zu starten.", "Riot does not have permission to send you notifications - please check your browser settings": "Riot hat keine Berechtigung Benachrichtigungen zu senden - bitte prüfe deine Browser-Einstellungen", "Riot was not given permission to send notifications - please try again": "Riot hat das Recht nicht bekommen Benachrichtigungen zu senden. Bitte erneut probieren", "This email address is already in use": "Diese E-Mail-Adresse wird bereits verwendet", @@ -302,11 +302,11 @@ "Unable to enable Notifications": "Benachrichtigungen konnten nicht aktiviert werden", "Upload Failed": "Upload fehlgeschlagen", "VoIP is unsupported": "VoIP wird nicht unterstützt", - "You are already in a call.": "Du bist bereits bei einem Anruf.", + "You are already in a call.": "Du bist bereits in einem Gespräch.", "You cannot place a call with yourself.": "Du kannst keinen Anruf mit dir selbst starten.", - "You cannot place VoIP calls in this browser.": "Du kannst kein VoIP-Gespräch in diesem Browser starten.", + "You cannot place VoIP calls in this browser.": "Du kannst keine VoIP-Gespräche in diesem Browser starten.", "You need to log back in to generate end-to-end encryption keys for this device and submit the public key to your homeserver. This is a once off; sorry for the inconvenience.": "Du musst dich erneut anmelden, um Ende-zu-Ende-Verschlüsselungs-Schlüssel für dieses Gerät zu generieren und um den öffentlichen Schlüssel auf deinem Homeserver zu hinterlegen. Dies muss nur einmal durchgeführt werden, bitte entschuldige die Unannehmlichkeiten.", - "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Deine E-Mail-Adresse scheint nicht mit einer Matrix-ID auf diesem Homeserver verknüpft zu sein.", + "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Deine E-Mail-Adresse scheint nicht mit einer Matrix-ID auf diesem Heimserver verbunden zu sein.", "Sun": "So", "Mon": "Mo", "Tue": "Di", @@ -581,7 +581,6 @@ "Failed to save settings": "Einstellungen konnten nicht gespeichert werden", "Failed to set display name": "Anzeigename konnte nicht gesetzt werden", "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.", "Hide Text Formatting Toolbar": "Verberge Text-Formatierungs-Toolbar", "Incorrect verification code": "Falscher Verifizierungscode", "Invalid alias format": "Ungültiges Alias-Format", @@ -608,8 +607,8 @@ "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.": "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.", + "Server unavailable, overloaded, or something else went wrong.": "Server nicht verfügbar, überlastet oder etwas anderes lief falsch.", + "Some of your messages have not been sent.": "Einige deiner Nachrichten wurden 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", "This action cannot be performed by a guest user. Please register to be able to do this": "Diese Aktion kann nicht von einem Gast ausgeführt werden. Bitte registriere dich um dies zu tun", @@ -726,7 +725,7 @@ "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.": "Eine Änderung des Passworts setzt derzeit alle Schlüssel für die E2E-Verschlüsselung auf allen verwendeten Geräten zurück. Bereits verschlüsselte Chat-Inhalte sind somit nur noch lesbar, wenn du zunächst alle Schlüssel exportierst und später wieder importierst. Wir arbeiten an einer Verbesserung dieser momentan noch notwendigen Vorgehensweise.", "Unmute": "Stummschalten aufheben", "Invalid file%(extra)s": "Ungültige Datei%(extra)s", - "Remove %(threePid)s?": "Entferne %(threePid)s?", + "Remove %(threePid)s?": "%(threePid)s entfernen?", "Please select the destination room for this message": "Bitte den Raum auswählen, an den diese Nachricht gesendet werden soll", "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s hat den Raum-Namen gelöscht.", "Passphrases must match": "Passphrase muss übereinstimmen", @@ -736,7 +735,6 @@ "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 die Raum-Dateien sehen zu können", - "Server may be unavailable, overloaded, or you hit a bug.": "Server ist nicht verfügbar, überlastet oder du bist auf einen Fehler gestoßen.", "Reject all %(invitedRooms)s invites": "Alle %(invitedRooms)s Einladungen ablehnen", "Start new Chat": "Starte neuen Chat", "Guest users can't invite users. Please register.": "Gäste können keine Nutzer einladen. Bitte registrieren.", @@ -841,17 +839,13 @@ "Default Device": "Standard-Gerät", "Microphone": "Mikrofon", "Camera": "Kamera", - "Conference call failed.": "Konferenzgespräch fehlgeschlagen.", - "Conference calling is in development and may not be reliable.": "Konferenzgespräche befinden sich noch in der Entwicklungsphase und sind möglicherweise nicht zuverlässig nutzbar.", "Device already verified!": "Gerät bereits verifiziert!", "Export": "Export", "Failed to register as guest:": "Registrieren als Gast schlug fehl:", "Guest access is disabled on this Home Server.": "Gastzugang ist auf diesem Heimserver deaktivert.", - "Guest users can't create new rooms. Please register to create room and start a chat.": "Gastnutzer können keine neuen Räume erstellen. Bitte registriere dich um Räume zu erstellen und Chats zu starten.", "Import": "Import", "Incorrect username and/or password.": "Inkorrekter Nutzername und/oder Passwort.", "Results from DuckDuckGo": "Ergebnisse von DuckDuckGo", - "Server unavailable, overloaded, or something else went wrong.": "Server nicht verfügbar, überlastet oder etwas anderes lief falsch.", "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "Den Signaturschlüssel den du bereitstellst stimmt mit dem Schlüssel den du von %(userId)s's Gerät %(deviceId)s empfangen hast überein. Gerät als verifiziert markiert.", "Add a topic": "Thema hinzufügen", "Anyone": "Jeder", @@ -879,13 +873,9 @@ "Verified key": "Verifizierter Schlüssel", "WARNING: Device already verified, but keys do NOT MATCH!": "WARNUNG: Gerät bereits verifiziert, aber Schlüssel sind NICHT GLEICH!", "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "WARNUNG: SCHLÜSSEL-VERIFIZIERUNG FEHLGESCHLAGEN! Der Signatur-Schlüssel für %(userId)s und Gerät %(deviceId)s ist \"%(fprint)s\" welche nicht dem bereitgestellten Schlüssel \"%(fingerprint)s\" übereinstimmen. Dies kann bedeuten, dass deine Kommunikation abgefangen wird!", - "You are already in a call.": "Du bist bereits in einem Gespräch.", - "You cannot place a call with yourself.": "Du kannst keinen Anruf mit dir selbst starten.", - "You cannot place VoIP calls in this browser.": "Du kannst keine VoIP-Gespräche in diesem Browser starten.", "You have disabled URL previews by default.": "Du hast die URL-Vorschau standardmäßig deaktiviert.", "You have enabled URL previews by default.": "Du hast die URL-Vorschau standardmäßig aktiviert.", "You have entered an invalid contact. Try using their Matrix ID or email address.": "Du hast einen ungültigen Kontakt eingegeben. Versuche es mit der Matrix-ID oder der E-Mail-Adresse.", - "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Deine E-Mail-Adresse scheint nicht mit einer Matrix-ID auf diesem Heimserver verbunden zu sein.", "$senderDisplayName changed the room avatar to ": "$senderDisplayName hat das Raum-Bild geändert zu ", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", "Hide removed messages": "Gelöschte Nachrichten verbergen", @@ -896,7 +886,6 @@ "%(count)s new messages.other": "%(count)s neue Nachrichten", "Error: Problem communicating with the given homeserver.": "Fehler: Problem beim kommunizieren mit dem angegebenen Heimserver.", "Failed to fetch avatar URL": "Fehler beim holen der Avatar-URL", - "Some of your messages have not been sent.": "Einige deiner Nachrichten wurden nicht gesendet.", "The phone number entered looks invalid": "Die Telefonnummer, die eingegeben wurde, sieht ungültig aus", "This room is private or inaccessible to guests. You may be able to join if you register.": "Dieser Raum ist privat oder für Gäste nicht betretbar. Du kannst evtl. beitreten wenn du dich registrierst.", "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber du hast keine Berechtigung diese Nachricht zu sehen.", From db647fa6678128d11ea7e5cf81d3c061dba8302e Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Wed, 7 Jun 2017 22:05:27 +0000 Subject: [PATCH 033/103] Translated using Weblate (Thai) Currently translated at 56.2% (479 of 852 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 877a177c17..f97b6b8d50 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -229,7 +229,7 @@ "Leave room": "ออกจากห้อง", "left and rejoined": "ออกแล้วกลับเข้าร่วมอีกครั้ง", "left": "ออกไปแล้ว", - "%(targetName)s left the room.": "%(targetName)s ออกจากห้องไปแล้ว", + "%(targetName)s left the room.": "%(targetName)s ออกจากห้องแล้ว", "List this room in %(domain)s's room directory?": "แสดงห้องนี้ในไดเรกทอรีห้องของ %(domain)s?", "Logged in as:": "เข้าสู่ระบบในชื่อ:", "Login as guest": "เข้าสู่ระบบในฐานะแขก", @@ -474,5 +474,9 @@ "Default server": "เซิร์ฟเวอร์เริ่มต้น", "Custom server": "เซิร์ฟเวอร์ที่กำหนดเอง", "Home server URL": "URL เซิร์ฟเวอร์บ้าน", - "Identity server URL": "URL เซิร์ฟเวอร์ระบุตัวตน" + "Identity server URL": "URL เซิร์ฟเวอร์ระบุตัวตน", + "%(severalUsers)sleft %(repeats)s times": "%(targetName)sออกจากห้อง %(repeats)s ครั้ง", + "%(oneUser)sleft %(repeats)s times": "%(oneUser)sออกจากห้อง %(repeats)s ครั้ง", + "%(severalUsers)sleft": "%(severalUsers)sออกจากห้องแล้ว", + "%(oneUser)sleft": "%(oneUser)sออกจากห้องแล้ว" } From 2bed5bae174eeb045f81f12f3616c9b5cac23f4f Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 22:03:11 +0000 Subject: [PATCH 034/103] Translated using Weblate (German) Currently translated at 99.7% (851 of 853 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 2845a5021c..7013ccabb6 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -909,5 +909,6 @@ "Username not available": "Nutzername nicht verfügbar", "Something went wrong!": "Etwas ging schief!", "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", - "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden." + "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", + "Home": "Start" } From 5686eb75d46eb7629ad8f4083d21470dfe91c35d Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 22:03:11 +0000 Subject: [PATCH 035/103] Translated using Weblate (German) Currently translated at 99.7% (851 of 853 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 7013ccabb6..b81b3ef1e4 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -910,5 +910,6 @@ "Something went wrong!": "Etwas ging schief!", "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", - "Home": "Start" + "Home": "Start", + "Username invalid: %(errMessage)s": "Nutzername falsch:" } From 811901097d77ff50d75b4427cc7d6fd5a1249b09 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Wed, 7 Jun 2017 22:03:11 +0000 Subject: [PATCH 036/103] Translated using Weblate (German) Currently translated at 100.0% (853 of 853 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index b81b3ef1e4..4102d7be56 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -911,5 +911,5 @@ "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", "Home": "Start", - "Username invalid: %(errMessage)s": "Nutzername falsch:" + "Username invalid: %(errMessage)s": "Nutzername falsch: %(errMessage)s" } From ec9a436625d70e4af616a4fadb19d16d9577bdef Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 11:56:48 +0100 Subject: [PATCH 037/103] Formatting --- src/Login.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Login.js b/src/Login.js index 87731744e9..659fdb92bb 100644 --- a/src/Login.js +++ b/src/Login.js @@ -161,8 +161,7 @@ export default class Login { error.friendlyText = ( _t('This Home Server does not support login using email address.') ); - } - else if (error.httpStatus === 403) { + } else if (error.httpStatus === 403) { error.friendlyText = ( _t('Incorrect username and/or password.') ); @@ -185,8 +184,7 @@ export default class Login { throw error; }); } - } - else { + } else { error.friendlyText = ( _t("There was a problem logging in.") + ' (HTTP ' + error.httpStatus + ")" ); From 7e7b5a6dc03c36a831dcbad40744fe669f22de6c Mon Sep 17 00:00:00 2001 From: Vladi Date: Thu, 8 Jun 2017 11:46:42 +0000 Subject: [PATCH 038/103] Translated using Weblate (Russian) Currently translated at 100.0% (853 of 853 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 647fbfe1d5..4f1939ffcc 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -667,7 +667,7 @@ "Desktop specific": "Специфический десктоп", "Start automatically after system login": "Автостарт после входа в систему", "Analytics": "Аналитика", - "Riot collects anonymous analytics to allow us to improve the application.": "Riot собирет анонимные данные, чтобы улутшыть эту програму.", + "Riot collects anonymous analytics to allow us to improve the application.": "Riot собирает анонимные данные, чтобы улучшить эту программу.", "Opt out of analytics": "Подтвердить отказ передачи аналитических данных", "Logged in as:": "Зарегестрирован как:", "Default Device": "Стандартное устройство", @@ -894,5 +894,6 @@ "Username not available": "Имя пользователя недоступно", "Something went wrong!": "Что-то пошло не так!", "This will be your account name on the homeserver, or you can pick a different server.": "Это будет ваше имя пользователя на , или вы можете выбрать другой сервер.", - "If you already have a Matrix account you can log in instead.": "Если вы уже имеете учетную запись Matrix, то вы можете войти." + "If you already have a Matrix account you can log in instead.": "Если вы уже имеете учетную запись Matrix, то вы можете войти.", + "Home": "Старт" } From 6d1fa775a04c24b37bf81524f1eb03516176e62e Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 14:14:45 +0100 Subject: [PATCH 039/103] Formatting --- src/components/structures/login/Login.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index 840f0874a7..be440febdc 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -219,8 +219,8 @@ module.exports = React.createClass({ if (err.cors === 'rejected') { if (window.location.protocol === 'https:' && (this.state.enteredHomeserverUrl.startsWith("http:") || - !this.state.enteredHomeserverUrl.startsWith("http"))) - { + !this.state.enteredHomeserverUrl.startsWith("http")) + ) { errorText = { _tJsx("Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. " + "Either use HTTPS or enable unsafe scripts.", @@ -228,8 +228,7 @@ module.exports = React.createClass({ (sub) => { return { sub }; } )} ; - } - else { + } else { errorText = { _tJsx("Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.", /(.*?)<\/a>/, From d3cf78ff5abd3297cb1f51a3017d5236db114af5 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 14:17:49 +0100 Subject: [PATCH 040/103] Control currently viewied event via RoomViewStore Fix for https://github.com/vector-im/riot-web/issues/4224 Due to the way `MatrixChat` does a state update when the `view_room` dispatch fires and a second update when `RoomViewStore` sends an update, the current event ID and room ID were becoming out of sync. The solution devised was to have the event ID managed by the `RoomViewStore` itself and do any defaulting there (for when we revisit a room that we saved scroll state for previously). This required a few changes: - The addition of `update_scroll_state` in `RoomViewStore` allows the `RoomView` to save scroll state for a room before swapping to another one. Previously the caching of scroll state was done in `RoomView`. - The `view_room` dispatch now accepts an `event_id`, which dictates which event is supposed to be scrolled to in the `MessagePanel` when a new room is viewed. It also accepts `event_offset`, but currently, this isn't passed in by a dispatch in the app, but it is clobbered when loading the default position when an `event_id` isn't specified. Finally, `highlighted` was added to distinguish whether the initial event being scrolled to is also highlighted. This flag is also used by `viewRoom` in `MatrixChat` in order to decide whether to `notifyNewScreen` with the specified `event_id`. --- src/components/structures/LoggedInView.js | 2 - src/components/structures/MatrixChat.js | 19 +---- src/components/structures/RoomView.js | 93 +++++++++-------------- src/components/views/rooms/EventTile.js | 1 + src/stores/RoomViewStore.js | 72 +++++++++++++++++- 5 files changed, 109 insertions(+), 78 deletions(-) diff --git a/src/components/structures/LoggedInView.js b/src/components/structures/LoggedInView.js index a201a0bea7..8fa35e84d7 100644 --- a/src/components/structures/LoggedInView.js +++ b/src/components/structures/LoggedInView.js @@ -223,10 +223,8 @@ export default React.createClass({ ref='roomView' autoJoin={this.props.autoJoin} onRegistered={this.props.onRegistered} - eventId={this.props.initialEventId} thirdPartyInvite={this.props.thirdPartyInvite} oobData={this.props.roomOobData} - highlightedEventId={this.props.highlightedEventId} eventPixelOffset={this.props.initialEventPixelOffset} key={this.props.currentRoomId || 'roomview'} opacity={this.props.middleOpacity} diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index efb2b38d6e..b65fa0be1c 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -618,9 +618,6 @@ module.exports = React.createClass({ this.focusComposer = true; const newState = { - initialEventId: roomInfo.event_id, - highlightedEventId: roomInfo.event_id, - initialEventPixelOffset: undefined, page_type: PageTypes.RoomView, thirdPartyInvite: roomInfo.third_party_invite, roomOobData: roomInfo.oob_data, @@ -632,18 +629,6 @@ module.exports = React.createClass({ newState.currentRoomId = roomInfo.room_id; } - // if we aren't given an explicit event id, look for one in the - // scrollStateMap. - // - // TODO: do this in RoomView rather than here - if (!roomInfo.event_id && this.refs.loggedInView) { - const scrollState = this.refs.loggedInView.getScrollStateForRoom(roomInfo.room_id); - if (scrollState) { - newState.initialEventId = scrollState.focussedEvent; - newState.initialEventPixelOffset = scrollState.pixelOffset; - } - } - // Wait for the first sync to complete so that if a room does have an alias, // it would have been retrieved. let waitFor = q(null); @@ -669,7 +654,7 @@ module.exports = React.createClass({ } } - if (roomInfo.event_id) { + if (roomInfo.event_id && roomInfo.highlighted) { presentedId += "/" + roomInfo.event_id; } this.notifyNewScreen('room/' + presentedId); @@ -1124,8 +1109,10 @@ module.exports = React.createClass({ }; const payload = { + id: '#mylovelyid', action: 'view_room', event_id: eventId, + highlighted: Boolean(eventId), third_party_invite: thirdPartyInvite, oob_data: oobData, }; diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index df21715d75..a4c589187b 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -83,36 +83,8 @@ module.exports = React.createClass({ // * invited us tovthe room oobData: React.PropTypes.object, - // id of an event to jump to. If not given, will go to the end of the - // live timeline. - eventId: React.PropTypes.string, - - // where to position the event given by eventId, in pixels from the - // bottom of the viewport. If not given, will try to put the event - // 1/3 of the way down the viewport. - eventPixelOffset: React.PropTypes.number, - - // ID of an event to highlight. If undefined, no event will be highlighted. - // Typically this will either be the same as 'eventId', or undefined. - highlightedEventId: React.PropTypes.string, - // is the RightPanel collapsed? collapsedRhs: React.PropTypes.bool, - - // a map from room id to scroll state, which will be updated on unmount. - // - // If there is no special scroll state (ie, we are following the live - // timeline), the scroll state is null. Otherwise, it is an object with - // the following properties: - // - // focussedEvent: the ID of the 'focussed' event. Typically this is - // the last event fully visible in the viewport, though if we - // have done an explicit scroll to an explicit event, it will be - // that event. - // - // pixelOffset: the number of pixels the window is scrolled down - // from the focussedEvent. - scrollStateMap: React.PropTypes.object, }, getInitialState: function() { @@ -180,13 +152,28 @@ module.exports = React.createClass({ if (this.unmounted) { return; } - this.setState({ + const newState = { roomId: RoomViewStore.getRoomId(), roomAlias: RoomViewStore.getRoomAlias(), roomLoading: RoomViewStore.isRoomLoading(), roomLoadError: RoomViewStore.getRoomLoadError(), joining: RoomViewStore.isJoining(), - }, () => { + eventId: RoomViewStore.getEventId(), + eventPixelOffset: RoomViewStore.getEventPixelOffset(), + isEventHighlighted: RoomViewStore.isEventHighlighted(), + }; + + if (this.state.eventId !== newState.eventId) { + newState.searchResults = null; + } + + // Store the scroll state for the previous room so that we can return to this + // position when viewing this room in future. + if (this.state.roomId !== newState.roomId) { + this._updateScrollMap(this.state.roomId); + } + + this.setState(newState, () => { this._onHaveRoom(); this.onRoom(MatrixClientPeg.get().getRoom(this.state.roomId)); }); @@ -287,13 +274,6 @@ module.exports = React.createClass({ } }, - componentWillReceiveProps: function(newProps) { - if (newProps.eventId != this.props.eventId) { - // when we change focussed event id, hide the search results. - this.setState({searchResults: null}); - } - }, - shouldComponentUpdate: function(nextProps, nextState) { return (!ObjectUtils.shallowEqual(this.props, nextProps) || !ObjectUtils.shallowEqual(this.state, nextState)); @@ -319,7 +299,7 @@ module.exports = React.createClass({ this.unmounted = true; // update the scroll map before we get unmounted - this._updateScrollMap(); + this._updateScrollMap(this.state.roomId); if (this.refs.roomView) { // disconnect the D&D event listeners from the room view. This @@ -598,6 +578,14 @@ module.exports = React.createClass({ }); }, + _updateScrollMap(roomId) { + dis.dispatch({ + action: 'update_scroll_state', + room_id: roomId, + scroll_state: this._getScrollState(), + }); + }, + onRoom: function(room) { if (!room || room.roomId !== this.state.roomId) { return; @@ -1240,21 +1228,6 @@ module.exports = React.createClass({ } }, - // update scrollStateMap on unmount - _updateScrollMap: function() { - if (!this.state.room) { - // we were instantiated on a room alias and haven't yet joined the room. - return; - } - if (!this.props.scrollStateMap) return; - - var roomId = this.state.room.roomId; - - var state = this._getScrollState(); - this.props.scrollStateMap[roomId] = state; - }, - - // get the current scroll position of the room, so that it can be // restored when we switch back to it. // @@ -1677,6 +1650,14 @@ module.exports = React.createClass({ hideMessagePanel = true; } + const shouldHighlight = this.state.isEventHighlighted; + let highlightedEventId = null; + if (this.state.forwardingEvent) { + highlightedEventId = this.state.forwardingEvent.getId(); + } else if (shouldHighlight) { + highlightedEventId = this.state.eventId; + } + // console.log("ShowUrlPreview for %s is %s", this.state.room.roomId, this.state.showUrlPreview); var messagePanel = ( disabled URL previews by default.": "Você desabilitou pré-visualizações de links por padrão.", "You have enabled URL previews by default.": "Você habilitou pré-visualizações de links por padrão.", "You have entered an invalid contact. Try using their Matrix ID or email address.": "Você inseriu um contato inválido. Tente usar o ID Matrix ou endereço de e-mail da pessoa que está buscando.", - "Hide removed messages": "Ocultar mensagens removidas" + "Hide removed messages": "Ocultar mensagens removidas", + "Add": "Adicionar", + "%(count)s new messages.one": "%(count)s nova mensagem", + "%(count)s new messages.other": "%(count)s novas mensagens", + "Disable markdown formatting": "Desabilitar formatação MarkDown", + "Error: Problem communicating with the given homeserver.": "Erro: problema de comunicação com o Servidor de Base fornecido.", + "Failed to fetch avatar URL": "Falha ao obter a URL da imagem de perfil", + "Home": "Início", + "The phone number entered looks invalid": "O número de telefone inserido parece ser inválido", + "Uploading %(filename)s and %(count)s others.zero": "Enviando o arquivo %(filename)s", + "Uploading %(filename)s and %(count)s others.one": "Enviando o arquivo %(filename)s e %(count)s outros arquivos", + "Uploading %(filename)s and %(count)s others.other": "Enviando o arquivo %(filename)s e %(count)s outros arquivos", + "Username invalid: %(errMessage)s": "Nome de usuária(o) inválido: %(errMessage)s", + "Searching known users": "Buscando pessoas conhecidas", + "You must register to use this functionality": "Você deve se registrar para poder usar esta funcionalidade", + "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Reenviar todas ou cancelar todas agora. Você também pode selecionar mensagens individuais que queira reenviar ou cancelar.", + "Create new room": "Criar nova sala", + "Welcome page": "Página de boas vindas", + "Room directory": "Lista pública de salas", + "Start chat": "Iniciar conversa pessoal", + "New Password": "Nova senha", + "Start chatting": "Iniciar a conversa", + "Start Chatting": "Iniciar a conversa", + "Click on the button below to start chatting!": "Clique no botão abaixo para começar a conversar!", + "Create a new chat or reuse an existing one": "Criar uma nova conversa ou reutilizar alguma já existente", + "You already have existing direct chats with this user:": "Você já tem conversas pessoais com esta pessoa:", + "Username available": "Nome de usuária(o) disponível", + "Username not available": "Nome de usuária(o) indisponível", + "Something went wrong!": "Algo deu errado!", + "This will be your account name on the homeserver, or you can pick a different server.": "Este será seu nome de conta no Servidor de Base , ou então você pode escolher um servidor diferente.", + "If you already have a Matrix account you can log in instead.": "Se você já tem uma conta Matrix, pode também fazer login." } From aa20ad706e0f6110801a6e30c884f21be46d76a1 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:30:43 +0100 Subject: [PATCH 043/103] Remove redundant `currentRoomAlias` --- src/components/structures/MatrixChat.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index a115e89062..0493456e0e 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -621,7 +621,6 @@ module.exports = React.createClass({ page_type: PageTypes.RoomView, thirdPartyInvite: roomInfo.third_party_invite, roomOobData: roomInfo.oob_data, - currentRoomAlias: roomInfo.room_alias, autoJoin: roomInfo.auto_join, }; From 8ddc38c9b107ddd3d143e0269f7609c2444e4bbd Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:32:31 +0100 Subject: [PATCH 044/103] Doc _viewRoom highlighted --- src/components/structures/MatrixChat.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index 0493456e0e..f34cc8b0ef 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -607,6 +607,7 @@ module.exports = React.createClass({ // @param {boolean=} roomInfo.show_settings Makes RoomView show the room settings dialog. // @param {string=} roomInfo.event_id ID of the event in this room to show: this will cause a switch to the // context of that particular event. + // @param {boolean=} roomInfo.highlighted If true, add event_id to the hash of the URL // @param {Object=} roomInfo.third_party_invite Object containing data about the third party // we received to join the room, if any. // @param {string=} roomInfo.third_party_invite.inviteSignUrl 3pid invite sign URL From 2e82bf40fb7996f909b68ab8ad4fdc94ef489c47 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:34:20 +0100 Subject: [PATCH 045/103] Explain setting of highlighted in room/$eventId showScreen handling. --- src/components/structures/MatrixChat.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index f34cc8b0ef..5f13f53d0b 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -1118,6 +1118,7 @@ module.exports = React.createClass({ const payload = { action: 'view_room', event_id: eventId, + // If an event ID is set (truthy), mark it as highlighted highlighted: Boolean(eventId), third_party_invite: thirdPartyInvite, oob_data: oobData, From dca2be632591c64914421329a3a9743232019ec6 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:37:30 +0100 Subject: [PATCH 046/103] Add RoomView initial state and docs --- src/components/structures/RoomView.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index a4c589187b..f5db36a581 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -94,6 +94,13 @@ module.exports = React.createClass({ roomLoading: true, peekLoading: false, + // The event to be scrolled to initially + eventId: null, + // The offset in pixels from the event with which to scroll vertically + eventPixelOffset: null, + // Whether to highlight the event scrolled to + isEventHighlighted: null, + forwardingEvent: null, editingRoomSettings: false, uploadingRoomSettings: false, From e58e4db628c17e54d396570f4d6cf7e216eb11d6 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:38:58 +0100 Subject: [PATCH 047/103] Explain why search results are cleared when eventId changes --- src/components/structures/RoomView.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index f5db36a581..180e6ebc89 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -170,6 +170,8 @@ module.exports = React.createClass({ isEventHighlighted: RoomViewStore.isEventHighlighted(), }; + // Clear the search results when clicking a search result (which changes the + // currently scrolled to event, this.state.eventId). if (this.state.eventId !== newState.eventId) { newState.searchResults = null; } From 59e649f326aaff78253ae40cb824f78969b3b611 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:43:45 +0100 Subject: [PATCH 048/103] Add comment about roomId potentially not being resolved following an update from RoomViewStore --- src/components/structures/RoomView.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 180e6ebc89..cfa4038114 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -183,6 +183,8 @@ module.exports = React.createClass({ } this.setState(newState, () => { + // At this point, this.state.roomId could be null (e.g. the alias might not + // have been resolved yet) so anything called here must handle this case. this._onHaveRoom(); this.onRoom(MatrixClientPeg.get().getRoom(this.state.roomId)); }); From 1792fa45f4732aae292f85a85903d1199be87a65 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:45:50 +0100 Subject: [PATCH 049/103] Null-guard roomId before sending a dispatch to update scroll state Otherwise we pointlessly assign the null key to something --- src/components/structures/RoomView.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index cfa4038114..06e65589d1 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -590,6 +590,10 @@ module.exports = React.createClass({ }, _updateScrollMap(roomId) { + // No point updating scroll state if the room ID hasn't been resolved yet + if (!roomId) { + return; + } dis.dispatch({ action: 'update_scroll_state', room_id: roomId, From d691c891e7353e95d309474f92bf2d1ff7cc6546 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 15:49:48 +0100 Subject: [PATCH 050/103] Move all login error string generation into view This makes all the various hits done by login report the same useful error messages and gets rid of the broken ones like printing the http status code even if it was undefined. Also add text for the case of overzealous browser extensions because lots of people get bitten by it. --- src/Login.js | 18 +-------- src/components/structures/login/Login.js | 51 ++++++++++++++++-------- src/i18n/strings/en_EN.json | 2 +- 3 files changed, 36 insertions(+), 35 deletions(-) diff --git a/src/Login.js b/src/Login.js index 659fdb92bb..8db6e99b89 100644 --- a/src/Login.js +++ b/src/Login.js @@ -97,11 +97,6 @@ export default class Login { guest: true }; }, (error) => { - if (error.httpStatus === 403) { - error.friendlyText = _t("Guest access is disabled on this Home Server."); - } else { - error.friendlyText = _t("Failed to register as guest:") + ' ' + error.data; - } throw error; }); } @@ -157,14 +152,7 @@ export default class Login { accessToken: data.access_token }); }, function(error) { - if (error.httpStatus == 400 && loginParams.medium) { - error.friendlyText = ( - _t('This Home Server does not support login using email address.') - ); - } else if (error.httpStatus === 403) { - error.friendlyText = ( - _t('Incorrect username and/or password.') - ); + if (error.httpStatus === 403) { if (self._fallbackHsUrl) { var fbClient = Matrix.createClient({ baseUrl: self._fallbackHsUrl, @@ -184,10 +172,6 @@ export default class Login { throw error; }); } - } else { - error.friendlyText = ( - _t("There was a problem logging in.") + ' (HTTP ' + error.httpStatus + ")" - ); } throw error; }); diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index be440febdc..7d283e0e36 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -87,7 +87,24 @@ module.exports = React.createClass({ ).then((data) => { this.props.onLoggedIn(data); }, (error) => { - this._setStateFromError(error, true); + let errorText; + + // Some error strings only apply for logging in + const usingEmail = username.indexOf("@"); + if (error.httpStatus == 400 && usingEmail) { + errorText = _t('This Home Server does not support login using email address.'); + } else if (error.httpStatus == 401 || error.httpStatus === 403) { + errorText = _t('Incorrect username and/or password.'); + } else { + // other errors, not specific to doing a password login + errorText = this._errorTextFromError(error); + } + + this.setState({ + errorText: errorText, + // https://matrix.org/jira/browse/SYN-744 + loginIncorrect: error.httpStatus == 401 || error.httpStatus == 403 + }); }).finally(() => { this.setState({ busy: false @@ -110,7 +127,16 @@ module.exports = React.createClass({ this._loginLogic.loginAsGuest().then(function(data) { self.props.onLoggedIn(data); }, function(error) { - self._setStateFromError(error, true); + let errorText; + if (error.httpStatus === 403) { + errorText = _t("Guest access is disabled on this Home Server."); + } else { + errorText = self._errorTextFromError(error); + } + self.setState({ + errorText: errorText, + loginIncorrect: false, + }); }).finally(function() { self.setState({ busy: false @@ -183,31 +209,22 @@ module.exports = React.createClass({ currentFlow: self._getCurrentFlowStep(), }); }, function(err) { - self._setStateFromError(err, false); + self.setState({ + errorText: self._errorTextFromError(err), + loginIncorrect: false, + }); }).finally(function() { self.setState({ busy: false, }); - }); + }).done(); }, _getCurrentFlowStep: function() { return this._loginLogic ? this._loginLogic.getCurrentFlowStep() : null; }, - _setStateFromError: function(err, isLoginAttempt) { - this.setState({ - errorText: this._errorTextFromError(err), - // https://matrix.org/jira/browse/SYN-744 - loginIncorrect: isLoginAttempt && (err.httpStatus == 401 || err.httpStatus == 403) - }); - }, - _errorTextFromError(err) { - if (err.friendlyText) { - return err.friendlyText; - } - let errCode = err.errcode; if (!errCode && err.httpStatus) { errCode = "HTTP " + err.httpStatus; @@ -230,7 +247,7 @@ module.exports = React.createClass({ ; } else { errorText = - { _tJsx("Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted.", + { _tJsx("Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.", /(.*?)<\/a>/, (sub) => { return { sub }; } )} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 8dbbb98423..6984d46ed4 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -180,7 +180,7 @@ "Bug Report": "Bug Report", "Bulk Options": "Bulk Options", "Call Timeout": "Call Timeout", - "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 - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.", "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", From 000a045e3523ed7154fb3817e06d3ee5cf343439 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:47:41 +0100 Subject: [PATCH 051/103] Rename RVS state (event -> initialEvent) and redocument --- src/components/structures/RoomView.js | 18 ++++++------- src/stores/RoomViewStore.js | 38 ++++++++++++++------------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 06e65589d1..942e3c8e07 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -165,14 +165,14 @@ module.exports = React.createClass({ roomLoading: RoomViewStore.isRoomLoading(), roomLoadError: RoomViewStore.getRoomLoadError(), joining: RoomViewStore.isJoining(), - eventId: RoomViewStore.getEventId(), - eventPixelOffset: RoomViewStore.getEventPixelOffset(), - isEventHighlighted: RoomViewStore.isEventHighlighted(), + initialEventId: RoomViewStore.getInitialEventId(), + initialEventPixelOffset: RoomViewStore.getInitialEventPixelOffset(), + isInitialEventHighlighted: RoomViewStore.isInitialEventHighlighted(), }; // Clear the search results when clicking a search result (which changes the - // currently scrolled to event, this.state.eventId). - if (this.state.eventId !== newState.eventId) { + // currently scrolled to event, this.state.initialEventId). + if (this.state.initialEventId !== newState.initialEventId) { newState.searchResults = null; } @@ -1665,12 +1665,12 @@ module.exports = React.createClass({ hideMessagePanel = true; } - const shouldHighlight = this.state.isEventHighlighted; + const shouldHighlight = this.state.isInitialEventHighlighted; let highlightedEventId = null; if (this.state.forwardingEvent) { highlightedEventId = this.state.forwardingEvent.getId(); } else if (shouldHighlight) { - highlightedEventId = this.state.eventId; + highlightedEventId = this.state.initialEventId; } // console.log("ShowUrlPreview for %s is %s", this.state.room.roomId, this.state.showUrlPreview); @@ -1681,8 +1681,8 @@ module.exports = React.createClass({ manageReadMarkers={true} hidden={hideMessagePanel} highlightedEventId={highlightedEventId} - eventId={this.state.eventId} - eventPixelOffset={this.state.eventPixelOffset} + eventId={this.state.initialEventId} + eventPixelOffset={this.state.initialEventPixelOffset} onScroll={ this.onMessageListScroll } onReadMarkerUpdated={ this._updateTopUnreadMessagesBar } showUrlPreview = { this.state.showUrlPreview } diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index 0529824a4b..8277aeda97 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -27,12 +27,14 @@ const INITIAL_STATE = { joinError: null, // The room ID of the room roomId: null, - // The event being viewed - eventId: null, - // The offset to display the event at (see scrollStateMap) - eventPixelOffset: null, - // Whether to highlight the event - isEventHighlighted: false, + + // The event to scroll to initially + initialEventId: null, + // The offset to display the initial event at (see scrollStateMap) + initialEventPixelOffset: null, + // Whether to highlight the initial event + isInitialEventHighlighted: false, + // The room alias of the room (or null if not originally specified in view_room) roomAlias: null, // Whether the current room is loading @@ -131,9 +133,9 @@ class RoomViewStore extends Store { this._setState({ roomId: payload.room_id, - eventId: payload.event_id, - eventPixelOffset: payload.event_offset, - isEventHighlighted: payload.highlighted, + initialEventId: payload.event_id, + initialEventPixelOffset: payload.event_offset, + isInitialEventHighlighted: payload.highlighted, roomLoading: false, roomLoadError: null, }); @@ -141,9 +143,9 @@ class RoomViewStore extends Store { // Resolve the alias and then do a second dispatch with the room ID acquired this._setState({ roomId: null, - eventId: null, - eventPixelOffset: null, - isEventHighlighted: null, + initialEventId: null, + initialEventPixelOffset: null, + isInitialEventHighlighted: null, roomAlias: payload.room_alias, roomLoading: true, roomLoadError: null, @@ -229,16 +231,16 @@ class RoomViewStore extends Store { return this._state.roomId; } - getEventId() { - return this._state.eventId; + getInitialEventId() { + return this._state.initialEventId; } - getEventPixelOffset() { - return this._state.eventPixelOffset; + getInitialEventPixelOffset() { + return this._state.initialEventPixelOffset; } - isEventHighlighted() { - return this._state.isEventHighlighted; + isInitialEventHighlighted() { + return this._state.isInitialEventHighlighted; } getRoomAlias() { From 36f72cccb51d4be536509b8879321660b604d90c Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 15:54:23 +0100 Subject: [PATCH 052/103] Don't alter members of payload (when defaulting an event to scroll to), alter a copy --- src/stores/RoomViewStore.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index 8277aeda97..a0c9ccc33f 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -121,24 +121,26 @@ class RoomViewStore extends Store { _viewRoom(payload) { if (payload.room_id) { - // If an event ID wasn't specified, default to the one saved for this room - // via update_scroll_state. Also assume event_offset should be set. - if (!payload.event_id) { - const roomScrollState = this._state.scrollStateMap[payload.room_id]; - if (roomScrollState) { - payload.event_id = roomScrollState.focussedEvent; - payload.event_offset = roomScrollState.pixelOffset; - } - } - - this._setState({ + const newState = { roomId: payload.room_id, initialEventId: payload.event_id, initialEventPixelOffset: payload.event_offset, isInitialEventHighlighted: payload.highlighted, roomLoading: false, roomLoadError: null, - }); + }; + + // If an event ID wasn't specified, default to the one saved for this room + // via update_scroll_state. Assume initialEventPixelOffset should be set. + if (!newState.initialEventId) { + const roomScrollState = this._state.scrollStateMap[payload.room_id]; + if (roomScrollState) { + newState.initialEventId = roomScrollState.focussedEvent; + newState.initialEventPixelOffset = roomScrollState.pixelOffset; + } + } + + this._setState(newState); } else if (payload.room_alias) { // Resolve the alias and then do a second dispatch with the room ID acquired this._setState({ From 1ff2be189605c5827dbeedc462446b29b388361b Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 16:00:12 +0100 Subject: [PATCH 053/103] Update docs for RVS --- src/stores/RoomViewStore.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index a0c9ccc33f..e2a3f574ed 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -23,9 +23,9 @@ import { _t } from '../languageHandler'; const INITIAL_STATE = { // Whether we're joining the currently viewed room joining: false, - // Any error occurred during joining + // Any error that has occurred during joining joinError: null, - // The room ID of the room + // The room ID of the room currently being viewed roomId: null, // The event to scroll to initially @@ -229,38 +229,47 @@ class RoomViewStore extends Store { this._state = Object.assign({}, INITIAL_STATE); } + // The room ID of the room currently being viewed getRoomId() { return this._state.roomId; } + // The event to scroll to initially getInitialEventId() { return this._state.initialEventId; } + // The offset to display the initial event at (see scrollStateMap) getInitialEventPixelOffset() { return this._state.initialEventPixelOffset; } + // Whether to highlight the initial event isInitialEventHighlighted() { return this._state.isInitialEventHighlighted; } + // The room alias of the room (or null if not originally specified in view_room) getRoomAlias() { return this._state.roomAlias; } + // Whether the current room is loading (true whilst resolving an alias) isRoomLoading() { return this._state.roomLoading; } + // Any error that has occurred during loading getRoomLoadError() { return this._state.roomLoadError; } + // Whether we're joining the currently viewed room isJoining() { return this._state.joining; } + // Any error that has occurred during joining getJoinError() { return this._state.joinError; } From 8dc20606c8be5ae78859178b91f2760ea37d0827 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 16:07:29 +0100 Subject: [PATCH 054/103] Use comma for list of three things --- src/components/structures/login/Login.js | 2 +- src/i18n/strings/en_EN.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index 7d283e0e36..6d0e929c93 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -247,7 +247,7 @@ module.exports = React.createClass({ ; } else { errorText = - { _tJsx("Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.", + { _tJsx("Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.", /(.*?)<\/a>/, (sub) => { return { sub }; } )} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 6984d46ed4..c6086faf0a 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -180,7 +180,7 @@ "Bug Report": "Bug Report", "Bulk Options": "Bulk Options", "Call Timeout": "Call Timeout", - "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity and ensure your homeserver's SSL certificate is trusted and that a browser extension is not blocking requests.", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.", "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", From 9def0bb5c2947ecfc53ce1abbe8e959cc2ab23d8 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 16:08:19 +0100 Subject: [PATCH 055/103] Oops, fix email check --- src/components/structures/login/Login.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index 6d0e929c93..bbfff3712e 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -90,7 +90,7 @@ module.exports = React.createClass({ let errorText; // Some error strings only apply for logging in - const usingEmail = username.indexOf("@"); + const usingEmail = username.indexOf("@") > 0; if (error.httpStatus == 400 && usingEmail) { errorText = _t('This Home Server does not support login using email address.'); } else if (error.httpStatus == 401 || error.httpStatus === 403) { From 5e55b6a6435f8d342ab84281d31407f14792b54c Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 8 Jun 2017 16:23:43 +0100 Subject: [PATCH 056/103] PR feedback --- src/components/structures/login/Login.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/structures/login/Login.js b/src/components/structures/login/Login.js index bbfff3712e..27c0c200be 100644 --- a/src/components/structures/login/Login.js +++ b/src/components/structures/login/Login.js @@ -93,7 +93,7 @@ module.exports = React.createClass({ const usingEmail = username.indexOf("@") > 0; if (error.httpStatus == 400 && usingEmail) { errorText = _t('This Home Server does not support login using email address.'); - } else if (error.httpStatus == 401 || error.httpStatus === 403) { + } else if (error.httpStatus === 401 || error.httpStatus === 403) { errorText = _t('Incorrect username and/or password.'); } else { // other errors, not specific to doing a password login @@ -102,8 +102,11 @@ module.exports = React.createClass({ this.setState({ errorText: errorText, - // https://matrix.org/jira/browse/SYN-744 - loginIncorrect: error.httpStatus == 401 || error.httpStatus == 403 + // 401 would be the sensible status code for 'incorrect password' + // but the login API gives a 403 https://matrix.org/jira/browse/SYN-744 + // mentions this (although the bug is for UI auth which is not this) + // We treat both as an incorrect password + loginIncorrect: error.httpStatus === 401 || error.httpStatus == 403, }); }).finally(() => { this.setState({ From c02dbd1cdcde8b82db68e1ef9e2ff6d285ad3789 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:26:08 +0100 Subject: [PATCH 057/103] Rename initial state variables --- src/components/structures/RoomView.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index 942e3c8e07..79420e776a 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -95,11 +95,11 @@ module.exports = React.createClass({ peekLoading: false, // The event to be scrolled to initially - eventId: null, + initialEventId: null, // The offset in pixels from the event with which to scroll vertically - eventPixelOffset: null, + initialEventPixelOffset: null, // Whether to highlight the event scrolled to - isEventHighlighted: null, + isInitialEventHighlighted: null, forwardingEvent: null, editingRoomSettings: false, From df625b0d318661ba64d2b1155651204f3219f7bf Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 8 Jun 2017 17:26:40 +0100 Subject: [PATCH 058/103] hit MemberInfo with Gemini to fix vector-im/riot-web#4223 --- src/components/views/rooms/MemberInfo.js | 48 +++++++++++++----------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/components/views/rooms/MemberInfo.js b/src/components/views/rooms/MemberInfo.js index ff684aeae4..6dc86f9a97 100644 --- a/src/components/views/rooms/MemberInfo.js +++ b/src/components/views/rooms/MemberInfo.js @@ -38,6 +38,8 @@ import Unread from '../../../Unread'; import { findReadReceiptFromUserId } from '../../../utils/Receipt'; import WithMatrixClient from '../../../wrappers/WithMatrixClient'; import AccessibleButton from '../elements/AccessibleButton'; +import GeminiScrollbar from 'react-gemini-scrollbar'; + module.exports = WithMatrixClient(React.createClass({ displayName: 'MemberInfo', @@ -727,34 +729,36 @@ module.exports = WithMatrixClient(React.createClass({ const EmojiText = sdk.getComponent('elements.EmojiText'); return (
- -
- -
- - {memberName} - -
-
- { this.props.member.userId } + + +
+
-
- { _t("Level:") } + + {memberName} + +
+
+ { this.props.member.userId } +
+
+ { _t("Level:") } +
+
+ +
-
- -
-
- { adminTools } + { adminTools } - { startChat } + { startChat } - { this._renderDevices() } + { this._renderDevices() } - { spinner } + { spinner } +
); } From 8cfdb4ce091dc947ffe3f9b4a8a98c04b236f208 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:27:04 +0100 Subject: [PATCH 059/103] Clarify initial event --- src/stores/RoomViewStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index e2a3f574ed..ec1a86b0e4 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -28,7 +28,7 @@ const INITIAL_STATE = { // The room ID of the room currently being viewed roomId: null, - // The event to scroll to initially + // The event to scroll to when the room is first viewed initialEventId: null, // The offset to display the initial event at (see scrollStateMap) initialEventPixelOffset: null, From cd8093d953abf69784aca82bbb1b076773a6cd28 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:28:21 +0100 Subject: [PATCH 060/103] Explicit undefined initialEventPixelOffset --- src/stores/RoomViewStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index ec1a86b0e4..ec545dcfd5 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -124,7 +124,7 @@ class RoomViewStore extends Store { const newState = { roomId: payload.room_id, initialEventId: payload.event_id, - initialEventPixelOffset: payload.event_offset, + initialEventPixelOffset: undefined, isInitialEventHighlighted: payload.highlighted, roomLoading: false, roomLoadError: null, From c72edab7267dc408fbd2d4900f9deb7fefeb16d4 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:28:56 +0100 Subject: [PATCH 061/103] Update doc for getInitialEventId --- src/stores/RoomViewStore.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index ec545dcfd5..15a46894a1 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -234,7 +234,7 @@ class RoomViewStore extends Store { return this._state.roomId; } - // The event to scroll to initially + // The event to scroll to when the room is first viewed getInitialEventId() { return this._state.initialEventId; } From cd6786114b6b1d49d747be3750d7df763a101e04 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:40:53 +0100 Subject: [PATCH 062/103] When joining, use a roomAlias if we have it And default to the current roomId otherwise --- src/stores/RoomViewStore.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js index cc8959af7a..2c5dd9e534 100644 --- a/src/stores/RoomViewStore.js +++ b/src/stores/RoomViewStore.js @@ -137,7 +137,9 @@ class RoomViewStore extends Store { this._setState({ joining: true, }); - MatrixClientPeg.get().joinRoom(this._state.roomId, payload.opts).done(() => { + MatrixClientPeg.get().joinRoom( + this._state.roomAlias || this._state.roomId, payload.opts, + ).done(() => { dis.dispatch({ action: 'joined_room', }); From 3218cae6e3bdce6265826df4d02f6f008240e328 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:47:48 +0100 Subject: [PATCH 063/103] Expect to join by alias if given to RVS --- test/stores/RoomViewStore-test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/stores/RoomViewStore-test.js b/test/stores/RoomViewStore-test.js index 2f545ffd74..adcae90e9b 100644 --- a/test/stores/RoomViewStore-test.js +++ b/test/stores/RoomViewStore-test.js @@ -28,8 +28,8 @@ describe('RoomViewStore', function() { }); it('can be used to view a room by ID and join', function(done) { - peg.get().joinRoom = (roomId) => { - expect(roomId).toBe("!randomcharacters:aser.ver"); + peg.get().joinRoom = (roomAddress) => { + expect(roomAddress).toBe("!randomcharacters:aser.ver"); done(); }; @@ -40,8 +40,8 @@ describe('RoomViewStore', function() { it('can be used to view a room by alias and join', function(done) { peg.get().getRoomIdForAlias.returns(q({room_id: "!randomcharacters:aser.ver"})); - peg.get().joinRoom = (roomId) => { - expect(roomId).toBe("!randomcharacters:aser.ver"); + peg.get().joinRoom = (roomAddress) => { + expect(roomAddress).toBe("#somealias2:aser.ver"); done(); }; From 9892566007f2790e2e8295b7e7093977f61672d5 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:54:41 +0100 Subject: [PATCH 064/103] Highlighted means highlighted --- src/components/structures/MatrixChat.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index 5f13f53d0b..b803b676f7 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -608,6 +608,7 @@ module.exports = React.createClass({ // @param {string=} roomInfo.event_id ID of the event in this room to show: this will cause a switch to the // context of that particular event. // @param {boolean=} roomInfo.highlighted If true, add event_id to the hash of the URL + // and alter the EventTile to appear highlighted. // @param {Object=} roomInfo.third_party_invite Object containing data about the third party // we received to join the room, if any. // @param {string=} roomInfo.third_party_invite.inviteSignUrl 3pid invite sign URL From 5588e115eb9be9a1cf10fe4c7e33b9a3e44cbc86 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 8 Jun 2017 17:57:37 +0100 Subject: [PATCH 065/103] Clarify doc for highlighted --- src/components/structures/MatrixChat.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index b803b676f7..b6e3552a95 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -1119,7 +1119,9 @@ module.exports = React.createClass({ const payload = { action: 'view_room', event_id: eventId, - // If an event ID is set (truthy), mark it as highlighted + // If an event ID is given in the URL hash, notify RoomViewStore to mark + // it as highlighted, which will propagate to RoomView and highlight the + // associated EventTile. highlighted: Boolean(eventId), third_party_invite: thirdPartyInvite, oob_data: oobData, From 7dbb1c3b85bee3aa9ade8956f489d8dcaddb3553 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 8 Jun 2017 16:04:10 +0000 Subject: [PATCH 066/103] Translated using Weblate (German) Currently translated at 100.0% (853 of 853 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 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4102d7be56..c5ee272b1f 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -885,31 +885,31 @@ "%(count)s new messages.one": "%(count)s neue Nachricht", "%(count)s new messages.other": "%(count)s neue Nachrichten", "Error: Problem communicating with the given homeserver.": "Fehler: Problem beim kommunizieren mit dem angegebenen Heimserver.", - "Failed to fetch avatar URL": "Fehler beim holen der Avatar-URL", - "The phone number entered looks invalid": "Die Telefonnummer, die eingegeben wurde, sieht ungültig aus", + "Failed to fetch avatar URL": "Abrufen der Avatar-URL fehlgeschlagen", + "The phone number entered looks invalid": "Die eingegebene Telefonnummer scheint ungültig zu sein", "This room is private or inaccessible to guests. You may be able to join if you register.": "Dieser Raum ist privat oder für Gäste nicht betretbar. Du kannst evtl. beitreten wenn du dich registrierst.", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber du hast keine Berechtigung diese Nachricht zu sehen.", - "Tried to load a specific point in this room's timeline, but was unable to find it.": "Es wurde versucht einen spezifischen Punkt in der Chat-Historie zu laden, aber er konnte nicht gefunden werden.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Es wurde versucht, einen bestimmten Punkt im Chatverlauf dieses Raumes zu laden. Dir fehlt jedoch die Berechtigung, die betreffende Nachricht zu sehen.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Es wurde versucht, einen bestimmten Punkt im Chatverlauf dieses Raumes zu laden, der Punkt konnte jedoch nicht gefunden werden.", "Uploading %(filename)s and %(count)s others.zero": "%(filename)s wird hochgeladen", "Uploading %(filename)s and %(count)s others.one": "%(filename)s und %(count)s weitere Dateien werden hochgeladen", "Uploading %(filename)s and %(count)s others.other": "%(filename)s und %(count)s weitere Dateien werden hochgeladen", - "You must register to use this functionality": "Du musst dich registrieren um diese Funktionalität zu nutzen", - "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Sende erneut oder breche alles ab. Du kannst auch auch individuelle Nachrichten erneut senden or abbrechen.", + "You must register to use this functionality": "Du musst dich registrieren, um diese Funktionalität nutzen zu können", + "Resend all or cancel all now. You can also select individual messages to resend or cancel.": "Alle erneut senden oder alle verwerfen. Du kannst auch einzelne Nachrichten erneut senden oder verwerfen.", "Create new room": "Neuen Raum erstellen", "Welcome page": "Willkommensseite", "Room directory": "Raum-Verzeichnis", - "Start chat": "Starte Chat", + "Start chat": "Chat starten", "New Password": "Neues Passwort", "Start chatting": "Starte plaudern", "Start Chatting": "Starte Gespräche", - "Click on the button below to start chatting!": "Klicke den Button unten um das Plaudern zu beginnen!", - "Create a new chat or reuse an existing one": "Erstelle einen neuen Chat oder nutze einen existierenden", + "Click on the button below to start chatting!": "Unten auf den Button klicken, um einen Chat zu beginnen!", + "Create a new chat or reuse an existing one": "Neuen Chat erstellen oder einen vorhandenen Chat fortsetzen", "You already have existing direct chats with this user:": "Du hast bereits direkte Chats mit diesem Nutzer:", "Username available": "Nutzername verfügbar", "Username not available": "Nutzername nicht verfügbar", "Something went wrong!": "Etwas ging schief!", - "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein Konto-Name auf dem Heimserver, oder du kannst einen anderen Server auswählen.", + "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein zukünftiger Benutzername auf dem Heimserver. Alternativ kannst du auch einen anderen Server auswählen.", "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", "Home": "Start", - "Username invalid: %(errMessage)s": "Nutzername falsch: %(errMessage)s" + "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s" } From 80dba43b41b783c8b2809c7747d19925a5f69c43 Mon Sep 17 00:00:00 2001 From: dtygel Date: Thu, 8 Jun 2017 13:47:18 +0000 Subject: [PATCH 067/103] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (853 of 853 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/pt_BR/ --- 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 231c6a464d..61cc45c94f 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -81,7 +81,7 @@ "Error": "Erro", "Event information": "Informação do evento", "Export E2E room keys": "Exportar chaves ponta-a-ponta da sala", - "Failed to change password. Is your password correct?": "Não foi possível modificar a senha. A senha informada está correta?", + "Failed to change password. Is your password correct?": "Não foi possível mudar a senha. A sua senha está correta?", "Failed to forget room": "Não foi possível esquecer a sala", "Failed to leave room": "Falha ao tentar deixar a sala", "Failed to reject invitation": "Falha ao tentar rejeitar convite", From 0f062a7fe9fb1031bf14d92732c470aba694d9c2 Mon Sep 17 00:00:00 2001 From: Stanislav N Date: Thu, 8 Jun 2017 13:54:08 +0000 Subject: [PATCH 068/103] Translated using Weblate (Russian) Currently translated at 100.0% (853 of 853 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 4f1939ffcc..275d27b442 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -854,10 +854,10 @@ "Drop file here to upload": "Перетащите файл сюда для загрузки", " (unsupported)": " (не поддерживается)", "Ongoing conference call%(supportedText)s. %(joinText)s": "Идет конференц-звонок%(supportedText)s. %(joinText)s", - "for %(amount)ss": "для %(amount)s", - "for %(amount)sm": "для %(amount)s", - "for %(amount)sh": "для %(amount)s", - "for %(amount)sd": "для %(amount)s", + "for %(amount)ss": "уже %(amount)sс", + "for %(amount)sm": "уже %(amount)sм", + "for %(amount)sh": "уже %(amount)sч", + "for %(amount)sd": "уже %(amount)sд", "Online": "В сети", "Idle": "Отошел", "Offline": "Не в сети", From 449b4e87d4fd746bb110a2a82b31550de2a2459b Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Thu, 8 Jun 2017 13:54:32 +0000 Subject: [PATCH 069/103] Translated using Weblate (Thai) Currently translated at 56.1% (479 of 853 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index f97b6b8d50..635dbb256c 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -78,7 +78,7 @@ "Remove": "ลบ", "Custom Server Options": "กำหนดเซิร์ฟเวอร์เอง", "Failed to join the room": "การเข้าร่วมห้องล้มเหลว", - "Drop here %(toAction)s": "ปล่อยที่นี่ %(toAction)s", + "Drop here %(toAction)s": "ปล่อยที่นี่%(toAction)s", "Favourite": "รายการโปรด", "Failed to forget room %(errCode)s": "การลืมห้องล้มเหลว %(errCode)s", "%(targetName)s accepted an invitation.": "%(targetName)s ตอบรับคำเชิญแล้ว", @@ -120,7 +120,7 @@ "Bans user with given id": "ผู้ใช้และ id ที่ถูกแบน", "Blacklisted": "ขึ้นบัญชีดำ", "Can't load user settings": "ไม่สามารถโหลดการตั้งค่าผู้ใช้ได้", - "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s ได้เปลี่ยนชื่อที่แสดงจาก %(oldDisplayName)s ไปเป็น %(displayName)s", + "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s เปลี่ยนชื่อที่แสดงของเขาจาก %(oldDisplayName)s ไปเป็น %(displayName)s", "%(senderName)s changed their profile picture.": "%(senderName)s เปลี่ยนรูปโปรไฟล์ของเขา", "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s เปลี่ยนชื่อห้องไปเป็น %(roomName)s", "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s ลบชื่อห้อง", @@ -244,7 +244,7 @@ "New passwords don't match": "รหัสผ่านใหม่ไม่ตรงกัน", "New passwords must match each other.": "รหัสผ่านใหม่ทั้งสองช่องต้องตรงกัน", "none": "ไม่มี", - "not set": "ไม่ได้ตั้ง", + "not set": "ยังไม่ได้ตั้ง", "not specified": "ไม่ได้ระบุ", "(not supported by this browser)": "(เบราว์เซอร์นี้ไม่รองรับ)", "": "<ไม่รองรับ>", From 1d02cde5021fe8e91a3e0329dbdd547849eebe8e Mon Sep 17 00:00:00 2001 From: Dor Ben Dov Date: Thu, 8 Jun 2017 20:03:33 +0000 Subject: [PATCH 070/103] Added translation using Weblate (Hebrew) --- src/i18n/strings/he.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/he.json diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/i18n/strings/he.json @@ -0,0 +1 @@ +{} \ No newline at end of file From f680bb5d3c29331140313c60eb2441e799c04972 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 8 Jun 2017 23:00:55 +0100 Subject: [PATCH 071/103] broken vars --- src/i18n/strings/el.json | 2 +- src/i18n/strings/th.json | 2 +- src/i18n/strings/zh_Hant.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index d8729202d5..725b5497a5 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -1,7 +1,7 @@ { "af": "Αφρικάνικα", "Error": "Σφάλμα", - "Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου", + "Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου %(errCode)s", "Failed to join the room": "Δεν ήταν δυνατή η σύνδεση στο δωμάτιο", "Mute": "Σίγαση", "Notifications": "Ειδοποιήσεις", diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 635dbb256c..fbc62fdb47 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -475,7 +475,7 @@ "Custom server": "เซิร์ฟเวอร์ที่กำหนดเอง", "Home server URL": "URL เซิร์ฟเวอร์บ้าน", "Identity server URL": "URL เซิร์ฟเวอร์ระบุตัวตน", - "%(severalUsers)sleft %(repeats)s times": "%(targetName)sออกจากห้อง %(repeats)s ครั้ง", + "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)sออกจากห้อง %(repeats)s ครั้ง", "%(oneUser)sleft %(repeats)s times": "%(oneUser)sออกจากห้อง %(repeats)s ครั้ง", "%(severalUsers)sleft": "%(severalUsers)sออกจากห้องแล้ว", "%(oneUser)sleft": "%(oneUser)sออกจากห้องแล้ว" diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 56cc8f6add..b2e1939565 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -359,7 +359,7 @@ "Enable URL previews for this room (affects only you)": "啟用此房間的網址預覽(僅影響您)", "Drop file here to upload": "把文件放在這裡上傳", "Disable URL previews by default for participants in this room": "默認情況下,此房間的參與者禁用網址預覽", - "URL previews are %(globalDisableUrlPreview)s by default for participants in this room.": "默認情況下,這個房間的參與者的網址預覽是%(globalDisableUrlPreview)。", + "URL previews are %(globalDisableUrlPreview)s by default for participants in this room.": "默認情況下,這個房間的參與者的網址預覽是%(globalDisableUrlPreview)s。", "Removed or unknown message type": "已刪除或未知的信息類型", - "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?": "您即將被帶到第三方網站,以便您可以驗證您的帳戶以使用%(integrationsUrl)。你想繼續嗎?" + "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?": "您即將被帶到第三方網站,以便您可以驗證您的帳戶以使用%(integrationsUrl)s。你想繼續嗎?" } From 3b0906fc85ef5d6156fffb17d41174e0bb6c5701 Mon Sep 17 00:00:00 2001 From: Dor Ben Dov Date: Thu, 8 Jun 2017 20:10:15 +0000 Subject: [PATCH 072/103] Translated using Weblate (Hebrew) Currently translated at 2.1% (19 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/he/ --- src/i18n/strings/he.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json index 9e26dfeeb6..2d9daecc49 100644 --- a/src/i18n/strings/he.json +++ b/src/i18n/strings/he.json @@ -1 +1,21 @@ -{} \ No newline at end of file +{ + "ar-ae": "ערבית (U.A.E)", + "ar-bh": "ערבית (בחריין)", + "ar-dz": "ערבית (אלג'יריה)", + "ar-eg": "ערבית (מצריים)", + "ar-iq": "ערבית (עיראק)", + "ar-jo": "ערבית (ירדן)", + "af": "אפריקאית", + "ar-kw": "ערבית (כווית)", + "ar-lb": "ערבית (לבנון)", + "ar-ly": "ערבית (לוב)", + "ar-ma": "ערבית (מרוקו)", + "ar-om": "ערבית (אומן)", + "ar-qa": "ערבית (קטאר)", + "ar-sa": "ערבית (ערב הסעודית)", + "ar-sy": "ערבית (סוריה)", + "ar-tn": "ערבית (תוניסיה)", + "ar-ye": "ערבית (תימן)", + "be": "בלארוסית", + "bg": "בולגרית" +} From c478631db4376a945f122bcdb313d28d101c779e Mon Sep 17 00:00:00 2001 From: Vladi Date: Thu, 8 Jun 2017 20:59:35 +0000 Subject: [PATCH 073/103] Translated using Weblate (Russian) Currently translated at 97.0% (874 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 121 ++++++++++++++++++++++++--------------- 1 file changed, 76 insertions(+), 45 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 08ed27d465..52e69c9388 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -5,7 +5,7 @@ "Account": "Аккаунт", "Add email address": "Добавить email адрес", "Add phone number": "Добавить телефонный номер", - "Admin": "Admin", + "Admin": "Админ", "Advanced": "Дополнительно", "Algorithm": "Алгоритм", "all room members": "все участники комнаты", @@ -54,7 +54,7 @@ "Deactivate my account": "Деактивировать мою учётную запись", "decline": "отказаться", "Decryption error": "Ошибка дешифрования", - "Default": "Default", + "Default": "Стандарт", "demote": "понижать", "Deops user with given id": "Deops пользователь с данным id", "Device ID": "Устройство ID", @@ -83,7 +83,7 @@ "Failed to unban": "Не удалось отменить запрет", "Failed to upload file": "Не удалось закачать файл", "Favourite": "Избранное", - "favourite": "фаворит", + "favourite": "Избранное", "Favourites": "Избранное", "Filter room members": "Фильтр участников комнаты", "Forget room": "Забыть комнату", @@ -99,7 +99,7 @@ "Import E2E room keys": "Импортировать E2E ключ комнаты", "Invalid Email Address": "Недействительный адрес электронной почты", "invited": "invited", - "Invite new room members": "Пригласить новых учасников в комнату", + "Invite new room members": "Пригласить новых участников в комнату", "Invites": "Приглашать", "Invites user with given id to current room": "Пригласить пользователя с данным id в текущую комнату", "is a": "является", @@ -108,10 +108,10 @@ "joined": "присоединенный", "joined the room": "joined the room", "Joins room with given alias": "Присоединяется к комнате с данным псевдонимом", - "Kicks user with given id": "Кик пользователя с заданным id", + "Kicks user with given id": "Выгнать пользователя с заданным id", "Labs": "Лаборатория", "Leave room": "Уйти из комнаты", - "left and rejoined": "Покинуть и переподключится", + "left and rejoined": "Покинуть и пере подключится", "left": "покинуть", "left the room": "left the room", "Logged in as": "Зарегистрированный как", @@ -119,13 +119,13 @@ "Logout": "Выход из системы", "Low priority": "Низкий приоритет", "made future room history visible to": "made future room history visible to", - "Manage Integrations": "Управление интеграциями", + "Manage Integrations": "Управление Интеграциями", "Members only": "Только участники", "Mobile phone number": "Номер мобильного телефона", "Moderator": "Ведущий", "my Matrix ID": "мой Matrix ID", "Name": "Имя", - "Never send encrypted messages to unverified devices from this device": "Никогда не отправлять зашифрованные сообщения на неверифицированные устроства с этого устройства", + "Never send encrypted messages to unverified devices from this device": "Никогда не отправлять зашифрованные сообщения на не верифицированные устройства с этого устройства", "Never send encrypted messages to unverified devices in this room from this device": "Никогда не отправляйте зашифрованные сообщения в непроверенные устройства в этой комнате из этого устройства", "New password": "Новый пароль", "New passwords must match each other.": "Новые пароли должны соответствовать друг другу.", @@ -158,8 +158,8 @@ "set a profile picture": "set a profile picture", "set their display name to": "set their display name to", "Settings": "Настройки", - "Start a chat": "Start a chat", - "Start Chat": "Start Chat", + "Start a chat": "Начать чат", + "Start Chat": "Начать чат", "tag as": "tag as", "These are experimental features that may break in unexpected ways. Use with caution": "These are experimental features that may break in unexpected ways. Use with caution", "To send events of type": "Для отправки типа событий", @@ -169,9 +169,9 @@ "Unable to remove contact information": "Невозможно удалить контактную информацию", "Unable to verify email address.": "Невозможно проверить адрес электронной почты.", "Unban": "Отменить запрет", - "Unencrypted room": "Незашифрованная комната", - "unencrypted": "незашифрованно", - "unknown device": "неизвесное устройство", + "Unencrypted room": "Не зашифрованная комната", + "unencrypted": "не зашифровано", + "unknown device": "неизвестное устройство", "unknown error code": "неизвестная ошибка", "unknown": "неизвестно", "Upload avatar": "Загрузить аватар", @@ -189,7 +189,7 @@ "Video call": "Видио вызов", "Voice call": "Голосовой вызов", "VoIP conference finished.": "VoIP конференция закончилась.", - "VoIP conference started.": "VoIP Конференция стартовала.", + "VoIP conference started.": "VoIP Конференция началась.", "(warning: cannot be disabled again!)": "(предупреждение: не может быть отключено!)", "Warning!": "Предупреждение!", "was banned": "запрещен", @@ -230,7 +230,7 @@ "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s их имя измененное с %(oldDisplayName)s на %(displayName)s.", "%(senderName)s changed their profile picture.": "%(senderName)s изменил фото профиля.", "%(senderName)s changed the power level of %(powerLevelDiffText)s.": "%(senderName)s уровень мощности изменен на %(powerLevelDiffText)s.", - "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s имя комнаты измененно на %(roomName)s.", + "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s имя комнаты изменено на %(roomName)s.", "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s измененная тема на %(topic)s.", "Conference call failed.": "Конференц-вызов прервался.", "Conference calling is in development and may not be reliable.": "Конференц-вызов находится в процессе и может не быть надежным.", @@ -257,13 +257,13 @@ "%(senderName)s made future room history visible to": "%(senderName)s сделал видимой для всех будущую историю комнаты", "Missing room_id in request": "Отсутствует room_id в запросе", "Missing user_id in request": "Отсутствует user_id в запросе", - "Must be viewing a room": "Комната должна быть посищена", - "New Composer & Autocomplete": "Новый едитор & Автозаполнение", + "Must be viewing a room": "Посмотреть комнату", + "New Composer & Autocomplete": "Новый автор & Авто. заполнение", "(not supported by this browser)": "(не поддерживаемый этим браузером)", "af": "Африкаанс", "ar-ae": "Арабский (О.А.Е)", "ar-bh": "Арабский (Бахрейн)", - "ar-dz": "Арабский (Алжыр)", + "ar-dz": "Арабский (Алжир)", "ar-eg": "Арабский (Египет)", "ar-iq": "Арабский (Ирак)", "ar-jo": "Арабский (Иордания)", @@ -285,7 +285,7 @@ "de-ch": "Немецкий (Швейцария)", "de-li": "Немецкий (Лихтенштейн)", "de-lu": "Немецкий (Люксембург)", - "el": "Гречиский", + "el": "Греческий", "en-au": "Английский (Австралия)", "en-bz": "Английский (Белиз)", "en-ca": "Английский (Канада)", @@ -310,7 +310,7 @@ "es-pa": "Испанский (Панама)", "et": "Эстонский", "fi": "Финский", - "fr": "Французкий", + "fr": "Французский", "hr": "Хорватский", "it": "Итальянский", "ja": "Японский", @@ -320,7 +320,7 @@ "ro": "Румынский", "uk": "Украинский", "now. You can also select individual messages to resend or cancel.": "теперь. Вы можете также выбрать отдельные сообщения, чтобы снова послать или отменить.", - "Auto-complete": "Автозаполнение", + "Auto-complete": "Авто-заполнение", "Error changing language": "Ошибка изменения языка", "Riot was unable to find the correct Data for the selected Language.": "Riot был неспособен найти правельные данные для выбранного языка.", "Connectivity to the server has been lost.": "Связь с сервером была потеряна.", @@ -364,7 +364,7 @@ "You're not in any rooms yet! Press": "Вы еще не находитесь ни в каких комнатах! Нажать", "You are trying to access %(roomName)s.": "Вы пытаетесь получить доступ %(roomName)s.", "You cannot place a call with yourself.": "Вы не можете позвонить самим себе.", - "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s анулировал %(targetName)s's преглашение.", + "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s отменил %(targetName)s's приглашение.", "Sep": "Сен.", "Jan": "Янв.", "Feb": "Фев.", @@ -389,9 +389,9 @@ "Your email address does not appear to be associated with a Matrix ID on this Homeserver.": "Ваш адрес электронной почты, кажется, не связан с Matrix ID на этом Homeserver.", "to start a chat with someone": "Начать чат с кем-то", "to tag direct chat": "отметить прямой чат", - "To use it, just wait for autocomplete results to load and tab through them.": "Для его использования просто подождите загрузки результатов автозаполнения и нажимайте Tab для навигации.", + "To use it, just wait for autocomplete results to load and tab through them.": "Для его использования просто подождите загрузки результатов авто-заполнения и нажимайте Tab для навигации.", "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s включил сквозное шифрование (algorithm %(algorithm)s).", - "Unable to restore previous session": "Невозможно востановить предыдущий сеанс", + "Unable to restore previous session": "Невозможно восстановить предыдущий сеанс", "%(senderName)s unbanned %(targetName)s.": "%(senderName)s запрет отменен %(targetName)s.", "Unable to capture screen": "Невозможно записать снимок экрана", "Unable to enable Notifications": "Невозможно включить уведомления", @@ -477,7 +477,7 @@ "Access Token:": "Токен:", "Always show message timestamps": "Всегда показывать время сообщения", "Authentication": "Авторизация", - "olm version:": "версия olm:", + "olm version:": "Версия olm:", "%(items)s and %(remaining)s others": "%(items)s и другие %(remaining)s", "%(items)s and one other": "%(items)s и ещё один", "%(items)s and %(lastItem)s": "%(items)s и %(lastItem)s", @@ -491,7 +491,7 @@ "Current password": "Текущий пароль", "Email": "Электронная почта", "Failed to kick": "Не удалось выгнать", - "Failed to load timeline position": "Не удалось загрузить позицию таймлайна", + "Failed to load timeline position": "Не удалось загрузить позицию графика", "Failed to mute user": "Не удалось заглушить", "Failed to reject invite": "Не удалось отклонить приглашение", "Failed to save settings": "Не удалось сохранить настройки", @@ -540,7 +540,7 @@ "%(senderName)s removed their profile picture.": "%(senderName)s убрал своё изображение.", "%(senderName)s requested a VoIP conference.": "%(senderName)s запросил голосовую конференц-связь.", "Report it": "Сообщить об этом", - "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.": "На данный момент сброс пароля сбросит все ключи шифрования на всех устройствах, зашифрованная история общения будет нечитаема, если вы сперва не скачаете ваши ключи от комнаты и не загрузите их после. В будущем это будет улучшено.", + "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.": "На данный момент сброс пароля сбросит все ключи шифрования на всех устройствах, зашифрованная история общения будет не читаема, если вы сперва не скачаете ваши ключи от комнаты и не загрузите их после. В будущем это будет улучшено.", "restore": "восстановить", "Return to app": "Вернуться в приложение", "Riot does not have permission to send you notifications - please check your browser settings": "Riot не имеет права для отправки вам уведомлений, пожалуйста, проверьте настройки вашего браузера", @@ -657,7 +657,7 @@ "Operation failed": "Действие не удалось", "powered by Matrix": "управляемый с Matrix", "Add a topic": "Добавить тему", - "Show timestamps in 12 hour format (e.g. 2:30pm)": "Времея отображать в 12 часовом формате (напр. 2:30pm)", + "Show timestamps in 12 hour format (e.g. 2:30pm)": "Время отображать в 12 часовом формате (напр. 2:30pm)", "Use compact timeline layout": "Компактное отображение", "Hide removed messages": "Скрыть удаленное сообщение", "No Microphones detected": "Микрофоны не обнаружены", @@ -669,17 +669,17 @@ "Analytics": "Аналитика", "Riot collects anonymous analytics to allow us to improve the application.": "Riot собирает анонимные данные, чтобы улучшить эту программу.", "Opt out of analytics": "Подтвердить отказ передачи аналитических данных", - "Logged in as:": "Зарегестрирован как:", + "Logged in as:": "Зарегистрирован как:", "Default Device": "Стандартное устройство", "No Webcams detected": "Веб-камера не обнаружена", "VoIP": "VoIP", - "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Для обеспечения безопасности выход из системы удалит все ключи шифроования из этого браузера. Если вы хотите иметь возможность расшифровать переписку в будущем - вы должны экспортирвать ключи вручную.", + "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Для обеспечения безопасности выход из системы удалит все ключи шифрования из этого браузера. Если вы хотите иметь возможность расшифровать переписку в будущем - вы должны экспортировать ключи вручную.", "Guest access is disabled on this Home Server.": "Гостевой доступ отключен на этом сервере.", "Guests can't set avatars. Please register.": "Гости не могут устанавливать аватар. Пожалуйста, зарегистрируйтесь.", "Guests can't use labs features. Please register.": "Гости не могут использовать экспериментальные возможности. Пожалуйста, зарегистрируйтесь.", "Guests cannot join this room even if explicitly invited.": "Гости не могут заходить в эту комнату если не были приглашены.", "Missing Media Permissions, click here to request.": "Отсутствуют разрешения, нажмите для запроса.", - "No media permissions": "Нет медиа разрешений", + "No media permissions": "Нет разрешённых носителей", "You may need to manually permit Riot to access your microphone/webcam": "Вам необходимо предоставить Riot доступ к микрофону или веб-камере вручную", "Anyone": "Все", "Are you sure you want to leave the room '%(roomName)s'?": "Вы уверены, что хотите покинуть '%(roomName)s'?", @@ -694,7 +694,7 @@ "disabled": "отключено", "Disable markdown formatting": "Отключить форматирование Markdown", "Email address": "Адрес email", - "Email address (optional)": "Адрем email (не обязательно)", + "Email address (optional)": "Адрес email (не обязательно)", "enabled": "включено", "Error decrypting attachment": "Ошибка расшифровки файла", "Export": "Экспорт", @@ -712,7 +712,7 @@ "Password:": "Пароль:", "Privacy warning": "Предупреждение приватности", "Privileged Users": "Привилегированные пользователи", - "Revoke Moderator": "Снять модераторские права", + "Revoke Moderator": "Снять права Модератора", "Refer a friend to Riot:": "Расскажите другу о Riot:", "Register": "Регистрация", "Remote addresses for this room:": "Удаленные адреса для этой комнаты:", @@ -724,7 +724,7 @@ "Server may be unavailable or overloaded": "Сервер может быть недоступен или перегружен", "Server may be unavailable, overloaded, or search timed out :(": "Сервер может быть недоступен, перегружен или поиск прекращен по тайм-ауту :(", "Server may be unavailable, overloaded, or the file too big": "Сервер может быть недоступен, перегружен или размер файла слишком большой", - "Server may be unavailable, overloaded, or you hit a bug.": "Сервер может быть недоступен, перегружен или вы нашли баг.", + "Server may be unavailable, overloaded, or you hit a bug.": "Сервер может быть недоступен, перегружен или вы нашли ошибку.", "Server unavailable, overloaded, or something else went wrong.": "Сервер может быть недоступен, перегружен или произошло что-то страшное.", "Session ID": "ID сессии", "%(senderName)s set a profile picture.": "%(senderName)s установил картинку профиля.", @@ -743,7 +743,7 @@ "This room is not accessible by remote Matrix servers": "Это комната закрыта для других серверов Matrix", "To ban users": "Забанить пользователей", "to browse the directory": "просматривать директорию", - "To configure the room": "Конфигурировать комнату", + "To configure the room": "Настроить комнату", "To invite users into the room": "Приглашать пользователей в комнату", "to join the discussion": "присоединиться к дискуссии", "To kick users": "Выгонять пользователей", @@ -752,21 +752,21 @@ "To remove other users' messages": "Удалять сообщения других пользователей", "To reset your password, enter the email address linked to your account": "Чтобы сбросить ваш пароль введите адрес email, который используется аккаунтом", "to tag as %(tagName)s": "отметить как %(tagName)s", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Вы попытались загрузить указанное сообщение в комнате, однако у вас нету разрешений для его просмотра.", - "Tried to load a specific point in this room's timeline, but was unable to find it.": "Вы попытались загрузить указанное сообщение в комнате, однако сервер не смог его найти.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Ошибка загрузки истории комнаты: недостаточно прав.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Ошибка загрузки истории комнаты: запрошенный элемент не найден.", "Unable to load device list": "Невозможно загрузить список устройств", "Unknown (user, device) pair:": "Неизвестная пара пользователь-устройство:", - "Unmute": "Разглушить", + "Unmute": "Вкл. звук", "Unrecognised command:": "Неизвестная команда:", "Unrecognised room alias:": "Неизвестный псевдоним комнаты:", "Verified key": "Верифицированный ключ", "WARNING: Device already verified, but keys do NOT MATCH!": "ВНИМАНИЕ: устройство уже было верифицировано, однако ключи НЕ СОВПАДАЮТ!", "WARNING: KEY VERIFICATION FAILED! The signing key for %(userId)s and device %(deviceId)s is \"%(fprint)s\" which does not match the provided key \"%(fingerprint)s\". This could mean your communications are being intercepted!": "ВНИМАНИЕ: ОШИБКА ВЕРИФИКАЦИИ КЛЮЧЕЙ! Ключ для подписки устройства %(deviceId)s пользователя %(userId)s: \"%(fprint)s\", однако он не совпадает с предоставленным ключем \"%(fingerprint)s\". Это может означать перехват вашего канала коммуникации!", - "You have disabled URL previews by default.": "Предпросмотр ссылок отключен по-умолчанию.", + "You have disabled URL previews by default.": "Пред. просмотр ссылок отключен по-умолчанию.", "You have enabled URL previews by default.": "Предпросмотр ссылок включен по-умолчанию.", "You have entered an invalid contact. Try using their Matrix ID or email address.": "Вы ввели неправильный адрес. Попробуйте использовать Matrix ID или адрес email.", "You need to enter a user name.": "Необходимо ввести имя пользователя.", - "You seem to be in a call, are you sure you want to quit?": "Вы учавствуете в звонке, вы уверены, что хотите выйти?", + "You seem to be in a call, are you sure you want to quit?": "Вы участвуете в звонке, вы уверены, что хотите выйти?", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Вы не сможете отменить это действие так как даете пользователю такой же уровень доступа как и у вас.", "Set a Display Name": "Установить отображаемое имя", "(~%(searchCount)s results)": "(~%(searchCount)s результатов)", @@ -784,7 +784,7 @@ "Import room keys": "Импортировать ключи", "File to import": "Файл для импорта", "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.": "Этот процесс позволяет вам экспортировать ключи для сообщений, которые вы получили в комнатах с шифрованием, в локальный файл. Вы сможете импортировать эти ключи в другой клиент Matrix чтобы расшифровать эти сообщения.", - "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.": "Этот процесс позволяем вам импортировать ключи шифрования, которые вы экспортировали ранее из клиента Matrix. После импорта вы сможете читать зашифрованную переписку и отправлять шифрованные сообщения.", "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": "Вы должны зайти в комнату для просмотра файлов", @@ -865,7 +865,7 @@ "$senderDisplayName changed the room avatar to ": "$senderDisplayName сменил аватар комнаты на ", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s удалил аватар комнаты.", "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s сменил аватар для %(roomName)s", - "Create new room": "Создать комнату", + "Create new room": "Создать новую комнату", "Room directory": "Каталог комнат", "Start chat": "Начать чат", "Welcome page": "Домашняя страница", @@ -875,8 +875,6 @@ "Error: Problem communicating with the given homeserver.": "Ошибка: проблема коммуникаций с указанным Home Server'ом.", "Failed to fetch avatar URL": "Ошибка получения аватара", "The phone number entered looks invalid": "Введенный номер телефона выглядит неправильным", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Ошибка загрузки истории комнаты: недостаточно прав.", - "Tried to load a specific point in this room's timeline, but was unable to find it.": "Ошибка загрузки истории комнаты: запрошенный элемент не найден.", "Uploading %(filename)s and %(count)s others.zero": "Загрузка %(filename)s", "Uploading %(filename)s and %(count)s others.one": "Загрузка %(filename)s и %(count)s другой файл", "Uploading %(filename)s and %(count)s others.other": "Загрузка %(filename)s и %(count)s других файлов", @@ -895,5 +893,38 @@ "Something went wrong!": "Что-то пошло не так!", "This will be your account name on the homeserver, or you can pick a different server.": "Это будет ваше имя пользователя на , или вы можете выбрать другой сервер.", "If you already have a Matrix account you can log in instead.": "Если вы уже имеете учетную запись Matrix, то вы можете войти.", - "Home": "Старт" + "Home": "Старт", + "a room": "комната", + "Accept": "Принять", + "Active call (%(roomName)s)": "Активный вызов (%(roomName)s)", + "Admin tools": "Админ утилита", + "And %(count)s more...": "И %(count)s больше...", + "Alias (optional)": "Псевдоним (опционально)", + "Click here to join the discussion!": " Нажми здесь чтоб присоединиться к обсуждению!", + "Close": "Закрыть", + "Disable Notifications": "Отключить оповещение", + "Drop File Here": "Вставить сюда файл", + "Enable Notifications": "Включить оповещение", + "Encrypted by a verified device": "Шифрование с помощью проверенных устройств", + "Encrypted by an unverified device": "Шифрование с помощью не проверенных устройств", + "Encryption is enabled in this room": "Шифрование в этой комнате включено", + "Encryption is not enabled in this room": "Шифрование в этой комнате не включено", + "Failed to upload profile picture!": "Не удалось загрузить фото профиля!", + "Incoming call from %(name)s": "Входящий вызов от %(name)s", + "Incoming video call from %(name)s": "Входящий видио вызов от %(name)s", + "Incoming voice call from %(name)s": "Входящий голосовой вызов от %(name)s", + "Join as voice or video.": "Присоединен как голос или видио .", + "Last seen": "В последний раз видели", + "Level:": "Уровень:", + "No display name": "Нет отображаемое имя", + "Otherwise, click here to send a bug report.": "Иначе , нажать 2 чтоб отослать отчет о ошибке.", + "Private Chat": "Частный чат", + "Public Chat": "Общественный чат", + "Reason: %(reasonText)s": "Причина: %(reasonText)s", + "Rejoin": "Пере-соединиться", + "Set": "Вводить", + "Start authentication": "Начать идентификацию", + "This room": "Эта комната", + "(~%(count)s results).other": "(~%(count)s results)", + "Device Name": "Имя устройства" } From 5c21216e95cc99b5fb2e9b300371655a6a9166bf Mon Sep 17 00:00:00 2001 From: Pitchaya Boonsarngsuk Date: Fri, 9 Jun 2017 04:18:05 +0000 Subject: [PATCH 074/103] Translated using Weblate (Thai) Currently translated at 66.0% (595 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/th/ --- src/i18n/strings/th.json | 126 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 635dbb256c..e63d0de9a3 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -478,5 +478,129 @@ "%(severalUsers)sleft %(repeats)s times": "%(targetName)sออกจากห้อง %(repeats)s ครั้ง", "%(oneUser)sleft %(repeats)s times": "%(oneUser)sออกจากห้อง %(repeats)s ครั้ง", "%(severalUsers)sleft": "%(severalUsers)sออกจากห้องแล้ว", - "%(oneUser)sleft": "%(oneUser)sออกจากห้องแล้ว" + "%(oneUser)sleft": "%(oneUser)sออกจากห้องแล้ว", + "el": "กรีก", + "en-au": "อังกฤษ (ออสเตรเลีย)", + "en-bz": "อังกฤษ (เบลีซ)", + "en-gb": "อังกฤษ (สหราชอาณาจักร)", + "en-nz": "อังกฤษ (นิวซีแลนด์)", + "en-jm": "อังกฤษ (จาเมกา)", + "en-ie": "อังกฤษ (ไอร์แลนด์)", + "en-tt": "อังกฤษ (ตรินิแดด)", + "af": "แอฟริกาใต้", + "ar-ae": "อาหรับ (สหรัฐอาหรับเอมิเรตส์)", + "ar-bh": "อาหรับ (บาห์เรน)", + "ar-dz": "อาหรับ (แอลจีเรีย)", + "ar-eg": "อาหรับ (อียิปต์)", + "ar-iq": "อาหรับ (อิรัก)", + "ar-jo": "อาหรับ (จอร์แดน)", + "ar-kw": "อาหรับ (คูเวต)", + "ar-lb": "อาหรับ (เลบานอน)", + "ar-ly": "อาหรับ (ลิเบีย)", + "ar-ma": "อาหรับ (โมร็อกโก)", + "ar-om": "อาหรับ (โอมาน)", + "ar-qa": "อาหรับ (กาตาร์)", + "ar-sa": "อาหรับ (ซาอุดีอาระเบีย)", + "ar-sy": "อาหรับ (ซีเรีย)", + "ar-tn": "อาหรับ (ตูนิเซีย)", + "ar-ye": "อาหรับ (เยเมน)", + "be": "เบลารุส", + "bg": "บัลแกเรีย", + "ca": "คาตาลัน", + "cs": "สาธารณรัฐเช็ก", + "da": "เดนมาร์ก", + "de-at": "เยอรมัน (ออสเตรีย)", + "de-ch": "เยอรมัน (สวิสเซอร์แลนด์)", + "de-lu": "เยอรมัน (ลักเซมเบิร์ก)", + "en-za": "อังกฤษ (แอฟริกาใต้)", + "es-ar": "สเปน (อาร์เจนตินา)", + "es-bo": "สเปน (โบลิเวีย)", + "es-cl": "สเปน (ชิลี)", + "es-co": "สเปน (โคลัมเบีย)", + "es-cr": "สเปน (คอสตาริกา)", + "es-do": "สเปน (สาธารณรัฐโดมินิกัน)", + "zu": "สูลู", + "zh-tw": "จีน (ไต้หวัน)", + "zh-sg": "จีน (สิงคโปร์)", + "zh-hk": "จีน (ฮ่องกง)", + "xh": "โซซา", + "ve": "เวนดา", + "ur": "อูรดู", + "uk": "ยูเครน", + "ts": "ซองก้า", + "tr": "ตุรกี", + "tn": "ซวานา", + "sv": "สวีเดน", + "sv-fi": "สวีเดน (ฟินแลนด์)", + "sr": "เซอร์เบีย", + "sq": "แอลเบเนีย", + "sl": "สโลเวเนีย", + "sk": "สโลวาเกีย", + "sb": "ซอร์เบีย", + "ru": "รัสเซีย", + "ru-mo": "รัสเซีย (สาธารณรัฐมอลโดวา)", + "ro": "โรมาเนีย", + "ro-mo": "โรมาเนีย (สาธารณรัฐมอลโดวา)", + "pt": "โปรตุเกส", + "pt-br": "โปรตุเกส (บราซิล)", + "pl": "โปแลนด์", + "no": "นอร์เวย์", + "nl": "ดัตช์", + "nl-be": "ดัตช์ (เบลเยียม)", + "mt": "มอลตา", + "ms": "มาเลเซีย", + "lv": "ลัตเวีย", + "lt": "ลิธัวเนีย", + "ji": "ยิดดิช", + "it": "อิตาลี", + "it-ch": "อิตาลี (สวิสเซอร์แลนด์)", + "is": "ไอซ์แลนด์", + "id": "อินโดนีเซีย", + "hu": "ฮังการี", + "hr": "โครเอเชีย", + "hi": "ฮินดู", + "he": "อิสราเอล", + "gd": "เกลิค (สกอตแลนด์)", + "fr-lu": "ฝรั่งเศส (ลักเซมเบิร์ก)", + "fr-ca": "ฝรั่งเศส (แคนาดา)", + "fr-ch": "ฝรั่งเศส (สวิสเซอร์แลนด์)", + "fr-be": "ฝรั่งเศส (เบลเยี่ยม)", + "fo": "แฟโร", + "fi": "ฟินแลนด์", + "fa": "ฟาร์ซิ", + "et": "เอสโตเนีย", + "es-ve": "สเปน (เวเนซุเอลา)", + "es-uy": "สเปน (อุรุกวัย)", + "es-sv": "สเปน (เอลซัลวาดอร์)", + "es": "สเปน (สเปน)", + "es-py": "สเปน (ปารากวัย)", + "es-pr": "สเปน (เปอร์โตริโก)", + "es-pe": "สเปน (เปรู)", + "es-pa": "สเปน (ปานามา)", + "es-ni": "สเปน (นิการากัว)", + "es-mx": "สเปน (เม็กซิโก)", + "es-hn": "สเปน (ฮอนดูรัส)", + "es-gt": "สเปน (กัวเตมาลา)", + "es-ec": "สเปน (เอกวาดอร์)", + "Add": "เพิ่ม", + "de-li": "เยอรมัน (ลิกเตนสไตน์)", + "eu": "บาสก์ (บาสก์)", + "ga": "ไอร์แลนด์", + "zh-cn": "จีน (สาธารณรัฐประชาชนจีน)", + "mk": "มาซิโดเนีย (อดีตสาธารณรัฐยูโกสลาฟมาซิโดเนีย)", + "a room": "ห้อง", + "Accept": "ยอมรับ", + "VoIP": "VoIP", + "Close": "ปิด", + "Custom": "กำหนดเอง", + "Decline": "ปฏิเสธ", + "Home": "เมนูหลัก", + "Last seen": "เห็นครั้งสุดท้าย", + "Rejoin": "กลับเข้าร่วม", + "Set": "ตั้ง", + "This room": "ห้องนี้", + "Unnamed Room": "ห้องที่ยังไม่ได้ตั้งชื่อ", + "%(user)s is a": "%(user)s เป็น", + "(~%(count)s results).one": "(~%(count)s ผลลัพท์)", + "(~%(count)s results).other": "(~%(count)s ผลลัพท์)" } From 2a293ac57171c52ab40cb9a9caa1fc77cd60519c Mon Sep 17 00:00:00 2001 From: Jean GB Date: Fri, 9 Jun 2017 08:10:27 +0000 Subject: [PATCH 075/103] Translated using Weblate (French) Currently translated at 93.0% (838 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 1058db4aca..e1cd7316de 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -294,7 +294,7 @@ "Found a bug?": "Trouvé un problème ?", "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s de %(fromPowerLevel)s à %(toPowerLevel)s", "Guest users can't create new rooms. Please register to create room and start a chat.": "Les visiteurs ne peuvent créer de nouveaux salons. Merci de vous enregistrer pour commencer une discussion.", - "Guest users can't upload files. Please register to upload.": "Les visiteurs ne peuvent telécharger de fichiers. Merci de vous enregistrer pour télécharger.", + "Guest users can't upload files. Please register to upload.": "Les visiteurs ne peuvent pas télécharger de fichier. Veuillez vous enregistrer pour télécharger.", "had": "avait", "Hangup": "Raccrocher", "Hide read receipts": "Cacher les accusés de réception", @@ -499,15 +499,15 @@ "to make a room or": "pour créer un salon ou", "To remove other users' messages": "Pour supprimer les messages des autres utilisateurs", "To reset your password, enter the email address linked to your account": "Pour réinitialiser votre mot de passe, merci d’entrer l’adresse email liée à votre compte", - "to restore": "restaurer", + "to restore": "pour restaurer", "To send events of type": "Pour envoyer des évènements du type", "To send messages": "Pour envoyer des messages", "to start a chat with someone": "pour démarrer une conversation avec quelqu’un", "to tag as %(tagName)s": "pour marquer comme %(tagName)s", "to tag direct chat": "pour marquer comme conversation directe", "To use it, just wait for autocomplete results to load and tab through them.": "Pour l’utiliser, attendez simplement que les résultats de l’auto-complétion s’affichent et défilez avec la touche Tab.", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Une tentative de chargement d’un point donné dans la chronologie de ce salon a été effectuée, mais vous n’avez pas la permission de voir le message en question.", - "Tried to load a specific point in this room's timeline, but was unable to find it.": "Une tentative de chargement d’un point donné dans la chronologie de ce salon a été effectuée, mais il n’a pas été trouvé.", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Un instant donné de la chronologie n’a pu être chargé car vous n’avez pas la permission de le visualiser.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Un instant donné de la chronologie n’a pu être chargé car il n’a pas pu être trouvé.", "Turn Markdown off": "Désactiver le formatage ’Markdown’", "Turn Markdown on": "Activer le formatage ’Markdown’", "%(senderName)s turned on end-to-end encryption (algorithm %(algorithm)s).": "%(senderName)s a activé l’encryption bout-en-bout (algorithme %(algorithm)s).", @@ -619,7 +619,7 @@ "There are no visible files in this room": "Il n'y a pas de fichier visible dans ce salon", "Room": "Salon", "Connectivity to the server has been lost.": "La connectivité au serveur a été perdue.", - "Sent messages will be stored until your connection has returned.": "Les messages envoyé seront stockés jusqu’à ce que votre connection revienne.", + "Sent messages will be stored until your connection has returned.": "Les messages envoyés seront stockés jusqu’à ce que votre connection revienne.", "Auto-complete": "Auto-complétion", "Resend all": "Tout renvoyer", "(~%(searchCount)s results)": "(~%(searchCount)s résultats)", @@ -834,11 +834,7 @@ "Error: Problem communicating with the given homeserver.": "Erreur: Problème de communication avec le homeserveur.", "Failed to fetch avatar URL": "Échec lors de la récupération de l’URL de l’avatar", "The phone number entered looks invalid": "Le numéro de téléphone entré semble être invalide", - "Guest users can't upload files. Please register to upload.": "Les visiteurs ne peuvent pas télécharger de fichier. Veuillez vous enregistrer pour télécharger.", - "Some of your messages have not been sent.": "Certains de vos messages n’ont pas été envoyés.", "This room is private or inaccessible to guests. You may be able to join if you register.": "Ce salon est privé ou interdits aux visiteurs. Vous pourrez peut-être le joindre si vous vous enregistrez.", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Un instant donné de la chronologie n’a pu être chargé car vous n’avez pas la permission de le visualiser.", - "Tried to load a specific point in this room's timeline, but was unable to find it.": "Un instant donné de la chronologie n’a pu être chargé car il n’a pas pu être trouvé.", "Uploading %(filename)s and %(count)s others.zero": "Téléchargement de %(filename)s", "Uploading %(filename)s and %(count)s others.one": "Téléchargement de %(filename)s et %(count)s autre", "Uploading %(filename)s and %(count)s others.other": "Téléchargement de %(filename)s et %(count)s autres", From a21b6e61a693ccfef18134bd5148ff479fc97101 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 9 Jun 2017 10:08:26 +0100 Subject: [PATCH 076/103] Default to home page when settings is closed If the current room isn't set. --- src/components/structures/MatrixChat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index b6e3552a95..61b1dd4a38 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -1307,7 +1307,7 @@ module.exports = React.createClass({ }); } else { dis.dispatch({ - action: 'view_room_directory', + action: 'view_home_page', }); } }, From c7229967a663ad6b6ae3a04700288a8dcf8478c5 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 9 Jun 2017 10:28:45 +0100 Subject: [PATCH 077/103] Goto /home when forgetting the last room --- src/components/structures/MatrixChat.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index b6e3552a95..9e59e8ea5c 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -570,6 +570,12 @@ module.exports = React.createClass({ const allRooms = RoomListSorter.mostRecentActivityFirst( MatrixClientPeg.get().getRooms(), ); + if (allRooms.length === 0) { + dis.dispatch({ + action: 'view_home_page', + }); + return; + } let roomIndex = -1; for (let i = 0; i < allRooms.length; ++i) { if (allRooms[i].roomId == this.state.currentRoomId) { From 19bb879fbf3858d40c4e28d08af53479a9989199 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 9 Jun 2017 10:54:42 +0100 Subject: [PATCH 078/103] Handle only 1 room in the list --- src/components/structures/MatrixChat.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index 9e59e8ea5c..fae2b831d5 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -570,7 +570,10 @@ module.exports = React.createClass({ const allRooms = RoomListSorter.mostRecentActivityFirst( MatrixClientPeg.get().getRooms(), ); - if (allRooms.length === 0) { + // If there are 0 rooms or 1 room, view the home page because otherwise + // if there are 0, we end up trying to index into an empty array, and + // if there is 1, we end up viewing the same room. + if (allRooms.length < 2) { dis.dispatch({ action: 'view_home_page', }); From 81a8c566362f1c716452c24ad868c7d71cff4662 Mon Sep 17 00:00:00 2001 From: Jean GB Date: Fri, 9 Jun 2017 08:19:29 +0000 Subject: [PATCH 079/103] Translated using Weblate (French) Currently translated at 93.0% (838 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index e1cd7316de..712ccb2a63 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -386,7 +386,7 @@ "Email address": "Adresse e-mail", "Error decrypting attachment": "Erreur lors du déchiffrement de la pièce jointe", "Failed to set avatar.": "Erreur lors de la définition de la photo de profil.", - "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Par sécurité une deconnexion supprimera toutes les clés d’encryption de cet explorateur. Si vous voulez être capable de décrypter l’historique de votre conversation lors de sessions futures de Riot, merci d’exporter les clés pour le salon.", + "For security, logging out will delete any end-to-end encryption keys from this browser. If you want to be able to decrypt your conversation history from future Riot sessions, please export your room keys for safe-keeping.": "Par sécurité une déconnexion supprimera toutes les clés d’encryption de ce navigateur. Si vous voulez être capable de décrypter l’historique de votre conversation lors de sessions futures de Riot, merci d’exporter les clés pour le salon.", "Guests can't set avatars. Please register.": "Les visiteurs ne peuvent définir de photo de profil. Merci de vous enregistrer.", "Guests can't use labs features. Please register.": "Les visiteurs ne peuvent utiliser les fonctionalités du laboratoire. Merci de vous enregistrer.", "Guests cannot join this room even if explicitly invited.": "Les visiteurs ne peuvent rejoindre ce salon, même si explicitement invités.", From 65e4b70efe46967e86a4efde49fd8d313a3dba9f Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 8 Jun 2017 16:04:10 +0000 Subject: [PATCH 080/103] Translated using Weblate (German) Currently translated at 93.5% (843 of 901 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index bed8034bdf..57c4f1bed7 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -911,5 +911,6 @@ "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein zukünftiger Benutzername auf dem Heimserver. Alternativ kannst du auch einen anderen Server auswählen.", "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", "Home": "Start", - "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s" + "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s", + "a room": "einen Raum" } From b88c46a509c4c4c86fb6b17ad841150106fce8e9 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 8 Jun 2017 16:04:10 +0000 Subject: [PATCH 081/103] Translated using Weblate (German) Currently translated at 93.5% (843 of 901 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 57c4f1bed7..11d58a355e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -912,5 +912,6 @@ "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", "Home": "Start", "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s", - "a room": "einen Raum" + "a room": "einen Raum", + "Accept": "Akzeptieren" } From 7f4368e2d1396278085722537827861934dc721b Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 8 Jun 2017 16:04:10 +0000 Subject: [PATCH 082/103] Translated using Weblate (German) Currently translated at 93.7% (845 of 901 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 11d58a355e..1db20bf77e 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -913,5 +913,6 @@ "Home": "Start", "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s", "a room": "einen Raum", - "Accept": "Akzeptieren" + "Accept": "Akzeptieren", + "Active call (%(roomName)s)": "Aktiver Anruf (%(roomName)s)" } From 0df1e9b9d8f1e04d81e2f469cd6a93e03493a1f1 Mon Sep 17 00:00:00 2001 From: Bamstam Date: Thu, 8 Jun 2017 16:04:10 +0000 Subject: [PATCH 083/103] Translated using Weblate (German) Currently translated at 93.8% (846 of 901 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 1db20bf77e..4ed5275b92 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -914,5 +914,6 @@ "Username invalid: %(errMessage)s": "Ungültiger Benutzername: %(errMessage)s", "a room": "einen Raum", "Accept": "Akzeptieren", - "Active call (%(roomName)s)": "Aktiver Anruf (%(roomName)s)" + "Active call (%(roomName)s)": "Aktiver Anruf (%(roomName)s)", + "Admin tools": "Admin-Werkzeuge" } From 0dc8e3adbd2cadeff090a84115f9a5d4d887de5d Mon Sep 17 00:00:00 2001 From: Krombel Date: Fri, 9 Jun 2017 11:41:41 +0000 Subject: [PATCH 084/103] Translated using Weblate (German) Currently translated at 100.0% (901 of 901 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 | 57 ++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4ed5275b92..15189a1372 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -915,5 +915,60 @@ "a room": "einen Raum", "Accept": "Akzeptieren", "Active call (%(roomName)s)": "Aktiver Anruf (%(roomName)s)", - "Admin tools": "Admin-Werkzeuge" + "Admin tools": "Admin-Werkzeuge", + "And %(count)s more...": "Und %(count)s weitere...", + "Alias (optional)": "Alias (optional)", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Verbindung zum Heimserver fehlgeschlagen - bitte prüfe deine Verbindung, stelle sicher, dass dem SSL-Zertifikat deines Heimservers vertraut wird und keine Browser-Erweiterung Anfragen blockiert.", + "Click here to join the discussion!": "Klicke hier um der Diskussion beizuwohnen!", + "Close": "Schließen", + "Custom": "Erweitert", + "Decline": "Ablehnen", + "Disable Notifications": "Benachrichtigungen deaktivieren", + "Drop File Here": "Lasse Datei hier los", + "Enable Notifications": "Benachrichtigungen aktivieren", + "Encrypted by a verified device": "Von einem vertrauten Gerät verschlüsselt", + "Encrypted by an unverified device": "Von einem nicht vertrauten Gerät verschlüsselt", + "Failed to upload profile picture!": "Hochladen des Profilbild's fehlgeschlagen!", + "Incoming call from %(name)s": "Eingehender Anruf von %(name)s", + "Incoming video call from %(name)s": "Eingehender Video-Anruf von %(name)s", + "Incoming voice call from %(name)s": "Eingehender Sprach-Anruf von %(name)s", + "Join as voice or video.": "Mit Sprache oder Video beitreten.", + "Last seen": "Zuletzt gesehen", + "Level:": "Level:", + "No display name": "Kein Anzeigename", + "Otherwise, click here to send a bug report.": "Ansonsten klicke hier um einen Fehlerbericht zu senden.", + "Private Chat": "Privater Chat", + "Public Chat": "Öffentlicher Chat", + "Reason: %(reasonText)s": "Grund: %(reasonText)s", + "Rejoin": "Erneut beitreten", + "Room contains unknown devices": "Raum enthält unbekannte Geräte", + "%(roomName)s does not exist.": "%(roomName)s existert nicht.", + "%(roomName)s is not accessible at this time.": "%(roomName)s ist aktuell nicht zugreifbar.", + "Searching known users": "Suche nach bekannten Nutzern", + "Seen by %(userName)s at %(dateTime)s": "Gesehen von %(userName)s um %(dateTime)s", + "Send anyway": "Trotzdem senden", + "Set": "Setze", + "Start authentication": "Starte Authentifizierung", + "Show Text Formatting Toolbar": "Zeige text-formatierende Werkzeugleiste", + "This invitation was sent to an email address which is not associated with this account:": "Diese Einledung wurde an eine E-Mail-Adresse gesendet, die nicht mit diesem Konto verknüpft ist:", + "This room": "Dieser Raum", + "To link to a room it must have an address.": "Um einen Raum zu verlinken, muss er eine Adresse haben.", + "Undecryptable": "Nicht entschlüsselbar", + "Unable to ascertain that the address this invite was sent to matches one associated with your account.": "Kann nicht feststellen, ob die Adresse an die diese Einladung gesendet wurde mit einer übereinstimmt, die zu deinem Konto gehört.", + "Unencrypted message": "Nicht verschlüsselbare Nachricht", + "unknown caller": "Unbekannter Anrufer", + "Unnamed Room": "Unbenannter Raum", + "Unverified": "Nicht verifiziert", + "Upload new:": "Neue(s) hochladen:", + "%(user)s is a": "%(user)s ist ein", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (Berechtigungslevel %(powerLevelNumber)s)", + "Verified": "Verifiziert", + "Would you like to accept or decline this invitation?": "Möchtest du diese Einladung akzeptieren oder ablehnen?", + "You have been banned from %(roomName)s by %(userName)s.": "Du wurdest von %(userName)s aus dem Raum %(roomName)s verbannt.", + "You have been kicked from %(roomName)s by %(userName)s.": "Du wurdest von %(userName)s aus dem Raum %(roomName)s gekickt.", + "You may wish to login with a different account, or add this email to this account.": "Du möchtest dich evtl. mit einem anderen Konto anmelden oder diese E-Mail-Adresse diesem Konto hinzufügen.", + "Your home server does not support device management.": "Dein Heimserver unterstützt kein Geräte-Management.", + "(~%(count)s results).one": "(~%(count)s Ergebnis)", + "(~%(count)s results).other": "(~%(count)s Ergebnis)", + "Device Name": "Geräte-Name" } From ecc8abbfc96158ca7f0f5d43c5ab38f38ad2a8f2 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 9 Jun 2017 13:46:45 +0100 Subject: [PATCH 085/103] When ChatCreateOrReuseDialog is cancelled by a guest, go home --- src/components/structures/MatrixChat.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index 9c166cf04a..0444368298 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -466,7 +466,7 @@ module.exports = React.createClass({ this.notifyNewScreen('home'); break; case 'view_set_mxid': - this._setMxId(); + this._setMxId(payload); break; case 'view_start_chat_or_reuse': this._chatCreateOrReuse(payload.user_id); @@ -680,7 +680,7 @@ module.exports = React.createClass({ }); }, - _setMxId: function() { + _setMxId: function(payload) { const SetMxIdDialog = sdk.getComponent('views.dialogs.SetMxIdDialog'); const close = Modal.createDialog(SetMxIdDialog, { homeserverUrl: MatrixClientPeg.get().getHomeserverUrl(), @@ -689,6 +689,11 @@ module.exports = React.createClass({ dis.dispatch({ action: 'cancel_after_sync_prepared', }); + if (payload.go_home_on_cancel) { + dis.dispatch({ + action: 'view_home_page', + }); + } return; } this.onRegistered(credentials); @@ -769,6 +774,11 @@ module.exports = React.createClass({ } dis.dispatch({ action: 'view_set_mxid', + // If the set_mxid dialog is cancelled, view /home because if the browser + // was pointing at /user/@someone:domain?action=chat, the URL needs to be + // reset so that they can revisit /user/.. // (and trigger + // `_chatCreateOrReuse` again) + go_home_on_cancel: true, }); return; } From d6da5c649410ff6814e77d8c312c1b4abc9bde98 Mon Sep 17 00:00:00 2001 From: dtygel Date: Fri, 9 Jun 2017 13:33:02 +0000 Subject: [PATCH 086/103] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (901 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/pt_BR/ --- src/i18n/strings/pt_BR.json | 60 ++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 3b4b94cab2..75d7a115b2 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -906,5 +906,63 @@ "Username not available": "Nome de usuária(o) indisponível", "Something went wrong!": "Algo deu errado!", "This will be your account name on the homeserver, or you can pick a different server.": "Este será seu nome de conta no Servidor de Base , ou então você pode escolher um servidor diferente.", - "If you already have a Matrix account you can log in instead.": "Se você já tem uma conta Matrix, pode também fazer login." + "If you already have a Matrix account you can log in instead.": "Se você já tem uma conta Matrix, pode também fazer login.", + "a room": "uma sala", + "Accept": "Aceitar", + "Active call (%(roomName)s)": "Chamada ativa (%(roomName)s)", + "Admin tools": "Ferramentas de administração", + "And %(count)s more...": "E mais %(count)s...", + "Alias (optional)": "Apelido (opcional)", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Não foi possível conectar ao Servidor de Base. Por favor, confira sua conectividade à internet, garanta que o certificado SSL do Servidor de Base é confiável, e que uma extensão do navegador não esteja bloqueando as requisições de rede.", + "Click here to join the discussion!": "Clique aqui para participar da conversa!", + "Close": "Fechar", + "Custom": "Personalizado", + "Decline": "Recusar", + "Disable Notifications": "Desabilitar notificações", + "Drop File Here": "Arraste o arquivo aqui", + "Enable Notifications": "Habilitar notificações", + "Encrypted by a verified device": "Criptografado por um dispositivo verificado", + "Encrypted by an unverified device": "Criptografado por um dispositivo não verificado", + "Failed to upload profile picture!": "Falha ao enviar a imagem de perfil!", + "Incoming call from %(name)s": "Chamada de %(name)s recebida", + "Incoming video call from %(name)s": "Chamada de vídeo de %(name)s recebida", + "Incoming voice call from %(name)s": "Chamada de voz de %(name)s recebida", + "Join as voice or video.": "Participar por voz ou por vídeo.", + "Last seen": "Último uso", + "Level:": "Nível:", + "No display name": "Sem nome público de usuária(o)", + "Otherwise, click here to send a bug report.": "Caso contrário, clique aqui para enviar um relatório de erros.", + "Private Chat": "Conversa privada", + "Public Chat": "Conversa pública", + "Reason: %(reasonText)s": "Justificativa: %(reasonText)s", + "Rejoin": "Voltar a participar da sala", + "Room contains unknown devices": "Esta sala contém dispositivos desconhecidos", + "%(roomName)s does not exist.": "%(roomName)s não existe.", + "%(roomName)s is not accessible at this time.": "%(roomName)s não está acessível neste momento.", + "Seen by %(userName)s at %(dateTime)s": "Visto por %(userName)s em %(dateTime)s", + "Send anyway": "Enviar de qualquer maneira", + "Set": "Definir", + "Show Text Formatting Toolbar": "Exibir barra de formatação de texto", + "Start authentication": "Iniciar autenticação", + "This invitation was sent to an email address which is not associated with this account:": "Este convite foi enviado para um endereço de e-mail que não é associado a esta conta:", + "This room": "Esta sala", + "To link to a room it must have an address.": "Para produzir um link para uma sala, ela necessita ter um endereço.", + "Unable to ascertain that the address this invite was sent to matches one associated with your account.": "Não foi possível garantir que o endereço para o qual este convite foi enviado bate com alqum que está associado com sua conta.", + "Undecryptable": "Não é possível descriptografar", + "Unencrypted message": "Mensagem não criptografada", + "unknown caller": "a pessoa que está chamando é desconhecida", + "Unnamed Room": "Sala sem nome", + "Unverified": "Não verificado", + "Upload new:": "Enviar novo:", + "%(user)s is a": "%(user)s é um(a)", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (nível de permissão %(powerLevelNumber)s)", + "Verified": "Verificado", + "Would you like to accept or decline this invitation?": "Você gostaria de aceitar ou recusar este convite?", + "You have been banned from %(roomName)s by %(userName)s.": "Você foi expulso(a) da sala %(roomName)s por %(userName)s.", + "You have been kicked from %(roomName)s by %(userName)s.": "Você foi removido(a) da sala %(roomName)s por %(userName)s.", + "You may wish to login with a different account, or add this email to this account.": "Você pode querer fazer login com uma conta diferente, ou adicionar este e-mail a esta conta.", + "Your home server does not support device management.": "O seu Servidor de Base não suporta o gerenciamento de dispositivos.", + "(~%(count)s results).one": "(~%(count)s resultado)", + "(~%(count)s results).other": "(~%(count)s resultados)", + "Device Name": "Nome do dispositivo" } From 6126cce96779fc21ce9b06972f5ee8d7ca05cdda Mon Sep 17 00:00:00 2001 From: Szimszon Date: Fri, 9 Jun 2017 12:55:52 +0000 Subject: [PATCH 087/103] Translated using Weblate (Hungarian) Currently translated at 19.4% (175 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 151 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 150 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 748810f76e..458d461b90 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -24,5 +24,154 @@ "Wednesday": "Szerda", "Thursday": "Csütörtök", "Friday": "Péntek", - "Saturday": "Szombat" + "Saturday": "Szombat", + "af": "Afrikaans", + "ar-ae": "Arabic (U.A.E.)", + "ar-bh": "Arabic (Bahrain)", + "ar-dz": "Arabic (Algeria)", + "ar-eg": "Arabic (Egypt)", + "ar-iq": "Arabic (Iraq)", + "ar-jo": "Arabic (Jordan)", + "ar-kw": "Arabic (Kuwait)", + "ar-lb": "Arabic (Lebanon)", + "ar-ly": "Arabic (Libya)", + "ar-ma": "Arabic (Morocco)", + "ar-om": "Arabic (Oman)", + "ar-qa": "Arabic (Qatar)", + "ar-sa": "Arabic (Saudi Arabia)", + "ar-sy": "Arabic (Syria)", + "ar-tn": "Arabic (Tunisia)", + "ar-ye": "Arabic (Yemen)", + "be": "Belorusz", + "bg": "Bolgár", + "ca": "Katalán", + "cs": "Cseh", + "da": "Dán", + "de-at": "Német (Osztrák)", + "de-ch": "Német (Svájci)", + "de": "Német", + "de-li": "Német (Lichtenstein)", + "de-lu": "Német (Luxemburg)", + "el": "Görög", + "en-au": "Angol (Ausztrál)", + "en-bz": "Angol (Belize)", + "en-ca": "Angol (Kanada)", + "en": "Angol", + "en-gb": "Angol (Egyesült Királyság)", + "en-ie": "Angol (Ír)", + "en-jm": "Angol (Jamaika)", + "en-nz": "Angol (Új-Zéland)", + "en-tt": "Angol (Trinidad)", + "en-us": "Angol (Egyesült Államok)", + "en-za": "Angol (Dél-Afrika)", + "es-ar": "Spanyol (Argentína)", + "es-bo": "Spanyol (Bolívia)", + "es-cl": "Spanyol (Chile)", + "es-co": "Spanyol (Kolumbia)", + "es-cr": "Spanyol (Costa Rica)", + "es-do": "Spanyol (Dominikai Köztársaság)", + "es-ec": "Spanyol (Ecuador)", + "es-gt": "Spanyol (Guatemala)", + "es-hn": "Spanyol (Honduras)", + "es-mx": "Spanyol (Mexikó)", + "es-ni": "Spanyol (Nicaragua)", + "es-pa": "Spanyol (Panama)", + "es-pe": "Spanyol (Peru)", + "es-pr": "Spanyol (Puerto Rico)", + "es-py": "Spanyol (Paraguay)", + "es": "Spanyol (Spanyol)", + "es-sv": "Spanyol (El Salvador)", + "es-uy": "Spanyol (Uruguay)", + "es-ve": "Spanyol (Venezuela)", + "et": "Észt", + "eu": "Baszk (Baszk)", + "fa": "Perzsa", + "fi": "Finn", + "fo": "Feröer", + "fr-be": "Francia (Belgium)", + "fr-ca": "Francia (Kanada)", + "fr-ch": "Francia (Svájc)", + "fr": "Francia", + "fr-lu": "Francia (Luxemburg)", + "ga": "Ír", + "gd": "Gall (Skót)", + "he": "Héber", + "hi": "Hindu", + "hr": "Horvát", + "hu": "Magyar", + "id": "Indonéz", + "is": "Izland", + "it-ch": "Olasz (Svájc)", + "it": "Olasz", + "ja": "Japán", + "ji": "Jiddis", + "ko": "Korea", + "lt": "Litván", + "lv": "Lett", + "mk": "Macedónia (FYROM)", + "ms": "Maláj", + "mt": "Málta", + "nl-be": "Holland (Belgium)", + "nl": "Holland", + "no": "Norvég", + "pl": "Lengyel", + "pt-br": "Portugál (Brazil)", + "pt": "Portugál", + "ro-mo": "Román (Moldova)", + "ro": "Román", + "ru-mo": "Orosz (Moldova)", + "ru": "Orosz", + "sk": "Szlovák", + "sl": "Szlovén", + "sq": "Albán", + "sr": "Szerb", + "sv-fi": "Svéd (Finn)", + "sv": "Svéd", + "sx": "Sutu", + "sz": "Sami (Lapp)", + "th": "Thai", + "tr": "Török", + "ts": "Tsonga", + "uk": "Ukrán", + "ur": "Urdu", + "ve": "Venda", + "vi": "Vietnám", + "xh": "Xhosa", + "zh-cn": "Kína (PRC)", + "zh-hk": "Kína (Hong Kong SAR)", + "zh-sg": "Kína (Szingapúr)", + "zh-tw": "Kína (Tajvan)", + "zu": "Zulu", + "A registered account is required for this action": "Regisztrált fiókra van szükség ehhez a művelethez", + "a room": "egy szoba", + "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains": "Elküldtük a szöveges üzenetet ide: +%(msisdn)s. Kérlek add meg az ellenőrző kódot ami benne van", + "Accept": "Elfogad", + "%(targetName)s accepted an invitation.": "%(targetName)s elfogadta a meghívást.", + "%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s elfogadta a meghívást ide: %(displayName)s.", + "Account": "Fiók", + "Access Token:": "Elérési kulcs:", + "Active call (%(roomName)s)": "Hívás folyamatban (%(roomName)s)", + "Add": "Hozzáad", + "Add a topic": "Téma megadása", + "Add email address": "E-mail cím megadása", + "Add phone number": "Telefonszám megadása", + "Admin": "Adminisztrátor", + "Admin tools": "Admin. eszközök", + "And %(count)s more...": "És még %(count)s...", + "VoIP": "VoIP", + "Missing Media Permissions, click here to request.": "Hiányzó Média jogosultság, kattintson ide az igényléshez.", + "No Microphones detected": "Nem található mikrofon", + "No Webcams detected": "Nem található webkamera", + "No media permissions": "Nincs media jogosultság", + "You may need to manually permit Riot to access your microphone/webcam": "Lehet hogy manuálisan kell engedélyeznie a Riot-nak a hozzáférést a mikrofonhoz ás webkamerához", + "Default Device": "Alapértelmezett eszköz", + "Microphone": "Mikrofon", + "Camera": "Kamera", + "Advanced": "Haladó", + "Algorithm": "Algoritmus", + "Hide removed messages": "Törölt üzenetek elrejtése", + "Always show message timestamps": "Üzenet időbélyeg folyamatos megjelenítése", + "Authentication": "Azonosítás", + "Alias (optional)": "Becenév (opcionális)", + "all room members": "minden szoba tagság" } From 0b76b94063dec0a356addd5af1745d9f637c575d Mon Sep 17 00:00:00 2001 From: Vladi Date: Fri, 9 Jun 2017 13:04:08 +0000 Subject: [PATCH 088/103] Translated using Weblate (Russian) Currently translated at 99.4% (896 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.nordgedanken.de/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 52e69c9388..07ab24e824 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -169,8 +169,8 @@ "Unable to remove contact information": "Невозможно удалить контактную информацию", "Unable to verify email address.": "Невозможно проверить адрес электронной почты.", "Unban": "Отменить запрет", - "Unencrypted room": "Не зашифрованная комната", - "unencrypted": "не зашифровано", + "Unencrypted room": "Незашифрованная комната", + "unencrypted": "незашифровано", "unknown device": "неизвестное устройство", "unknown error code": "неизвестная ошибка", "unknown": "неизвестно", @@ -926,5 +926,27 @@ "Start authentication": "Начать идентификацию", "This room": "Эта комната", "(~%(count)s results).other": "(~%(count)s results)", - "Device Name": "Имя устройства" + "Device Name": "Имя устройства", + "Custom": "Пользователь", + "Decline": "Отклонить", + "Room contains unknown devices": "Комната содержит неизвестное устройство", + "%(roomName)s does not exist.": "%(roomName)s не существует.", + "%(roomName)s is not accessible at this time.": "%(roomName)s в данный момент не доступна.", + "Seen by %(userName)s at %(dateTime)s": "Отослать от %(userName)s в %(dateTime)s", + "Send anyway": "Отправить в любом случае", + "Show Text Formatting Toolbar": "Показать панель инструментов форматирования текста", + "This invitation was sent to an email address which is not associated with this account:": "Это приглашение было отправлено на адрес электронной почты, который не связан с этой учетной записью:", + "To link to a room it must have an address.": "Для ссылки на комнату. Она должна иметь адрес.", + "Unable to ascertain that the address this invite was sent to matches one associated with your account.": "Не удалось установить, что адрес на который было отправлено это приглашение соответствует вашей учетной записи.", + "Undecryptable": "Невозможно расшифровать", + "Unencrypted message": "Незашифрованое послание", + "unknown caller": "Звонящий неизвестен", + "Unnamed Room": "Комната без имени", + "Unverified": "Непроверенно", + "Upload new:": "Загрузить новый:", + "%(user)s is a": "%(user)s является", + "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (уровень доступа %(powerLevelNumber)s)", + "Verified": "Подтверждён", + "Would you like to accept or decline this invitation?": "Хотели бы вы это приглашение подтвердить или отклонить?", + "(~%(count)s results).one": "(~%(count)s Результат)" } From 0879d796ebce94d2a335d3a0adb1d33900b7f31f Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 20:26:41 +0100 Subject: [PATCH 089/103] released js-sdk --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 15a903c25a..dd7ff9c11e 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": "0.7.10", + "matrix-js-sdk": "0.7.11-rc.1", "optimist": "^0.6.1", "prop-types": "^15.5.8", "q": "^1.4.1", From 345661ee2ddf1a0e524bca1cb815df8c3b4f7247 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 20:28:08 +0100 Subject: [PATCH 090/103] Prepare changelog for v0.9.3-rc.1 --- CHANGELOG.md | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e4627afd..b217d7a0db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,154 @@ +Changes in [0.9.3-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.3-rc.1) (2017-06-09) +============================================================================================================= +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.2...v0.9.3-rc.1) + + * When ChatCreateOrReuseDialog is cancelled by a guest, go home + [\#1069](https://github.com/matrix-org/matrix-react-sdk/pull/1069) + * Update from Weblate. + [\#1065](https://github.com/matrix-org/matrix-react-sdk/pull/1065) + * Goto /home when forgetting the last room + [\#1067](https://github.com/matrix-org/matrix-react-sdk/pull/1067) + * Default to home page when settings is closed + [\#1066](https://github.com/matrix-org/matrix-react-sdk/pull/1066) + * Update from Weblate. + [\#1063](https://github.com/matrix-org/matrix-react-sdk/pull/1063) + * When joining, use a roomAlias if we have it + [\#1062](https://github.com/matrix-org/matrix-react-sdk/pull/1062) + * Control currently viewed event via RoomViewStore + [\#1058](https://github.com/matrix-org/matrix-react-sdk/pull/1058) + * Better error messages for login + [\#1060](https://github.com/matrix-org/matrix-react-sdk/pull/1060) + * Add remaining translations + [\#1056](https://github.com/matrix-org/matrix-react-sdk/pull/1056) + * Added button that copies code to clipboard + [\#1040](https://github.com/matrix-org/matrix-react-sdk/pull/1040) + * de-lint MegolmExportEncryption + test + [\#1059](https://github.com/matrix-org/matrix-react-sdk/pull/1059) + * Better RTL support + [\#1021](https://github.com/matrix-org/matrix-react-sdk/pull/1021) + * make mels emoji capable + [\#1057](https://github.com/matrix-org/matrix-react-sdk/pull/1057) + * Make travis check for lint on files which are clean to start with + [\#1055](https://github.com/matrix-org/matrix-react-sdk/pull/1055) + * Update from Weblate. + [\#1053](https://github.com/matrix-org/matrix-react-sdk/pull/1053) + * Add some logging around switching rooms + [\#1054](https://github.com/matrix-org/matrix-react-sdk/pull/1054) + * Update from Weblate. + [\#1052](https://github.com/matrix-org/matrix-react-sdk/pull/1052) + * Use user_directory endpoint to populate ChatInviteDialog + [\#1050](https://github.com/matrix-org/matrix-react-sdk/pull/1050) + * Various Analytics changes/fixes/improvements + [\#1046](https://github.com/matrix-org/matrix-react-sdk/pull/1046) + * Use an arrow function to allow `this` + [\#1051](https://github.com/matrix-org/matrix-react-sdk/pull/1051) + * New guest access + [\#937](https://github.com/matrix-org/matrix-react-sdk/pull/937) + * Translate src/components/structures + [\#1048](https://github.com/matrix-org/matrix-react-sdk/pull/1048) + * Cancel 'join room' action if 'log in' is clicked + [\#1049](https://github.com/matrix-org/matrix-react-sdk/pull/1049) + * fix copy and paste derp and rip out unused imports + [\#1015](https://github.com/matrix-org/matrix-react-sdk/pull/1015) + * Update from Weblate. + [\#1042](https://github.com/matrix-org/matrix-react-sdk/pull/1042) + * Reset 'first sync' flag / promise on log in + [\#1041](https://github.com/matrix-org/matrix-react-sdk/pull/1041) + * Remove DM-guessing code (again) + [\#1036](https://github.com/matrix-org/matrix-react-sdk/pull/1036) + * Cancel deferred actions + [\#1039](https://github.com/matrix-org/matrix-react-sdk/pull/1039) + * Merge develop, add i18n for SetMxIdDialog + [\#1034](https://github.com/matrix-org/matrix-react-sdk/pull/1034) + * Defer an intention for creating a room + [\#1038](https://github.com/matrix-org/matrix-react-sdk/pull/1038) + * Fix 'create room' button + [\#1037](https://github.com/matrix-org/matrix-react-sdk/pull/1037) + * Always show the spinner during the first sync + [\#1033](https://github.com/matrix-org/matrix-react-sdk/pull/1033) + * Only view welcome user if we are not looking at a room + [\#1032](https://github.com/matrix-org/matrix-react-sdk/pull/1032) + * Update from Weblate. + [\#1030](https://github.com/matrix-org/matrix-react-sdk/pull/1030) + * Keep deferred actions for view_user_settings and view_create_chat + [\#1031](https://github.com/matrix-org/matrix-react-sdk/pull/1031) + * Don't do a deferred start chat if user is welcome user + [\#1029](https://github.com/matrix-org/matrix-react-sdk/pull/1029) + * Introduce state `peekLoading` to avoid collision with `roomLoading` + [\#1028](https://github.com/matrix-org/matrix-react-sdk/pull/1028) + * Update from Weblate. + [\#1016](https://github.com/matrix-org/matrix-react-sdk/pull/1016) + * Fix accepting a 3pid invite + [\#1013](https://github.com/matrix-org/matrix-react-sdk/pull/1013) + * Propagate room join errors to the UI + [\#1007](https://github.com/matrix-org/matrix-react-sdk/pull/1007) + * Implement /user/@userid:domain?action=chat + [\#1006](https://github.com/matrix-org/matrix-react-sdk/pull/1006) + * Show People/Rooms emptySubListTip even when total rooms !== 0 + [\#967](https://github.com/matrix-org/matrix-react-sdk/pull/967) + * Fix to show the correct room + [\#995](https://github.com/matrix-org/matrix-react-sdk/pull/995) + * Remove cachedPassword from localStorage on_logged_out + [\#977](https://github.com/matrix-org/matrix-react-sdk/pull/977) + * Add /start to show the setMxId above HomePage + [\#964](https://github.com/matrix-org/matrix-react-sdk/pull/964) + * Allow pressing Enter to submit setMxId + [\#961](https://github.com/matrix-org/matrix-react-sdk/pull/961) + * add login link to SetMxIdDialog + [\#954](https://github.com/matrix-org/matrix-react-sdk/pull/954) + * Block user settings with view_set_mxid + [\#936](https://github.com/matrix-org/matrix-react-sdk/pull/936) + * Show "Something went wrong!" when errcode undefined + [\#935](https://github.com/matrix-org/matrix-react-sdk/pull/935) + * Reset store state when logging out + [\#930](https://github.com/matrix-org/matrix-react-sdk/pull/930) + * Set the displayname to the mxid once PWLU + [\#933](https://github.com/matrix-org/matrix-react-sdk/pull/933) + * Fix view_next_room, view_previous_room and view_indexed_room + [\#929](https://github.com/matrix-org/matrix-react-sdk/pull/929) + * Use RVS to indicate "joining" when setting a mxid + [\#928](https://github.com/matrix-org/matrix-react-sdk/pull/928) + * Don't show notif nag bar if guest + [\#932](https://github.com/matrix-org/matrix-react-sdk/pull/932) + * Show "Password" instead of "New Password" + [\#927](https://github.com/matrix-org/matrix-react-sdk/pull/927) + * Remove warm-fuzzy after setting mxid + [\#926](https://github.com/matrix-org/matrix-react-sdk/pull/926) + * Allow teamServerConfig to be missing + [\#925](https://github.com/matrix-org/matrix-react-sdk/pull/925) + * Remove GuestWarningBar + [\#923](https://github.com/matrix-org/matrix-react-sdk/pull/923) + * Make left panel better for new users (mk III) + [\#924](https://github.com/matrix-org/matrix-react-sdk/pull/924) + * Implement default welcome page and allow custom URL /w config + [\#922](https://github.com/matrix-org/matrix-react-sdk/pull/922) + * Implement a store for RoomView + [\#921](https://github.com/matrix-org/matrix-react-sdk/pull/921) + * Add prop to toggle whether new password input is autoFocused + [\#915](https://github.com/matrix-org/matrix-react-sdk/pull/915) + * Implement warm-fuzzy success dialog for SetMxIdDialog + [\#905](https://github.com/matrix-org/matrix-react-sdk/pull/905) + * Write some tests for the RTS UI + [\#893](https://github.com/matrix-org/matrix-react-sdk/pull/893) + * Make confirmation optional on ChangePassword + [\#890](https://github.com/matrix-org/matrix-react-sdk/pull/890) + * Remove "Current Password" input if mx_pass exists + [\#881](https://github.com/matrix-org/matrix-react-sdk/pull/881) + * Replace NeedToRegisterDialog /w SetMxIdDialog + [\#889](https://github.com/matrix-org/matrix-react-sdk/pull/889) + * Invite the welcome user after registration if configured + [\#882](https://github.com/matrix-org/matrix-react-sdk/pull/882) + * Prevent ROUs from creating new chats/new rooms + [\#879](https://github.com/matrix-org/matrix-react-sdk/pull/879) + * Redesign mxID chooser, add availability checking + [\#877](https://github.com/matrix-org/matrix-react-sdk/pull/877) + * Show password nag bar when user is PWLU + [\#864](https://github.com/matrix-org/matrix-react-sdk/pull/864) + * fix typo + [\#858](https://github.com/matrix-org/matrix-react-sdk/pull/858) + * Initial implementation: SetDisplayName -> SetMxIdDialog + [\#849](https://github.com/matrix-org/matrix-react-sdk/pull/849) + Changes in [0.9.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.2) (2017-06-06) =================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.1...v0.9.2) From 27592728f50dce51b1edebcc6fea38bb10f84788 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 20:28:09 +0100 Subject: [PATCH 091/103] v0.9.3-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd7ff9c11e..557ffe8aa4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "0.9.2", + "version": "0.9.3-rc.1", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From c61942ed5db51b77e67aea1232acb0d484443b14 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 21:42:34 +0100 Subject: [PATCH 092/103] We now require flux 2.1 because we use utils --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 557ffe8aa4..595bedd374 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "emojione": "2.2.3", "file-saver": "^1.3.3", "filesize": "3.5.6", - "flux": "^2.0.3", + "flux": "2.1.1", "fuse.js": "^2.2.0", "glob": "^5.0.14", "highlight.js": "^8.9.1", From d6b85c9d4dc768527c1312d18759f4f8ff0b86b5 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 22:06:43 +0100 Subject: [PATCH 093/103] Fix translations on conf call banner * You can't substitute react elements into a text string * Substituting in undefined gives the string 'undefined', so initialise it to the empty string. --- src/components/views/rooms/AuxPanel.js | 11 ++++++++--- src/i18n/strings/de_DE.json | 2 +- src/i18n/strings/en_EN.json | 2 +- src/i18n/strings/en_US.json | 2 +- src/i18n/strings/fr.json | 2 +- src/i18n/strings/pt.json | 2 +- src/i18n/strings/pt_BR.json | 2 +- src/i18n/strings/ru.json | 2 +- src/i18n/strings/zh_Hant.json | 2 +- 9 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/components/views/rooms/AuxPanel.js b/src/components/views/rooms/AuxPanel.js index 55b68d1eb1..acb9c76aa0 100644 --- a/src/components/views/rooms/AuxPanel.js +++ b/src/components/views/rooms/AuxPanel.js @@ -89,12 +89,13 @@ module.exports = React.createClass({ var conferenceCallNotification = null; if (this.props.displayConfCallNotification) { - var supportedText, joinText; + let supportedText = ''; + let joinNode; if (!MatrixClientPeg.get().supportsVoip()) { supportedText = _t(" (unsupported)"); } else { - joinText = ( + joinNode = ( {_tJsx( "Join as voice or video.", [/(.*?)<\/voiceText>/, /(.*?)<\/videoText>/], @@ -106,9 +107,13 @@ module.exports = React.createClass({ ); } + // XXX: the translation here isn't great: appending ' (unsupported)' is likely to not make sense in many languages, + // but there are translations for this in the languages we do have so I'm leaving it for now. conferenceCallNotification = (
- {_t("Ongoing conference call%(supportedText)s. %(joinText)s", {supportedText: supportedText, joinText: joinText})} + {_t("Ongoing conference call%(supportedText)s.", {supportedText: supportedText})} +   + {joinNode}
); } diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 15189a1372..699914d7ea 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -814,7 +814,7 @@ "Drop file here to upload": "Datei hier loslassen zum hochladen", "Idle": "Untätig", "We recommend you go through the verification process for each device to confirm they belong to their legitimate owner, but you can resend the message without verifying if you prefer.": "Wir empfehlen dir für jedes Gerät durch den Verifizierungsprozess zu gehen um zu bestätigen, dass sie ihrem legitimierten Besitzer gehören, aber du kannst die Nachrichten ohne Verifizierung erneut senden, wenn du es vorziehst.", - "Ongoing conference call%(supportedText)s. %(joinText)s": "Laufendes Konferenzgespräch%(supportedText)s. %(joinText)s", + "Ongoing conference call%(supportedText)s.": "Laufendes Konferenzgespräch%(supportedText)s.", "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?": "Du wirst jetzt auf die Website eines Drittanbieters weitergeleitet, damit du dein Konto für die Verwendung von %(integrationsUrl)s authentifizieren kannst. Möchtest du fortfahren?", "Disable URL previews for this room (affects only you)": "URL-Vorschau für diesen Raum deaktivieren (betrifft nur dich)", "Start automatically after system login": "Starte automatisch nach System-Login", diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index c7c6cd6ef3..c2fab535b0 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -887,7 +887,7 @@ "Enable URL previews for this room (affects only you)": "Enable URL previews for this room (affects only you)", "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", + "Ongoing conference call%(supportedText)s.": "Ongoing conference call%(supportedText)s.", "for %(amount)ss": "for %(amount)ss", "for %(amount)sm": "for %(amount)sm", "for %(amount)sh": "for %(amount)sh", diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json index 5cdfd65d27..20041ef231 100644 --- a/src/i18n/strings/en_US.json +++ b/src/i18n/strings/en_US.json @@ -813,7 +813,7 @@ "Enable URL previews for this room (affects only you)": "Enable URL previews for this room (affects only you)", "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", + "Ongoing conference call%(supportedText)s.": "Ongoing conference call%(supportedText)s.", "for %(amount)ss": "for %(amount)ss", "for %(amount)sm": "for %(amount)sm", "for %(amount)sh": "for %(amount)sh", diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 712ccb2a63..4b074b63ea 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -759,7 +759,7 @@ "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 le télécharger", " (unsupported)": " (non supporté)", - "Ongoing conference call%(supportedText)s. %(joinText)s": "Appel conférence en cours%(supportedText)s. %(joinText)s", + "Ongoing conference call%(supportedText)s.": "Appel conférence en cours%(supportedText)s.", "Online": "En 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)", diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json index 850e95f61f..d366fb7e66 100644 --- a/src/i18n/strings/pt.json +++ b/src/i18n/strings/pt.json @@ -808,7 +808,7 @@ "Enable URL previews for this room (affects only you)": "Habilitar pré-visualizações de links para esta sala (afeta somente a você)", "Drop file here to upload": "Arraste um arquivo aqui para enviar", " (unsupported)": " (não suportado)", - "Ongoing conference call%(supportedText)s. %(joinText)s": "Conferência%(supportedText)s em andamento. %(joinText)s", + "Ongoing conference call%(supportedText)s.": "Conferência%(supportedText)s em andamento.", "Online": "Online", "Idle": "Ocioso", "Offline": "Offline", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 75d7a115b2..118c2445a6 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -808,7 +808,7 @@ "Enable URL previews for this room (affects only you)": "Habilitar pré-visualizações de links para esta sala (afeta somente a você)", "Drop file here to upload": "Arraste um arquivo aqui para enviar", " (unsupported)": " (não suportado)", - "Ongoing conference call%(supportedText)s. %(joinText)s": "Conferência%(supportedText)s em andamento. %(joinText)s", + "Ongoing conference call%(supportedText)s.": "Conferência%(supportedText)s em andamento.", "Online": "Online", "Idle": "Ocioso", "Offline": "Offline", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 07ab24e824..6bcfa680c6 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -853,7 +853,7 @@ "Enable URL previews for this room (affects only you)": "Включить предпросмотр URL в этой комнате (только для вас)", "Drop file here to upload": "Перетащите файл сюда для загрузки", " (unsupported)": " (не поддерживается)", - "Ongoing conference call%(supportedText)s. %(joinText)s": "Идет конференц-звонок%(supportedText)s. %(joinText)s", + "Ongoing conference call%(supportedText)s.": "Идет конференц-звонок%(supportedText)s.", "for %(amount)ss": "уже %(amount)sс", "for %(amount)sm": "уже %(amount)sм", "for %(amount)sh": "уже %(amount)sч", diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index b2e1939565..140e7a7b2d 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -353,7 +353,7 @@ "This image cannot be displayed.": "這張圖片無法顯示", "Error decrypting video": "解密影片出錯", "Add an Integration": "新增整合器", - "Ongoing conference call%(supportedText)s. %(joinText)s": "%(supportedText)s. %(joinText)s 正在進行電話會議", + "Ongoing conference call%(supportedText)s.": "%(supportedText)s. 正在進行電話會議", " (unsupported)": " (不支持)", "URL Previews": "網址預覽", "Enable URL previews for this room (affects only you)": "啟用此房間的網址預覽(僅影響您)", From 8bb26073bec724e93f75dff82efd6a97aea66e5f Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 22:13:53 +0100 Subject: [PATCH 094/103] Prepare changelog for v0.9.3-rc.2 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b217d7a0db..651303d3b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [0.9.3-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.3-rc.2) (2017-06-09) +============================================================================================================= +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.3-rc.1...v0.9.3-rc.2) + + * Fix flux dependency + * Fix translations on conference call bar + Changes in [0.9.3-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.3-rc.1) (2017-06-09) ============================================================================================================= [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.2...v0.9.3-rc.1) From 336b10daf11ce819afeee473e927c94ee1a5b425 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 9 Jun 2017 22:13:54 +0100 Subject: [PATCH 095/103] v0.9.3-rc.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 595bedd374..7e2ad6d064 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "0.9.3-rc.1", + "version": "0.9.3-rc.2", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From b893887707079ac23e2312a59ad7edf846a718e9 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Mon, 12 Jun 2017 14:52:41 +0100 Subject: [PATCH 096/103] Fix merge conflict --- src/components/views/rooms/MessageComposer.js | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/components/views/rooms/MessageComposer.js b/src/components/views/rooms/MessageComposer.js index 0f9ec5cd4e..c4e13a5fe6 100644 --- a/src/components/views/rooms/MessageComposer.js +++ b/src/components/views/rooms/MessageComposer.js @@ -354,26 +354,21 @@ export default class MessageComposer extends React.Component { } else { controls.push(
-<<<<<<< HEAD - You do not have permission to post to this room -
, -======= { _t('You do not have permission to post to this room') } -
->>>>>>> 31f1e421f226bd471b68cdf1f69a8e049a443e5d +
, ); } - // let autoComplete; - // if (UserSettingsStore.isFeatureEnabled('rich_text_editor')) { - // autoComplete =
- // - //
; - // } + let autoComplete; + if (UserSettingsStore.isFeatureEnabled('rich_text_editor')) { + autoComplete =
+ +
; + } const {style, blockType} = this.state.inputState; From 29355a610f000b44a1937e4824bd0a9f6362ebd3 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 12 Jun 2017 15:19:52 +0100 Subject: [PATCH 097/103] js-sdk 0.7.11 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e2ad6d064..1b57cc6890 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": "0.7.11-rc.1", + "matrix-js-sdk": "0.7.11", "optimist": "^0.6.1", "prop-types": "^15.5.8", "q": "^1.4.1", From 613318658319160d7db2b4dfbd0d3ac3cdde1660 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 9 Jun 2017 22:19:14 +0100 Subject: [PATCH 098/103] fullstop fails --- .../views/elements/MemberEventListSummary.js | 28 +++++++++---------- src/i18n/strings/de_DE.json | 4 +-- src/i18n/strings/th.json | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/components/views/elements/MemberEventListSummary.js b/src/components/views/elements/MemberEventListSummary.js index f2f6da83e5..842b44b793 100644 --- a/src/components/views/elements/MemberEventListSummary.js +++ b/src/components/views/elements/MemberEventListSummary.js @@ -227,8 +227,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)sjoined", { severalUsers: "" }) : _t("%(oneUser)sjoined", { oneUser: "" }); } - - break; + break; case "left": if (repeats > 1) { res = (plural) @@ -238,7 +237,8 @@ module.exports = React.createClass({ res = (plural) ? _t("%(severalUsers)sleft", { severalUsers: "" }) : _t("%(oneUser)sleft", { oneUser: "" }); - } break; + } + break; case "joined_and_left": if (repeats > 1) { res = (plural) @@ -249,7 +249,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)sjoined and left", { severalUsers: "" }) : _t("%(oneUser)sjoined and left", { oneUser: "" }); } - break; + break; case "left_and_joined": if (repeats > 1) { res = (plural) @@ -259,8 +259,8 @@ module.exports = React.createClass({ res = (plural) ? _t("%(severalUsers)sleft and rejoined", { severalUsers: "" }) : _t("%(oneUser)sleft and rejoined", { oneUser: "" }); - } break; - break; + } + break; case "invite_reject": if (repeats > 1) { res = (plural) @@ -271,7 +271,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)srejected their invitations", { severalUsers: "" }) : _t("%(oneUser)srejected their invitation", { oneUser: "" }); } - break; + break; case "invite_withdrawal": if (repeats > 1) { res = (plural) @@ -282,7 +282,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)shad their invitations withdrawn", { severalUsers: "" }) : _t("%(oneUser)shad their invitation withdrawn", { oneUser: "" }); } - break; + break; case "invited": if (repeats > 1) { res = (plural) @@ -293,7 +293,7 @@ module.exports = React.createClass({ ? _t("were invited") : _t("was invited"); } - break; + break; case "banned": if (repeats > 1) { res = (plural) @@ -304,7 +304,7 @@ module.exports = React.createClass({ ? _t("were banned") : _t("was banned"); } - break; + break; case "unbanned": if (repeats > 1) { res = (plural) @@ -315,7 +315,7 @@ module.exports = React.createClass({ ? _t("were unbanned") : _t("was unbanned"); } - break; + break; case "kicked": if (repeats > 1) { res = (plural) @@ -326,7 +326,7 @@ module.exports = React.createClass({ ? _t("were kicked") : _t("was kicked"); } - break; + break; case "changed_name": if (repeats > 1) { res = (plural) @@ -337,7 +337,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)schanged their name", { severalUsers: "" }) : _t("%(oneUser)schanged their name", { oneUser: "" }); } - break; + break; case "changed_avatar": if (repeats > 1) { res = (plural) @@ -348,7 +348,7 @@ module.exports = React.createClass({ ? _t("%(severalUsers)schanged their avatar", { severalUsers: "" }) : _t("%(oneUser)schanged their avatar", { oneUser: "" }); } - break; + break; } return res; diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 699914d7ea..fbd49a6800 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -615,8 +615,8 @@ "%(actionVerb)s this person?": "Diese Person %(actionVerb)s?", "This room has no local addresses": "Dieser Raum hat keine lokale Adresse", "This room is private or inaccessible to guests. You may be able to join if you register": "Dieser Raum ist privat oder für Gäste nicht zugänglich. Du kannst jedoch eventuell beitreten, wenn du dich registrierst", - "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question": "Versuchte einen spezifischen Punkt in der Raum-Chronik zu laden, aber du hast keine Berechtigung die angeforderte Nachricht anzuzeigen", - "Tried to load a specific point in this room's timeline, but was unable to find it": "Der Versuch, einen spezifischen Punkt im Chatverlauf zu laden, ist fehlgeschlagen. Der Punkt konnte nicht gefunden werden", + "Tried to load a specific point in this room's timeline, but you do not have permission to view the message in question.": "Versuchte einen spezifischen Punkt in der Raum-Chronik zu laden, aber du hast keine Berechtigung die angeforderte Nachricht anzuzeigen.", + "Tried to load a specific point in this room's timeline, but was unable to find it.": "Der Versuch, einen spezifischen Punkt im Chatverlauf zu laden, ist fehlgeschlagen. Der Punkt konnte nicht gefunden werden.", "Turn Markdown off": "Markdown deaktiveren", "Turn Markdown on": "Markdown einschalten", "Unable to load device list": "Geräteliste konnte nicht geladen werden", diff --git a/src/i18n/strings/th.json b/src/i18n/strings/th.json index 05116953f7..a54f7fee42 100644 --- a/src/i18n/strings/th.json +++ b/src/i18n/strings/th.json @@ -389,7 +389,7 @@ "Who would you like to add to this room?": "คุณต้องการเพิ่มใครเข้าห้องนี้?", "Who would you like to communicate with?": "คุณต้องการสื่อสารกับใคร?", "You're not in any rooms yet! Press": "คุณยังไม่ได้อยู่ในห้องใดเลย! กด", - "You are trying to access %(roomName)s": "คุณกำลังพยายามเข้าสู่ %(roomName)s", + "You are trying to access %(roomName)s.": "คุณกำลังพยายามเข้าสู่ %(roomName)s", "You have disabled URL previews by default.": "ค่าเริ่มต้นของคุณปิดใช้งานตัวอย่าง URL เอาไว้", "You have enabled URL previews by default.": "ค่าเริ่มต้นของคุณเปิดใช้งานตัวอย่าง URL เอาไว้", "you must be a": "คุณต้องเป็น", From 6afd8952911fb8ac3dddd2d49ad93ecfe5969398 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Fri, 9 Jun 2017 22:20:09 +0100 Subject: [PATCH 099/103] broken var --- src/i18n/strings/zh_Hant.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index 140e7a7b2d..2d0ac27363 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -290,7 +290,7 @@ "Would you like to": "你要", "You are already in a call.": "你已在電話通話中", "You're not in any rooms yet! Press": "你尚未加入任何聊天室!請按", - "You are trying to access %(roomName)s.": "你將進入 %(roomName)聊天室", + "You are trying to access %(roomName)s.": "你將進入 %(roomName)s聊天室", "You cannot place a call with yourself.": "你不能打電話給自已", "You cannot place VoIP calls in this browser.": "在此瀏覽器下無法置入網路電話通話", "Sun": "星期日", From f98c491fddb60c8f64b71c0e287bcdcfa41dd97c Mon Sep 17 00:00:00 2001 From: Riot Translate Bot Date: Sun, 11 Jun 2017 20:40:20 +0100 Subject: [PATCH 100/103] Update from Weblate. (#1073) * Translated using Weblate (German) Currently translated at 93.4% (842 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ * Translated using Weblate (Russian) Currently translated at 100.0% (901 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ * Added translation using Weblate (Arabic) * Translated using Weblate (Greek) Currently translated at 42.2% (381 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/el/ * Translated using Weblate (English (United States)) Currently translated at 91.8% (828 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/en_US/ * Translated using Weblate (Russian) Currently translated at 100.0% (901 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ * Translated using Weblate (German) Currently translated at 100.0% (901 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ * Translated using Weblate (Hungarian) Currently translated at 20.0% (181 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 38.9% (351 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 0.5% (5 of 901 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ar/ * remote entirely spurious translation progress stats :/ --- src/i18n/strings/ar.json | 7 ++ src/i18n/strings/de_DE.json | 42 ++++----- src/i18n/strings/el.json | 23 +++-- src/i18n/strings/en_US.json | 19 +++- src/i18n/strings/hu.json | 8 +- src/i18n/strings/ru.json | 31 ++++--- src/i18n/strings/zh_Hans.json | 157 ++++++++++++++++++++++++++++++++-- 7 files changed, 237 insertions(+), 50 deletions(-) create mode 100644 src/i18n/strings/ar.json diff --git a/src/i18n/strings/ar.json b/src/i18n/strings/ar.json new file mode 100644 index 0000000000..30f0730a98 --- /dev/null +++ b/src/i18n/strings/ar.json @@ -0,0 +1,7 @@ +{ + "ar-iq": "العربية", + "Continue": "استمر", + "Username available": "اسم المستخدم متاح", + "Username not available": "الإسم المستخدم غير موجود", + "Something went wrong!": "هناك خطأ ما!" +} diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index fbd49a6800..bfdaf62399 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1,5 +1,5 @@ { - "Filter room members": "Raum-Benutzer filtern", + "Filter room members": "Raum-Mitglieder filtern", "You have no visible notifications": "Du hast keine sichtbaren Benachrichtigungen", "Invites": "Einladungen", "Favourites": "Favoriten", @@ -88,7 +88,7 @@ "Display name": "Anzeigename", "Email Address": "E-Mail-Adresse", "Email, name or matrix ID": "E-Mail, Name oder Matrix-ID", - "Encrypted messages will not be visible on clients that do not yet implement encryption": "Verschlüsselte Nachrichten werden an Clients nicht sichtbar sein, die Verschlüsselung noch nicht implementiert haben", + "Encrypted messages will not be visible on clients that do not yet implement encryption": "Verschlüsselte Nachrichten werden nicht in Matrix-Clients sichtbar sein, die die Verschlüsselung noch nicht implementiert haben", "Encrypted room": "Verschlüsselter Raum", "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", @@ -193,7 +193,7 @@ "Room name (optional)": "Raumname (optional)", "Scroll to unread messages": "Zu den ungelesenen Nachrichten scrollen", "Send Invites": "Einladungen senden", - "Send Reset Email": "E-Mail für das Zurücksetzen senden", + "Send Reset Email": "E-Mail zum Zurücksetzen senden", "sent an image": "hat ein Bild gesendet", "sent an invitation to": "sandte eine Einladung an", "sent a video": "hat ein Video gesendet", @@ -270,7 +270,7 @@ "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 do not have permission to post to this room": "Du hast keine Berechtigung an diesen Raum etwas zu senden", + "You do not have permission to post to this room": "Du hast keine Berechtigung, in diesem Raum etwas zu senden", "You have been invited to join this room by %(inviterName)s": "%(inviterName)s hat dich in diesen Raum eingeladen", "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 auf allen Geräten abgemeldet und wirst keine Push-Benachrichtigungen mehr erhalten. Um die Benachrichtigungen zu reaktivieren, musst du dich auf jedem Gerät neu anmelden", "you must be a": "nötige Rolle", @@ -392,7 +392,7 @@ "%(senderName)s unbanned %(targetName)s.": "%(senderName)s zog Bann für %(targetName)s zurück.", "Usage": "Verwendung", "Use with caution": "Mit Vorsicht zu verwenden", - "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s zog die Einladung für %(targetName)s zurück.", + "%(senderName)s withdrew %(targetName)s's invitation.": "%(senderName)s hat die Einladung für %(targetName)s zurückgezogen.", "You need to be able to invite users to do that.": "Du musst die Berechtigung haben, Nutzer einzuladen, um diese Aktion ausführen zu können.", "You need to be logged in.": "Du musst angemeldet sein.", "There are no visible files in this room": "Es gibt keine sichtbaren Dateien in diesem Raum", @@ -564,7 +564,7 @@ "Click to mute audio": "Klicke um den Ton stumm zu stellen", "Click to mute video": "Klicken, um das Video stummzuschalten", "Command error": "Befehlsfehler", - "Decrypt %(text)s": "Entschlüssele %(text)s", + "Decrypt %(text)s": "%(text)s entschlüsseln", "Delete": "Löschen", "Devices": "Geräte", "Direct chats": "Direkte Chats", @@ -586,7 +586,7 @@ "Invalid alias format": "Ungültiges Alias-Format", "Invalid address format": "Ungültiges Adressformat", "'%(alias)s' is not a valid format for an address": "'%(alias)s' ist kein gültiges Adressformat", - "'%(alias)s' is not a valid format for an alias": "'%(alias)s' hat kein valides Aliasformat", + "'%(alias)s' is not a valid format for an alias": "'%(alias)s' ist kein gültiges Alias-Format", "Join Room": "Dem Raum beitreten", "Kick": "Kicke", "Level": "Berechtigungslevel", @@ -607,7 +607,7 @@ "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 nicht verfügbar, überlastet oder etwas anderes lief falsch.", + "Server unavailable, overloaded, or something else went wrong.": "Server ist nicht verfügbar, überlastet oder ein anderer Fehler ist aufgetreten.", "Some of your messages have not been sent.": "Einige deiner Nachrichten wurden 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", @@ -626,7 +626,7 @@ "You seem to be in a call, are you sure you want to quit?": "Du scheinst in einem Anruf zu sein. Bist du sicher schließen zu wollen?", "You seem to be uploading files, are you sure you want to quit?": "Du scheinst Dateien hochzuladen. Bist du sicher schließen zu wollen?", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Du wirst diese Änderung nicht rückgängig machen können, da der Nutzer dasselbe Berechtigungslevel wie du selbst erhalten wird.", - "Make Moderator": "Zum Moderator machen", + "Make Moderator": "Zum Moderator ernennen", "Room": "Raum", "(~%(searchCount)s results)": "(~%(searchCount)s Ergebnisse)", "Cancel": "Abbrechen", @@ -655,7 +655,7 @@ "%(oneUser)sjoined %(repeats)s times": "%(oneUser)shat den Raum %(repeats)s mal betreten", "%(severalUsers)sjoined": "%(severalUsers)shaben den Raum betreten", "%(oneUser)sjoined": "%(oneUser)shat den Raum betreten", - "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)sverließen %(repeats)s mal den Raum", + "%(severalUsers)sleft %(repeats)s times": "%(severalUsers)shaben %(repeats)s mal den Raum verlassen", "%(oneUser)sleft %(repeats)s times": "%(oneUser)sging %(repeats)s mal", "%(severalUsers)sleft": "%(severalUsers)shaben den Raum verlassen", "%(oneUser)sleft": "%(oneUser)sging", @@ -674,7 +674,7 @@ "%(severalUsers)shad their invitations withdrawn %(repeats)s times": "%(severalUsers)szogen ihre Einladungen %(repeats)s mal zurück", "%(oneUser)shad their invitation withdrawn %(repeats)s times": "%(oneUser)szog seine/ihre Einladung %(repeats)s mal zurück", "%(severalUsers)shad their invitations withdrawn": "%(severalUsers)szogen ihre Einladungen zurück", - "%(oneUser)shad their invitation withdrawn": "%(oneUser)szog seine/ihre Einladung zurück", + "%(oneUser)shad their invitation withdrawn": "%(oneUser)swurde die ursprüngliche Einladung wieder entzogen", "were invited %(repeats)s times": "wurden %(repeats)s mal eingeladen", "was invited %(repeats)s times": "wurde %(repeats)s mal eingeladen", "were invited": "wurden eingeladen", @@ -751,8 +751,8 @@ "Verify device": "Gerät verifizieren", "I verify that the keys match": "Ich bestätige, dass die Schlüssel passen", "Unable to restore session": "Sitzungswiederherstellung fehlgeschlagen", - "Continue anyway": "Fahre trotzdem fort", - "Your display name is how you'll appear to others when you speak in rooms. What would you like it to be?": "Dein Anzeigename ist der Name, der anderen Nutzern angezeigt wird, wenn du in Räumen sprichst. Welchen Anzeigenamen möchtest du wählen?", + "Continue anyway": "Trotzdem fortfahren", + "Your display name is how you'll appear to others when you speak in rooms. What would you like it to be?": "Dein Anzeigename ist der Name, der anderen Nutzern angezeigt wird, wenn du in Räumen kommunizierst. Welchen Anzeigenamen möchtest du wählen?", "You are currently blacklisting unverified devices; to send messages to these devices you must verify them.": "Do blockst aktuell unverifizierte Geräte. Um Nachrichten an diese Geräte zu senden musst du sie verifizieren.", "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" enthält Geräte, die du bislang noch nicht gesehen hast.", "Unknown devices": "Unbekannte Geräte", @@ -809,7 +809,7 @@ "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.": "Wenn du zuvor eine aktuellere Version von Riot verwendet hast, ist deine Sitzung eventuell inkompatibel mit dieser Version. Bitte schließe dieses Fenster und kehre zur aktuelleren Version zurück.", "Blacklist": "Blockieren", "Unblacklist": "Entblockieren", - "Unverify": "Entverifizieren", + "Unverify": "Verifizierung widerrufen", "This Home Server would like to make sure you are not a robot": "Dieser Heimserver möchte sicherstellen, dass du kein Roboter bist", "Drop file here to upload": "Datei hier loslassen zum hochladen", "Idle": "Untätig", @@ -841,7 +841,7 @@ "Camera": "Kamera", "Device already verified!": "Gerät bereits verifiziert!", "Export": "Export", - "Failed to register as guest:": "Registrieren als Gast schlug fehl:", + "Failed to register as guest:": "Die Registrierung als Gast ist fehlgeschlagen:", "Guest access is disabled on this Home Server.": "Gastzugang ist auf diesem Heimserver deaktivert.", "Import": "Import", "Incorrect username and/or password.": "Inkorrekter Nutzername und/oder Passwort.", @@ -862,7 +862,7 @@ "Register": "Registrieren", "Save": "Speichern", "Setting a user name will create a fresh account": "Die Eingabe eines Benutzernamens wird ein neues Konto erzeugen", - "Tagged as: ": "Getaggt als: ", + "Tagged as: ": "Markiert als: ", "This Home Server does not support login using email address.": "Dieser Heimserver unterstützt den Login mittels E-Mail-Adresse nicht.", "There was a problem logging in.": "Es gab ein Problem beim anmelden.", "Unknown (user, device) pair:": "Unbekanntes (Nutzer-/Gerät-)Paar:", @@ -880,7 +880,7 @@ "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s hat das Raum-Bild für %(roomName)s geändert", "Hide removed messages": "Gelöschte Nachrichten verbergen", "Start new chat": "Neuen Chat starten", - "Disable markdown formatting": "Deaktiviere Markdown-Formatierung", + "Disable markdown formatting": "Markdown-Formatierung deaktivieren", "Add": "Hinzufügen", "%(count)s new messages.one": "%(count)s neue Nachricht", "%(count)s new messages.other": "%(count)s neue Nachrichten", @@ -900,13 +900,13 @@ "Room directory": "Raum-Verzeichnis", "Start chat": "Chat starten", "New Password": "Neues Passwort", - "Start chatting": "Starte plaudern", + "Start chatting": "Chat beginnen", "Start Chatting": "Starte Gespräche", "Click on the button below to start chatting!": "Unten auf den Button klicken, um einen Chat zu beginnen!", "Create a new chat or reuse an existing one": "Neuen Chat erstellen oder einen vorhandenen Chat fortsetzen", "You already have existing direct chats with this user:": "Du hast bereits direkte Chats mit diesem Nutzer:", - "Username available": "Nutzername verfügbar", - "Username not available": "Nutzername nicht verfügbar", + "Username available": "Benutzername ist verfügbar", + "Username not available": "Benutzername ist nicht verfügbar", "Something went wrong!": "Etwas ging schief!", "This will be your account name on the homeserver, or you can pick a different server.": "Dies wird dein zukünftiger Benutzername auf dem Heimserver. Alternativ kannst du auch einen anderen Server auswählen.", "If you already have a Matrix account you can log in instead.": "Wenn du bereits ein Matrix-Benutzerkonto hast, kannst du dich stattdessen auch direkt anmelden.", @@ -964,7 +964,7 @@ "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (Berechtigungslevel %(powerLevelNumber)s)", "Verified": "Verifiziert", "Would you like to accept or decline this invitation?": "Möchtest du diese Einladung akzeptieren oder ablehnen?", - "You have been banned from %(roomName)s by %(userName)s.": "Du wurdest von %(userName)s aus dem Raum %(roomName)s verbannt.", + "You have been banned from %(roomName)s by %(userName)s.": "Du wurdest von %(userName)s aus dem Raum %(roomName)s ausgeschlossen.", "You have been kicked from %(roomName)s by %(userName)s.": "Du wurdest von %(userName)s aus dem Raum %(roomName)s gekickt.", "You may wish to login with a different account, or add this email to this account.": "Du möchtest dich evtl. mit einem anderen Konto anmelden oder diese E-Mail-Adresse diesem Konto hinzufügen.", "Your home server does not support device management.": "Dein Heimserver unterstützt kein Geräte-Management.", diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json index 725b5497a5..a38dddb35b 100644 --- a/src/i18n/strings/el.json +++ b/src/i18n/strings/el.json @@ -1,13 +1,13 @@ { "af": "Αφρικάνικα", "Error": "Σφάλμα", - "Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου %(errCode)s", + "Failed to forget room %(errCode)s": "Δεν ήταν δυνατή η διαγραφή του δωματίου (%(errCode)s)", "Failed to join the room": "Δεν ήταν δυνατή η σύνδεση στο δωμάτιο", "Mute": "Σίγαση", "Notifications": "Ειδοποιήσεις", "Operation failed": "Η λειτουργία απέτυχε", - "Please Register": "Παρακαλώ εγγραφείτε", - "Remove": "Αφαίρεσε", + "Please Register": "Παρακαλούμε εγγραφείτε", + "Remove": "Αφαίρεση", "Search": "Αναζήτηση", "Settings": "Ρυθμίσεις", "unknown error code": "άγνωστος κωδικός σφάλματος", @@ -195,7 +195,7 @@ "%(senderDisplayName)s removed the room name.": "Ο χρήστης %(senderDisplayName)s διέγραψε το όνομα του δωματίου.", "Changes your display nickname": "Αλλάζει το όνομα χρήστη", "Click here": "Κάνε κλικ εδώ", - "Drop here %(toAction)s": "Σύρε εδώ %(toAction)s", + "Drop here %(toAction)s": "Απόθεση εδώ %(toAction)s", "Conference call failed.": "Η κλήση συνδιάσκεψης απέτυχε.", "powered by Matrix": "βασισμένο στο πρωτόκολλο Matrix", "Confirm password": "Επιβεβαίωση κωδικού", @@ -222,7 +222,7 @@ "device id: ": "id συσκευής: ", "Device key:": "Κλειδί Συσκευής:", "Devices": "Συσκευές", - "Direct Chat": "Απευθείας Συνομιλία", + "Direct Chat": "Απευθείας συνομιλία", "Direct chats": "Απευθείας συνομιλίες", "disabled": "ανενεργό", "Disinvite": "Ανακάλεσε πρόσκληση", @@ -244,7 +244,7 @@ "Existing Call": "Υπάρχουσα Κλήση", "Export": "Εξαγωγή", "Export E2E room keys": "Εξαγωγή κλειδιών κρυπτογραφίας για το δωμάτιο", - "Failed to change password. Is your password correct?": "Δεν ήταν δυνατή η αλλαγή του κωδικού. Είναι ο κωδικός σωστός;", + "Failed to change password. Is your password correct?": "Δεν ήταν δυνατή η αλλαγή του κωδικού πρόσβασης. Είναι σωστός ο κωδικός πρόσβασης;", "Failed to delete device": "Δεν ήταν δυνατή η διαγραφή της συσκευής", "Failed to join room": "Δεν ήταν δυνατή η σύνδεση στο δωμάτιο", "Failed to leave room": "Δεν ήταν δυνατή η αποχώρηση από το δωμάτιο", @@ -330,7 +330,7 @@ "": "<δεν υποστηρίζεται>", "No more results": "Δεν υπάρχουν άλλα αποτελέσματα", "No results": "Κανένα αποτέλεσμα", - "OK": "ΟΚ", + "OK": "Εντάξει", "olm version:": "έκδοση olm:", "Password": "Κωδικός", "Password:": "Κωδικός:", @@ -364,7 +364,7 @@ "cancel all": "ακύρωση όλων", "or": "ή", "Custom Server Options": "Προσαρμοσμένες ρυθμίσεις διακομιστή", - "Dismiss": "Αγνόησε", + "Dismiss": "Απόρριψη", "Monday": "Δευτέρα", "Tuesday": "Τρίτη", "Wednesday": "Τετάρτη", @@ -382,5 +382,10 @@ "%(severalUsers)sjoined and left %(repeats)s times": "%(severalUsers)s συνδέθηκαν και έφυγαν %(repeats)s φορές", "%(oneUser)sjoined and left %(repeats)s times": "%(oneUser)s συνδέθηκε και έφυγε %(repeats)s φορές", "%(severalUsers)sjoined and left": "%(severalUsers)s συνδέθηκαν και έφυγαν", - "%(oneUser)sjoined and left": "%(oneUser)s συνδέθηκε και έφυγε" + "%(oneUser)sjoined and left": "%(oneUser)s συνδέθηκε και έφυγε", + "Close": "Κλείσιμο", + "Create new room": "Δημιουργία νέου δωματίου", + "Room directory": "Ευρετήριο", + "Start chat": "Έναρξη συνομιλίας", + "Welcome page": "Αρχική σελίδα" } diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json index 20041ef231..d857ff06cb 100644 --- a/src/i18n/strings/en_US.json +++ b/src/i18n/strings/en_US.json @@ -824,5 +824,22 @@ "Disable URL previews for this room (affects only you)": "Disable URL previews for this room (affects only you)", "$senderDisplayName changed the room avatar to ": "$senderDisplayName changed the room avatar to ", "%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.", - "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s" + "%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s", + "Active call (%(roomName)s)": "Active call (%(roomName)s)", + "Accept": "Accept", + "a room": "a room", + "Add": "Add", + "Admin tools": "Admin tools", + "And %(count)s more...": "And %(count)s more...", + "Alias (optional)": "Alias (optional)", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.", + "Click here to join the discussion!": "Click here to join the discussion!", + "Close": "Close", + "%(count)s new messages.one": "%(count)s new message", + "%(count)s new messages.other": "%(count)s new messages", + "Custom": "Custom", + "Decline": "Decline", + "Disable markdown formatting": "Disable markdown formatting", + "Disable Notifications": "Disable Notifications", + "Enable Notifications": "Enable Notifications" } diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 458d461b90..c6a86347f5 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -173,5 +173,11 @@ "Always show message timestamps": "Üzenet időbélyeg folyamatos megjelenítése", "Authentication": "Azonosítás", "Alias (optional)": "Becenév (opcionális)", - "all room members": "minden szoba tagság" + "all room members": "minden szoba tagság", + "Failed to change password. Is your password correct?": "Nem sikerült megváltoztatni a jelszót. Helyesen írtad be a jelszavadat?", + "Continue": "Folytatás", + "Create new room": "Új szoba létrehozása", + "sb": "Szorb", + "rm": "Rétoromán", + "tn": "Tswana" } diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 6bcfa680c6..f2d88bcc44 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -59,7 +59,7 @@ "Deops user with given id": "Deops пользователь с данным id", "Device ID": "Устройство ID", "Devices will not yet be able to decrypt history from before they joined the room": "Устройство еще не будет в состоянии дешифровать историю, до присоединения к комнате", - "Direct Chat": "Персональное сообщение", + "Direct Chat": "Приватный чат", "Disable inline URL previews by default": "Отключить встроенные предварительные просмотры URL по умолчанию", "Display name": "Отображаемое имя", "Displays action": "Отображение действий", @@ -75,7 +75,7 @@ "Error": "Ошибка", "Event information": "Event information", "Export E2E room keys": "Экспорт E2E ключей комнаты", - "Failed to change password. Is your password correct?": "Не удалось изменить пароль. Ваш пароль правильный?", + "Failed to change password. Is your password correct?": "Не удалось сменить пароль. Вы правильно ввели текущий пароль?", "Failed to forget room": "Не удалось забыть комнату", "Failed to leave room": "Не удалось выйти из комнаты", "Failed to reject invitation": "Не удалось отклонить приглашение", @@ -246,7 +246,7 @@ "Failed to set up conference call": "Не удалось установить конференц-вызов", "Failed to verify email address: make sure you clicked the link in the email": "Не удалось подтвердить email-адрес: убедитесь что вы щелкнули по ссылке электронной почты", "Failure to create room": "Не удалось создать комнату", - "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s из %(fromPowerLevel)s до %(toPowerLevel)s", + "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId) изменил %(fromPowerLevel) на %(toPowerLevel)", "Guest users can't create new rooms. Please register to create room and start a chat.": "Гостевые пользователи не могут создавать новые комнаты. Зарегистрируйтесь для создания комнаты и чата.", "click to reveal": "нажать для открытия", "%(senderName)s invited %(targetName)s.": "%(senderName)s приглашает %(targetName)s.", @@ -258,7 +258,7 @@ "Missing room_id in request": "Отсутствует room_id в запросе", "Missing user_id in request": "Отсутствует user_id в запросе", "Must be viewing a room": "Посмотреть комнату", - "New Composer & Autocomplete": "Новый автор & Авто. заполнение", + "New Composer & Autocomplete": "Новый автор & Автозаполнение", "(not supported by this browser)": "(не поддерживаемый этим браузером)", "af": "Африкаанс", "ar-ae": "Арабский (О.А.Е)", @@ -355,12 +355,12 @@ "Friday": "Пятница", "Saturday": "Суббота", "Sunday": "Воскресенье", - "%(weekDayName)s %(time)s": "%(weekDayName)s %(time)s", + "%(weekDayName)s %(time)s": "%(weekDayName) %(time)", "Upload an avatar:": "Загрузите аватар:", "You need to be logged in.": "Вы должны быть зарегистрированы.", "You need to be able to invite users to do that.": "Вам необходимо пригласить пользователей чтобы сделать это.", "You cannot place VoIP calls in this browser.": "Вы не можете сделать вызовы VoIP с этим браузером.", - "You are already in a call.": "Вы уже находитесь в разговоре.", + "You are already in a call.": "Связь уже установлена.", "You're not in any rooms yet! Press": "Вы еще не находитесь ни в каких комнатах! Нажать", "You are trying to access %(roomName)s.": "Вы пытаетесь получить доступ %(roomName)s.", "You cannot place a call with yourself.": "Вы не можете позвонить самим себе.", @@ -725,7 +725,7 @@ "Server may be unavailable, overloaded, or search timed out :(": "Сервер может быть недоступен, перегружен или поиск прекращен по тайм-ауту :(", "Server may be unavailable, overloaded, or the file too big": "Сервер может быть недоступен, перегружен или размер файла слишком большой", "Server may be unavailable, overloaded, or you hit a bug.": "Сервер может быть недоступен, перегружен или вы нашли ошибку.", - "Server unavailable, overloaded, or something else went wrong.": "Сервер может быть недоступен, перегружен или произошло что-то страшное.", + "Server unavailable, overloaded, or something else went wrong.": "Сервер может быть недоступен, перегружен или что-то пошло не так.", "Session ID": "ID сессии", "%(senderName)s set a profile picture.": "%(senderName)s установил картинку профиля.", "%(senderName)s set their display name to %(displayName)s.": "%(senderName)s установил отображаемое имя %(displayName)s.", @@ -766,7 +766,7 @@ "You have enabled URL previews by default.": "Предпросмотр ссылок включен по-умолчанию.", "You have entered an invalid contact. Try using their Matrix ID or email address.": "Вы ввели неправильный адрес. Попробуйте использовать Matrix ID или адрес email.", "You need to enter a user name.": "Необходимо ввести имя пользователя.", - "You seem to be in a call, are you sure you want to quit?": "Вы участвуете в звонке, вы уверены, что хотите выйти?", + "You seem to be in a call, are you sure you want to quit?": "Звонок не завершен, вы уверены, что хотите выйти?", "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "Вы не сможете отменить это действие так как даете пользователю такой же уровень доступа как и у вас.", "Set a Display Name": "Установить отображаемое имя", "(~%(searchCount)s results)": "(~%(searchCount)s результатов)", @@ -818,7 +818,7 @@ "\"%(RoomName)s\" contains devices that you haven't seen before.": "\"%(RoomName)s\" содержит неизвестные прежде устройства.", "Unknown Address": "Неизвестный адрес", "Unblacklist": "Удалить из черного списка", - "Blacklist": "Добавить в черный список", + "Blacklist": "Черный список", "Unverify": "Убрать верификацию", "Verify...": "Верифицировать...", "ex. @bob:example.com": "например @bob:example.com", @@ -872,7 +872,7 @@ "Add": "Добавить", "%(count)s new messages.one": "%(count)s новое сообщение", "%(count)s new messages.other": "%(count)s новых сообщений", - "Error: Problem communicating with the given homeserver.": "Ошибка: проблема коммуникаций с указанным Home Server'ом.", + "Error: Problem communicating with the given homeserver.": "Ошибка: проблема связи с указанным сервером.", "Failed to fetch avatar URL": "Ошибка получения аватара", "The phone number entered looks invalid": "Введенный номер телефона выглядит неправильным", "Uploading %(filename)s and %(count)s others.zero": "Загрузка %(filename)s", @@ -925,7 +925,7 @@ "Set": "Вводить", "Start authentication": "Начать идентификацию", "This room": "Эта комната", - "(~%(count)s results).other": "(~%(count)s results)", + "(~%(count)s results).other": "(~%(count) найдено)", "Device Name": "Имя устройства", "Custom": "Пользователь", "Decline": "Отклонить", @@ -947,6 +947,11 @@ "%(user)s is a": "%(user)s является", "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (уровень доступа %(powerLevelNumber)s)", "Verified": "Подтверждён", - "Would you like to accept or decline this invitation?": "Хотели бы вы это приглашение подтвердить или отклонить?", - "(~%(count)s results).one": "(~%(count)s Результат)" + "Would you like to accept or decline this invitation?": "Хотели бы вы подтвердить это приглашение или отклонить?", + "(~%(count)s results).one": "(~%(count)s Результат)", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "Не удается подключиться к домашнему серверу - проверьте подключение, убедитесь, что ваш сертификат SSL homeserver's SSL certificate действителен, и расширение браузера не блокирует запросы.", + "You have been banned from %(roomName)s by %(userName)s.": "%(userName) забанил Вас в % (roomName).", + "You have been kicked from %(roomName)s by %(userName)s.": "%(userName) выгнал Вас из %(roomName).", + "You may wish to login with a different account, or add this email to this account.": "Вы можете войти в систему с другой учетной записью или добавить этот адрес email в эту учетную запись.", + "Your home server does not support device management.": "Ваш домашний сервер не поддерживает управление устройствами." } diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json index e6eb5f632b..ad37ce9430 100644 --- a/src/i18n/strings/zh_Hans.json +++ b/src/i18n/strings/zh_Hans.json @@ -162,9 +162,9 @@ "de-at": "德语(奥地利)", "de-ch": "德语(瑞士)", "de": "德语", - "de-lu": "德语(卢森堡)", + "de-lu": "德语 (卢森堡)", "el": "希腊语", - "en-au": "英语(澳大利亚)", + "en-au": "英语 (澳大利亚)", "en": "英语", "zh-cn": "中文(中国)", "zh-hk": "中文(香港)", @@ -199,11 +199,158 @@ "Ed25519 fingerprint": "Ed25519指纹", "Invite new room members": "邀请新的聊天室成员", "Join Room": "加入聊天室", - "joined": "加入了", - "%(targetName)s joined the room.": "%(targetName)s 加入了聊天室。.", + "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": "新密码" + "New password": "新密码", + "ar-ae": "阿拉伯语 (阿联酋)", + "ar-bh": "阿拉伯语 (巴林)", + "ar-dz": "阿拉伯语 (阿尔及利亚)", + "ar-eg": "阿拉伯语 (埃及)", + "ar-iq": "阿拉伯语 (伊拉克)", + "ar-jo": "阿拉伯语 (约旦)", + "ar-kw": "阿拉伯语 (科威特)", + "ar-lb": "阿拉伯语 (黎巴嫩)", + "ar-ly": "阿拉伯语 (利比亚)", + "ar-ma": "阿拉伯语 (摩洛哥)", + "ar-ye": "阿拉伯语 (也门)", + "en-ca": "英语 (加拿大)", + "en-gb": "英语 (英国)", + "en-ie": "英语 (爱尔兰)", + "en-nz": "英语 (新西兰)", + "Add a topic": "新话题", + "Admin": "管理员", + "Admin tools": "管理工具", + "VoIP": "IP 电话", + "Missing Media Permissions, click here to request.": "没有媒体存储权限,点此获取。", + "No Microphones detected": "未检测到麦克风", + "No Webcams detected": "未检测到摄像头", + "No media permissions": "没有媒体存取权限", + "You may need to manually permit Riot to access your microphone/webcam": "你可能需要手动授权 Riot 使用你的麦克风或摄像头", + "Default Device": "默认设备", + "Microphone": "麦克风", + "Camera": "摄像头", + "Hide removed messages": "隐藏被删除的消息", + "Authentication": "认证", + "Alias (optional)": "别名 (可选)", + "%(items)s and %(remaining)s others": "%(items)s 和其它 %(remaining)s 个", + "%(items)s and one other": "%(items)s 和其它一个", + "%(items)s and %(lastItem)s": "%(items)s 和 %(lastItem)s", + "and %(overflowCount)s others...": "和其它 %(overflowCount)s 个...", + "and one other...": "和其它一个...", + "%(names)s and one other are typing": "%(names)s 和另一个人正在打字", + "anyone": "任何人", + "Anyone": "任何人", + "Anyone who knows the room's link, apart from guests": "任何知道聊天室链接的人,游客除外", + "Anyone who knows the room's link, including guests": "任何知道聊天室链接的人,包括游客", + "Are you sure?": "你确定吗?", + "Are you sure you want to leave the room '%(roomName)s'?": "你确定要离开聊天室 “%(roomName)s” 吗?", + "Are you sure you want to reject the invitation?": "你确定要拒绝邀请吗?", + "Are you sure you want to upload the following files?": "你确定要上传这些文件吗?", + "Bans user with given id": "封禁指定 ID 的用户", + "Blacklisted": "已列入黑名单", + "Bug Report": "反馈漏洞", + "Bulk Options": "批量操作", + "Call Timeout": "通话超时", + "Can't connect to homeserver - please check your connectivity, ensure your homeserver's SSL certificate is trusted, and that a browser extension is not blocking requests.": "无法连接主服务器 - 请检查网络连接,确保你的主服务器 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": "修改密码", + "%(senderName)s changed their display name from %(oldDisplayName)s to %(displayName)s.": "%(senderName)s 将昵称从 %(oldDisplayName)s 改为了 %(displayName)s。", + "%(senderName)s changed their profile picture.": "%(senderName)s 修改了头像。", + "%(senderDisplayName)s changed the room name to %(roomName)s.": "%(senderDisplayName)s 将聊天室名称改为 %(roomName)s。", + "%(senderDisplayName)s removed the room name.": "%(senderDisplayName)s 移除了聊天室名称。", + "%(senderDisplayName)s changed the topic to \"%(topic)s\".": "%(senderDisplayName)s 把话题修改为 “%(topic)s”。", + "Changes to who can read history will only apply to future messages in this room": "修改阅读历史的权限仅对此聊天室以后的消息有效", + "Changes your display nickname": "修改昵称", + "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.": "目前,修改密码会导致所有设备上的端对端密钥被重置,使得加密的聊天记录不再可读。除非你事先导出聊天室密钥,修改密码后再导入。这个问题未来会改善。", + "Clear Cache and Reload": "清除缓存并刷新", + "Clear Cache": "清除缓存", + "Click here to join the discussion!": "点此 加入讨论!", + "Click to mute audio": "点此静音", + "Click to mute video": "点此静音", + "click to reveal": "点击展开", + "Click to unmute video": "点此打开声音", + "Click to unmute audio": "点此打开声音", + "Close": "关闭", + "Command error": "命令错误", + "Commands": "命令", + "Conference call failed.": "视频会议失败。", + "Conference calling is in development and may not be reliable.": "视频会议功能还在开发状态,可能不稳定。", + "Conference calls are not supported in encrypted rooms": "加密聊天室不支持视频会议", + "Conference calls are not supported in this client": "此客户端不支持视频会议", + "%(count)s new messages.one": "%(count)s 条新消息", + "%(count)s new messages.other": "%(count)s 新消息", + "Create a new chat or reuse an existing one": "创建新聊天或使用已有的聊天", + "Custom": "自定义", + "Custom level": "自定义级别", + "Decline": "拒绝", + "Device already verified!": "设备已经验证!", + "Device ID:": "设备 ID:", + "device id: ": "设备 ID: ", + "Device key:": "设备密钥 :", + "Disable Notifications": "关闭消息通知", + "disabled": "已禁用", + "Disable markdown formatting": "禁用 Markdown 格式", + "Drop File Here": "把文件拖拽到这里", + "Email address (optional)": "电子邮件地址 (可选)", + "Enable Notifications": "启用消息通知", + "enabled": "已启用", + "Encrypted by a verified device": "由一个已验证的设备加密", + "Encrypted by an unverified device": "由一个未经验证的设备加密", + "Encryption is enabled in this room": "此聊天室启用了加密", + "Encryption is not enabled in this room": "此聊天室未启用加密", + "Enter passphrase": "输入密码", + "Error: Problem communicating with the given homeserver.": "错误: 与指定的主服务器通信时出错。", + "Export": "导出", + "Failed to fetch avatar URL": "获取 Avatar URL 失败", + "Failed to register as guest:": "无法注册为游客:", + "Failed to upload profile picture!": "无法上传头像!", + "Guest access is disabled on this Home Server.": "此服务器禁用了游客访问。", + "Home": "主页面", + "Import": "导入", + "Incoming call from %(name)s": "来自 %(name)s 的通话", + "Incoming video call from %(name)s": "来自 %(name)s 的视频通话", + "Incoming voice call from %(name)s": "来自 %(name)s 的视频通话", + "Incorrect username and/or password.": "用户名或密码错误。", + "%(senderName)s invited %(targetName)s.": "%(senderName)s 邀请了 %(targetName)s。", + "Invited": "已邀请", + "Invites": "邀请", + "Invites user with given id to current room": "邀请指定 ID 的用户加入当前聊天室", + "'%(alias)s' is not a valid format for an address": "'%(alias)s' 不是一个合法的电子邮件地址格式", + "'%(alias)s' is not a valid format for an alias": "'%(alias)s' 不是一个合法的昵称格式", + "%(displayName)s is typing": "%(displayName)s 正在输入", + "Sign in with": "第三方登录", + "Message not sent due to unknown devices being present": "消息未发送,因为有未知的设备存在", + "Missing room_id in request": "请求中没有 room_id", + "Missing user_id in request": "请求中没有 user_id", + "Mobile phone number": "手机号码", + "Mobile phone number (optional)": "手机号码 (可选)", + "Moderator": "管理员", + "Mute": "静音", + "my Matrix ID": "我的 Matrix ID", + "Name": "姓名", + "Never send encrypted messages to unverified devices from this device": "不要从此设备向未验证的设备发送消息", + "Never send encrypted messages to unverified devices in this room": "不要在此聊天室里向未验证的设备发送消息", + "New passwords don't match": "两次输入的新密码不符", + "none": "无", + "not set": "未设置", + "not specified": "未指定", + "Notifications": "通知", + "(not supported by this browser)": "(此浏览器不支持)", + "": "<不支持>", + "NOT verified": "未验证", + "No display name": "无昵称", + "No results": "没有更多结果", + "OK": "确定", + "Once encryption is enabled for a room it cannot be turned off again (for now)": "(目前) 一旦聊天室开启加密,就不能再关闭", + "Operation failed": "操作失败", + "Password": "密码", + "Password:": "密码:", + "Passwords can't be empty": "密码不能为空", + "Permissions": "权限", + "Phone": "电话" } From a389d5a3c487f72d4bc018f3f5da638a28be6057 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 12 Jun 2017 15:50:36 +0100 Subject: [PATCH 101/103] Prepare changelog for v0.9.3 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 651303d3b9..16eeca8fa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [0.9.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.3) (2017-06-12) +=================================================================================================== +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.3-rc.2...v0.9.3) + + * Add more translations & fix some existing ones + Changes in [0.9.3-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.9.3-rc.2) (2017-06-09) ============================================================================================================= [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v0.9.3-rc.1...v0.9.3-rc.2) From aef0a8025ca2c94c2a52c823d9bc7d4825b52e15 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 12 Jun 2017 15:50:37 +0100 Subject: [PATCH 102/103] v0.9.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1b57cc6890..12a17900be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "0.9.3-rc.2", + "version": "0.9.3", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From 2da30137ec5bc7ef1230c5560fc9f221d9b6fec5 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Tue, 13 Jun 2017 10:31:16 +0100 Subject: [PATCH 103/103] Fix import path and add LG widget --- src/components/structures/AppWidget.js | 2 +- src/components/views/rooms/AppsDrawer.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/structures/AppWidget.js b/src/components/structures/AppWidget.js index 5ab2207f60..283efb9fcd 100644 --- a/src/components/structures/AppWidget.js +++ b/src/components/structures/AppWidget.js @@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -import ModularWidgets from 'ModularWidgets'; +import ModularWidgets from './ModularWidgets'; class AppWidget { constructor(type, url, options) { diff --git a/src/components/views/rooms/AppsDrawer.js b/src/components/views/rooms/AppsDrawer.js index 0386128a10..9c49fdb663 100644 --- a/src/components/views/rooms/AppsDrawer.js +++ b/src/components/views/rooms/AppsDrawer.js @@ -78,6 +78,14 @@ const roomWidgetConfig = { name: "Etherpad", }, ], + // Insurance room - !nTUetaZELiqWcWYshy:matrix.org + '!nTUetaZELiqWcWYshy:matrix.org': [ + { + id: "lg", + url: "http://localhost:8000/lg.html", + name: "L&G Insurance Policy", + }, + ], }; module.exports = React.createClass({