diff --git a/src/components/views/messages/RoomAvatarEvent.js b/src/components/views/messages/RoomAvatarEvent.js
index 453394249f..995d5f8531 100644
--- a/src/components/views/messages/RoomAvatarEvent.js
+++ b/src/components/views/messages/RoomAvatarEvent.js
@@ -70,9 +70,9 @@ module.exports = React.createClass({
// it sucks that _tJsx doesn't support normal _t substitutions :((
return (
- { _tJsx('$senderDisplayName changed the room avatar to
',
+ { _tJsx('%(senderDisplayName)s changed the room avatar to
',
[
- /\$senderDisplayName/,
+ /%\(senderDisplayName\)s/,
/
/,
],
[
diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json
index 8a0c2ebe9c..88700c8fa2 100644
--- a/src/i18n/strings/de_DE.json
+++ b/src/i18n/strings/de_DE.json
@@ -728,7 +728,7 @@
"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 das Gerät %(deviceId)s ist \"%(fprint)s\", welcher nicht mit dem bereitgestellten Schlüssel \"%(fingerprint)s\" übereinstimmt. Dies kann bedeuten, dass deine Kommunikation abgehört wird!",
"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.",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName hat das Raum-Bild geändert zu
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s 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",
diff --git a/src/i18n/strings/el.json b/src/i18n/strings/el.json
index 99ae411d94..06009b0b3b 100644
--- a/src/i18n/strings/el.json
+++ b/src/i18n/strings/el.json
@@ -639,7 +639,7 @@
"Disable URL previews by default for participants in this room": "Απενεργοποίηση της προεπισκόπησης συνδέσμων για όλους τους συμμετέχοντες στο δωμάτιο",
"Disable URL previews for this room (affects only you)": "Απενεργοποίηση της προεπισκόπησης συνδέσμων για αυτό το δωμάτιο (επηρεάζει μόνο εσάς)",
" (unsupported)": " (μη υποστηριζόμενο)",
- "$senderDisplayName changed the room avatar to
": "Ο $senderDisplayName άλλαξε την εικόνα του δωματίου σε
",
+ "%(senderDisplayName)s changed the room avatar to
": "Ο %(senderDisplayName)s άλλαξε την εικόνα του δωματίου σε
",
"Missing Media Permissions, click here to request.": "Λείπουν τα δικαιώματα πολύμεσων, κάντε κλικ για να ζητήσετε.",
"You may need to manually permit Riot to access your microphone/webcam": "Μπορεί να χρειαστεί να ορίσετε χειροκίνητα την πρόσβαση του Riot στο μικρόφωνο/κάμερα",
"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 του διακομιστή είναι έμπιστο και ότι κάποιο πρόσθετο περιηγητή δεν αποτρέπει τα αιτήματα.",
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index c8c4b8f14d..8998b379c2 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -788,7 +788,7 @@
"Start chatting": "Start chatting",
"Start Chatting": "Start Chatting",
"Click on the button below to start chatting!": "Click on the button below to start chatting!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName changed the room avatar to
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s 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",
"Username available": "Username available",
diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index 5236e959d4..6161728fb1 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -705,7 +705,7 @@
"Idle": "Idle",
"Offline": "Offline",
"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 changed the room avatar to
": "%(senderDisplayName)s 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",
"Active call (%(roomName)s)": "Active call (%(roomName)s)",
diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json
index 234e888f7c..2ead47c62b 100644
--- a/src/i18n/strings/eu.json
+++ b/src/i18n/strings/eu.json
@@ -736,7 +736,7 @@
"Start chatting": "Hasi txateatzen",
"Start Chatting": "Hasi txateatzen",
"Click on the button below to start chatting!": "Egin klik beheko botoian txateatzen hasteko!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName erabiltzaileak gelaren abatarra aldatu du beste honetara:
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s erabiltzaileak gelaren abatarra aldatu du beste honetara:
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s erabiltzaileak gelaren abatarra ezabatu du.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s erabiltzaileak %(roomName)s gelaren abatarra aldatu du",
"Username available": "Erabiltzaile-izena eskuragarri dago",
diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json
index d07a162f8d..3a45793b7c 100644
--- a/src/i18n/strings/fr.json
+++ b/src/i18n/strings/fr.json
@@ -637,7 +637,7 @@
"for %(amount)sm": "depuis %(amount)sm",
"for %(amount)sh": "depuis %(amount)sh",
"for %(amount)sd": "depuis %(amount)sj",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName a changé l’avatar du salon en
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s a changé l’avatar du salon en
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s a supprimé l'avatar du salon.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s a changé l’avatar de %(roomName)s",
"Device already verified!": "Appareil déjà vérifié !",
diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json
index 38f596b8e9..f7a972b983 100644
--- a/src/i18n/strings/hu.json
+++ b/src/i18n/strings/hu.json
@@ -723,7 +723,7 @@
"Start chatting": "Csevegés indítása",
"Start Chatting": "Csevegés indítása",
"Click on the button below to start chatting!": "Csevegés indításához kattints a gombra alább!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName megváltoztatta a szoba avatar képét:
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s megváltoztatta a szoba avatar képét:
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s törölte a szoba avatar képét.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s megváltoztatta %(roomName)s szoba avatar képét",
"Username available": "Szabad felhasználói név",
diff --git a/src/i18n/strings/ko.json b/src/i18n/strings/ko.json
index 307ee762ef..98a07e629d 100644
--- a/src/i18n/strings/ko.json
+++ b/src/i18n/strings/ko.json
@@ -743,7 +743,7 @@
"Start chatting": "이야기하기",
"Start Chatting": "이야기하기",
"Click on the button below to start chatting!": "이야기하려면 아래 버튼을 누르세요!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName님이 방 아바타를
로 바꾸셨어요",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s님이 방 아바타를
로 바꾸셨어요",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s님이 방 아바타를 지우셨어요.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s가 %(roomName)s 방의 아바타를 바꾸셨어요",
"Username available": "쓸 수 있는 사용자 이름",
diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json
index 0a5e999015..164b6226d9 100644
--- a/src/i18n/strings/lv.json
+++ b/src/i18n/strings/lv.json
@@ -619,7 +619,7 @@
"Dec": "Dec.",
"Set a display name:": "Iestatīt redzamo vārdu:",
"This image cannot be displayed.": "Šo attēlu nav iespējams parādīt.",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName nomainīja istabas attēlu uz
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s nomainīja istabas attēlu uz
",
"Upload an avatar:": "Augšuplādē profila attēlu:",
"This server does not support authentication with a phone number.": "Šis serveris neatbalsta autentifikāciju pēc telefona numura.",
"Missing password.": "Trūkst parole.",
diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json
index 38ca640fc8..c12a2ad81c 100644
--- a/src/i18n/strings/nl.json
+++ b/src/i18n/strings/nl.json
@@ -746,7 +746,7 @@
"Start chatting": "Start met praten",
"Start Chatting": "Start Met Praten",
"Click on the button below to start chatting!": "Klik op de knop hieronder om te starten met praten!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName heeft de ruimte avatar aangepast naar
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s heeft de ruimte avatar aangepast naar
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s heeft de ruimte avatar verwijderd.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s veranderde de avatar voor %(roomName)s",
"Username available": "Gebruikersnaam beschikbaar",
diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json
index 0b11e26c44..66e7b2aa28 100644
--- a/src/i18n/strings/pl.json
+++ b/src/i18n/strings/pl.json
@@ -771,7 +771,7 @@
"for %(amount)sd": "%(amount)s dni",
"Idle": "Bezczynny",
"Check for update": "Sprawdź aktualizacje",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName zmienił awatar pokoju na
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s zmienił awatar pokoju na
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s usunął awatar pokoju.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s zmienił awatar %(roomName)s",
"This will be your account name on the
homeserver, or you can pick a
different server.": "To będzie twoja nazwa konta na
serwerze domowym; możesz też wybrać
inny serwer.",
diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json
index d05c7697af..3482851ebe 100644
--- a/src/i18n/strings/pt.json
+++ b/src/i18n/strings/pt.json
@@ -699,7 +699,7 @@
"for %(amount)sd": "por %(amount)sd",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removeu a imagem da sala.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s alterou a imagem da sala %(roomName)s",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName alterou a imagem da sala para
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s alterou a imagem da sala para
",
"Missing Media Permissions, click here to request.": "Faltam permissões para uso de mídia no seu computador. Clique aqui para solicitá-las.",
"No Microphones detected": "Não foi detetado nenhum microfone",
"No Webcams detected": "Não foi detetada nenhuma Webcam",
diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json
index 109c0bb6c2..691cf8d9bf 100644
--- a/src/i18n/strings/pt_BR.json
+++ b/src/i18n/strings/pt_BR.json
@@ -696,7 +696,7 @@
"for %(amount)sd": "por %(amount)sd",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removeu a imagem da sala.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s alterou a imagem da sala %(roomName)s",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName alterou a imagem da sala para
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s alterou a imagem da sala para
",
"Missing Media Permissions, click here to request.": "Faltam permissões para uso de mídia no seu computador. Clique aqui para solicitá-las.",
"No Microphones detected": "Não foi detectado nenhum microfone",
"No Webcams detected": "Não foi detectada nenhuma Webcam",
diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json
index 46d605c5a0..801f1e41d6 100644
--- a/src/i18n/strings/ru.json
+++ b/src/i18n/strings/ru.json
@@ -705,7 +705,7 @@
"Idle": "Неактивен",
"Offline": "Не в сети",
"Disable URL previews for this room (affects only you)": "Отключить предпросмотр URL-адресов для этой комнаты (влияет только на вас)",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName сменил аватар комнаты на
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s сменил аватар комнаты на
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s удалил аватар комнаты.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s сменил аватар для %(roomName)s",
"Create new room": "Создать новую комнату",
diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json
index 98be1c9a64..fdc06f741c 100644
--- a/src/i18n/strings/tr.json
+++ b/src/i18n/strings/tr.json
@@ -738,7 +738,7 @@
"Start chatting": "Sohbeti başlat",
"Start Chatting": "Sohbeti Başlat",
"Click on the button below to start chatting!": "Sohbeti başlatmak için aşağıdaki butona tıklayın!",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName odanın avatarını
olarak çevirdi",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s odanın avatarını
olarak çevirdi",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s odanın avatarını kaldırdı.",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s %(roomName)s için avatarı değiştirdi",
"Username available": "Kullanıcı ismi uygun",
diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json
index 83aadd5178..35e18b9793 100644
--- a/src/i18n/strings/zh_Hant.json
+++ b/src/i18n/strings/zh_Hant.json
@@ -228,7 +228,7 @@
"Idle": "閒置",
"Offline": "下線",
"Disable URL previews for this room (affects only you)": "在這個房間禁止URL預覽(只影響你)",
- "$senderDisplayName changed the room avatar to
": "$senderDisplayName 更改了聊天室的圖像為
",
+ "%(senderDisplayName)s changed the room avatar to
": "%(senderDisplayName)s 更改了聊天室的圖像為
",
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s 移除了聊天室圖片。",
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s 更改了聊天室 %(roomName)s 圖像",
"Cancel": "取消",
diff --git a/src/languageHandler.js b/src/languageHandler.js
index b2fc65c46d..a90b78c40e 100644
--- a/src/languageHandler.js
+++ b/src/languageHandler.js
@@ -109,8 +109,9 @@ export function _tJsx(jsxText, patterns, subs) {
}
// The translation returns text so there's no XSS vector here (no unsafe HTML, no code execution)
- const tJsxText = _t(jsxText);
+ const tJsxText = _t(jsxText, {interpolate: false});
const output = [tJsxText];
+
for (let i = 0; i < patterns.length; i++) {
// convert the last element in 'output' into 3 elements (pre-text, sub function, post-text).
// Rinse and repeat for other patterns (using post-text).