diff --git a/scripts/check-i18n.pl b/scripts/check-i18n.pl index b415108b96..4b670a7694 100755 --- a/scripts/check-i18n.pl +++ b/scripts/check-i18n.pl @@ -38,8 +38,6 @@ foreach my $tuple (@$src_strings) { } } -#exit; - opendir(DIR, $i18ndir) || die $!; my @files = readdir(DIR); closedir(DIR); @@ -105,6 +103,9 @@ sub read_src_strings { find( sub { push @files, $File::Find::name if (-f $_ && /\.jsx?$/) }, $path ); foreach my $file (@files) { my $src = read_file($file); + $src =~ s/'\s*\+\s*'//g; + $src =~ s/"\s*\+\s*"//g; + $file =~ s/^.*\/src/src/; while ($src =~ /_t\(\s*'(.*?[^\\])'/sg) { my $s = $1; diff --git a/scripts/fix-i18n.pl b/scripts/fix-i18n.pl index 5d5e8f68b9..d4ae3dfb49 100755 --- a/scripts/fix-i18n.pl +++ b/scripts/fix-i18n.pl @@ -40,6 +40,14 @@ VoIP conference finished. %(senderName)s changed the power level of %(powerLevelDiffText)s. For security, this session has been signed out. Please sign in again. 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. +A new password must be entered. +Guests can't set avatars. Please register. +Failed to set avatar. +Unable to verify email address. +Guests can't use labs features. Please register. +A new password must be entered. +Resetting password will currently reset any end-to-end encryption keys on all devices, making encrypted chat history unreadable, unless you first export your room keys and re-import them afterwards. In future this will be improved. +Guests cannot join this room even if explicitly invited. EOT )]; } diff --git a/src/components/structures/UserSettings.js b/src/components/structures/UserSettings.js index 59b8f5a385..0ca1a6c57a 100644 --- a/src/components/structures/UserSettings.js +++ b/src/components/structures/UserSettings.js @@ -258,7 +258,7 @@ module.exports = React.createClass({ const NeedToRegisterDialog = sdk.getComponent("dialogs.NeedToRegisterDialog"); Modal.createDialog(NeedToRegisterDialog, { title: _t("Please Register"), - description: _t("Guests can't set avatars. Please register") + ".", + description: _t("Guests can't set avatars. Please register."), }); return; } @@ -283,7 +283,7 @@ module.exports = React.createClass({ console.error("Failed to set avatar: " + err); const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); Modal.createDialog(ErrorDialog, { - title: _t("Failed to set avatar"), + title: _t("Failed to set avatar."), description: ((err && err.message) ? err.message : _t("Operation failed")), }); }); @@ -295,7 +295,10 @@ module.exports = React.createClass({ title: _t("Sign out"), description:
- { _t("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.") }. + { _t("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.") }.
, button: _t("Sign out"), extraButtons: [ @@ -391,7 +394,7 @@ module.exports = React.createClass({ const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog"); Modal.createDialog(QuestionDialog, { title: _t("Remove Contact Information?"), - description: _t("Remove ") + threepid.address + "?", + description: _t("Remove %(threePid)s?", { threePid : threepid.address }), button: _t('Remove'), onFinished: (submit) => { if (submit) { @@ -433,8 +436,8 @@ module.exports = React.createClass({ this.setState({email_add_pending: false}); if (err.errcode == 'M_THREEPID_AUTH_FAILED') { const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog"); - let message = _t("Unable to verify email address. "); - message += _t("Please check your email and click on the link it contains. Once this is done, click continue."); + let message = _t("Unable to verify email address.") + " "; + _t("Please check your email and click on the link it contains. Once this is done, click continue."); Modal.createDialog(QuestionDialog, { title: _t("Verification Pending"), description: message, @@ -445,7 +448,7 @@ module.exports = React.createClass({ const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); console.error("Unable to verify email address: " + err); Modal.createDialog(ErrorDialog, { - title: _t("Unable to verify email address"), + title: _t("Unable to verify email address."), description: ((err && err.message) ? err.message : _t("Operation failed")), }); } @@ -536,7 +539,7 @@ module.exports = React.createClass({

Referral

- {_t("Refer a friend to Riot: ")} {href} + {_t("Refer a friend to Riot:")} {href}
); @@ -734,7 +737,7 @@ module.exports = React.createClass({ const NeedToRegisterDialog = sdk.getComponent("dialogs.NeedToRegisterDialog"); Modal.createDialog(NeedToRegisterDialog, { title: _t("Please Register"), - description: _t("Guests can't use labs features. Please register") + ".", + description: _t("Guests can't use labs features. Please register."), }); return; } diff --git a/src/components/structures/login/ForgotPassword.js b/src/components/structures/login/ForgotPassword.js index c7dc35c1a8..6e7cda1365 100644 --- a/src/components/structures/login/ForgotPassword.js +++ b/src/components/structures/login/ForgotPassword.js @@ -82,7 +82,7 @@ module.exports = React.createClass({ this.showErrorDialog(_t('The email address linked to your account must be entered.')); } else if (!this.state.password || !this.state.password2) { - this.showErrorDialog(_t('A new password must be entered') + "."); + this.showErrorDialog(_t('A new password must be entered.')); } else if (this.state.password !== this.state.password2) { this.showErrorDialog(_t('New passwords must match each other.')); @@ -98,10 +98,8 @@ module.exports = React.createClass({ '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' - ) }. + 'them afterwards. In future this will be improved.' + ) } , button: _t('Continue'), extraButtons: [ diff --git a/src/components/views/login/PasswordLogin.js b/src/components/views/login/PasswordLogin.js index 8e5229c63d..11d8f2cc7c 100644 --- a/src/components/views/login/PasswordLogin.js +++ b/src/components/views/login/PasswordLogin.js @@ -188,7 +188,7 @@ class PasswordLogin extends React.Component { value={this.state.loginType} onOptionChange={this.onLoginTypeChange}> { _t('my Matrix ID') } - { _t('Email Address') } + { _t('Email address') } { _t('Phone') } diff --git a/src/components/views/room_settings/AliasSettings.js b/src/components/views/room_settings/AliasSettings.js index b5ef1d8309..b48c5a4fe2 100644 --- a/src/components/views/room_settings/AliasSettings.js +++ b/src/components/views/room_settings/AliasSettings.js @@ -156,7 +156,7 @@ module.exports = React.createClass({ var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); Modal.createDialog(ErrorDialog, { title: _t('Invalid alias format'), - description: _t('"%(alias)s" is not a valid format for an alias', { alias: alias }), + description: _t('\'%(alias)s\' is not a valid format for an alias', { alias: alias }), }); } }, @@ -172,7 +172,7 @@ module.exports = React.createClass({ var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); Modal.createDialog(ErrorDialog, { title: _t('Invalid address format'), - description: _t('"%(alias)s" is not a valid format for an address', { alias: alias }), + description: _t('\'%(alias)s\' is not a valid format for an address', { alias: alias }), }); } }, diff --git a/src/components/views/rooms/RoomHeader.js b/src/components/views/rooms/RoomHeader.js index c5e3a56922..3463ef948f 100644 --- a/src/components/views/rooms/RoomHeader.js +++ b/src/components/views/rooms/RoomHeader.js @@ -121,7 +121,7 @@ module.exports = React.createClass({ console.error("Failed to set avatar: " + errMsg); Modal.createDialog(ErrorDialog, { title: _t("Error"), - description: _t("Failed to set avatar") + ".", + description: _t("Failed to set avatar."), }); }).done(); }, diff --git a/src/components/views/rooms/RoomSettings.js b/src/components/views/rooms/RoomSettings.js index e50bcdde46..8125adfe44 100644 --- a/src/components/views/rooms/RoomSettings.js +++ b/src/components/views/rooms/RoomSettings.js @@ -762,7 +762,7 @@ module.exports = React.createClass({ if (this.state.join_rule !== "public" && this.state.guest_access === "forbidden") { inviteGuestWarning =
- { _t('Guests cannot join this room even if explicitly invited') }. { + { _t('Guests cannot join this room even if explicitly invited.') } { this.setState({ join_rule: "invite", guest_access: "can_join" }); e.preventDefault(); }}>{ _t('Click here to fix') }. diff --git a/src/components/views/settings/ChangePassword.js b/src/components/views/settings/ChangePassword.js index 33091f9c71..48c0b5501e 100644 --- a/src/components/views/settings/ChangePassword.js +++ b/src/components/views/settings/ChangePassword.js @@ -77,7 +77,7 @@ module.exports = React.createClass({ '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. ' + 'In future this will be improved.' ) } (https://github.com/vector-im/riot-web/issues/2671)
, button: _t("Continue"), diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 20053a28f0..984754ad84 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -177,7 +177,7 @@ "Privacy warning": "Datenschutzwarnung", "Privileged Users": "Privilegierte Nutzer", "Profile": "Profil", - "Refer a friend to Riot": "Lade eine(n) Freund(in) zu Riot ein", + "Refer a friend to Riot:": "Lade eine(n) Freund(in) zu Riot ein", "rejected": "abgeleht", "Once you've followed the link it contains, click below": "Nachdem du dem Link gefolgt bist, klicke unten", "rejected the invitation.": "lehnte die Einladung ab.", @@ -186,7 +186,7 @@ "removed their display name": "löschte den eigenen Anzeigenamen", "Remove": "Entferne", "requested a VoIP conference": "hat eine VoIP-Konferenz angefordert", - "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": "Eine Passwortänderung sorgt aktuell dafür, dass alle Ende-zu-Ende-Schlüssel von allen Geräten zurückgesetzt werden. Dadurch wird die verschlüsselte Chat-Historie unlesbar, es sei denn Sie exportieren vorher Ihre Raum-Schlüssel und importieren sie nachher wieder. In Zukunft wird dies verbessert", + "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.": "Eine Passwortänderung sorgt aktuell dafür, dass alle Ende-zu-Ende-Schlüssel von allen Geräten zurückgesetzt werden. Dadurch wird die verschlüsselte Chat-Historie unlesbar, es sei denn Sie exportieren vorher Ihre Raum-Schlüssel und importieren sie nachher wieder. In Zukunft wird dies verbessert.", "restore": "Zum zurücksetzen", "Return to login screen": "Zur Anmeldung zurückkehren", "Room Colour": "Raumfarbe", @@ -242,7 +242,7 @@ "turned on end-to-end encryption (algorithm": "aktivierte Ende-zu-Ende-Verschlüsselung (Algorithmus", "Unable to add email address": "Unfähig die E-Mail-Adresse hinzuzufügen", "Unable to remove contact information": "Unfähig die Kontakt-Informationen zu löschen", - "Unable to verify email address": "Unfähig die E-Mail-Adresse zu verifizieren", + "Unable to verify email address.": "Unfähig die E-Mail-Adresse zu verifizieren.", "Unban": "Entbannen", "Unencrypted room": "Unverschlüsselter Raum", "unknown error code": "Unbekannter Fehlercode", diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 27a9105ac6..4105594058 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -180,6 +180,7 @@ "Changes to who can read history will only apply to future messages in this room": "Changes to who can read history will only apply to future messages in this room", "Changes your display nickname": "Changes your display nickname", "changing room on a RoomView is not supported": "changing room on a RoomView is not supported", + "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.": "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.", "Claimed Ed25519 fingerprint key": "Claimed Ed25519 fingerprint key", "Clear Cache and Reload": "Clear Cache and Reload", "Clear Cache": "Clear Cache", @@ -230,7 +231,7 @@ "Drop here to tag %(section)s": "Drop here to tag %(section)s", "Ed25519 fingerprint": "Ed25519 fingerprint", "Email": "Email", - "Email Address": "Email Address", + "Email address": "Email address", "Email, name or matrix ID": "Email, name or matrix ID", "Emoji": "Emoji", "Enable encryption": "Enable encryption", @@ -241,6 +242,7 @@ "End-to-end encryption is in beta and may not be reliable": "End-to-end encryption is in beta and may not be reliable", "Enter Code": "Enter Code", "Error": "Error", + "Error decrypting attachment": "Error decrypting attachment", "Event information": "Event information", "Existing Call": "Existing Call", "Export E2E room keys": "Export E2E room keys", @@ -261,6 +263,7 @@ "Failed to save settings": "Failed to save settings", "Failed to send email": "Failed to send email", "Failed to send request.": "Failed to send request.", + "Failed to set avatar.": "Failed to set avatar.", "Failed to set display name": "Failed to set display name", "Failed to set up conference call": "Failed to set up conference call", "Failed to toggle moderator status": "Failed to toggle moderator status", @@ -276,10 +279,15 @@ "Forget room": "Forget room", "Forgot your password?": "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.", + "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.", "Found a bug?": "Found a bug?", "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s": "%(userId)s from %(fromPowerLevel)s to %(toPowerLevel)s", + "Guests can't set avatars. Please register.": "Guests can't set avatars. Please register.", "Guest users can't create new rooms. Please register to create room and start a chat": "Guest users can't create new rooms. Please register to create room and start a chat", "Guest users can't upload files. Please register to upload": "Guest users can't upload files. Please register to upload", + "Guests can't set avatars. Please register.": "Guests can't set avatars. Please register.", + "Guests can't use labs features. 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.", "had": "had", "Hangup": "Hangup", "Hide read receipts": "Hide read receipts", @@ -294,6 +302,7 @@ "Invalid alias format": "Invalid alias format", "Invalid address format": "Invalid address format", "Invalid Email Address": "Invalid Email Address", + "Invalid file%(extra)s": "Invalid file%(extra)s", "%(senderName)s invited %(targetName)s.": "%(senderName)s invited %(targetName)s.", "Invite new room members": "Invite new room members", "Invites": "Invites", @@ -334,6 +343,7 @@ "Mobile phone number": "Mobile phone number", "Moderator": "Moderator", "Must be viewing a room": "Must be viewing a room", + "Mute": "Mute", "my Matrix ID": "my Matrix ID", "Name": "Name", "Never send encrypted messages to unverified devices from this device": "Never send encrypted messages to unverified devices from this device", @@ -360,6 +370,7 @@ "Once encryption is enabled for a room it cannot be turned off again (for now)": "Once encryption is enabled for a room it cannot be turned off again (for now)", "Once you've followed the link it contains, click below": "Once you've followed the link it contains, click below", "Only people who have been invited": "Only people who have been invited", + "Operation failed": "Operation failed", "or": "or", "Password": "Password", "Passwords can't be empty": "Passwords can't be empty", @@ -376,7 +387,7 @@ "Profile": "Profile", "Reason": "Reason", "Revoke Moderator": "Revoke Moderator", - "Refer a friend to Riot": "Refer a friend to Riot", + "Refer a friend to Riot:": "Refer a friend to Riot:", "Registration required": "Registration required", "rejected": "rejected", "%(targetName)s rejected the invitation.": "%(targetName)s rejected the invitation.", @@ -385,9 +396,10 @@ "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s removed their display name (%(oldDisplayName)s).", "%(senderName)s removed their profile picture.": "%(senderName)s removed their profile picture.", "Remove": "Remove", + "Remove %(threePid)s?": "Remove %(threePid)s?", "%(senderName)s requested a VoIP conference.": "%(senderName)s requested a VoIP conference.", "Report it": "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", + "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": "restore", "Return to app": "Return to app", "Return to login screen": "Return to login screen", @@ -488,7 +500,7 @@ "Unable to add email address": "Unable to add email address", "Unable to remove contact information": "Unable to remove contact information", "Unable to restore previous session": "Unable to restore previous session", - "Unable to verify email address": "Unable to verify email address", + "Unable to verify email address.": "Unable to verify email address.", "Unban": "Unban", "%(senderName)s unbanned %(targetName)s.": "%(senderName)s unbanned %(targetName)s.", "Unable to capture screen": "Unable to capture screen", @@ -501,6 +513,7 @@ "unknown error code": "unknown error code", "Unknown room %(roomId)s": "Unknown room %(roomId)s", "unknown": "unknown", + "Unmute": "Unmute", "uploaded a file": "uploaded a file", "Upload avatar": "Upload avatar", "Upload Failed": "Upload Failed", @@ -541,6 +554,7 @@ "you must be a": "you must be a", "You need to be able to invite users to do that.": "You need to be able to invite users to do that.", "You need to be logged in.": "You need to be logged in.", + "You need to enter a user name.": "You need to enter a user name.", "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.": "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.", "Your email address does not appear to be associated with a Matrix ID on this Homeserver": "Your email address does not appear to be associated with a Matrix ID on this Homeserver", "Your password has been reset": "Your password has been reset", diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json index 955ee1837c..8b2cafb7a9 100644 --- a/src/i18n/strings/pt.json +++ b/src/i18n/strings/pt.json @@ -97,8 +97,8 @@ "For security, this session has been signed out. Please sign in again.": "Por questões de segurança, esta sessão foi encerrada. Por gentileza conecte-se novamente.", "Found a bug?": "Encontrou um problema de funcionamento do sistema?", "Guests cannot join this room even if explicitly invited": "Visitantes não podem entrar nesta sala, mesmo se forem explicitamente convidadas/os", - "Guests can't set avatars. Please register": "Convidados não podem definir uma foto do perfil. Por favor, registre-se", - "Guests can't use labs features. Please register": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre", + "Guests can't set avatars. Please register.": "Convidados não podem definir uma foto do perfil. Por favor, registre-se.", + "Guests can't use labs features. Please register.": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre.", "Guest users can't upload files. Please register to upload": "Usuários não podem fazer envio de arquivos. Por favor se cadastre para enviar arquivos", "had": "teve", "Hangup": "Desligar", @@ -162,7 +162,7 @@ "Privacy warning": "Alerta sobre privacidade", "Privileged Users": "Usuárias/os privilegiadas/os", "Profile": "Perfil", - "Refer a friend to Riot: ": "Indicar um amigo para participar", + "Refer a friend to Riot:": "Indicar um amigo para participar", "rejected": "recusou", "rejected the invitation.": "rejeitou o convite.", "Reject invitation": "Rejeitar convite", @@ -171,7 +171,7 @@ "removed their profile picture": "removeu sua foto de perfil", "Remove": "Remover", "requested a VoIP conference": "requisitou uma conferência VoIP", - "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": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado", + "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.": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado.", "restore": "restaurar", "Return to app": "Retornar ao aplicativo", "Return to login screen": "Retornar à tela de login", @@ -233,7 +233,7 @@ "turned on end-to-end encryption (algorithm": "acionou a encriptação ponta-a-ponta (algoritmo", "Unable to add email address": "Não foi possível adicionar endereço de email", "Unable to remove contact information": "Não foi possível remover informação de contato", - "Unable to verify email address": "Não foi possível verificar o endereço de email", + "Unable to verify email address.": "Não foi possível verificar o endereço de email.", "Unban": "Desfazer banimento", "Unencrypted room": "Sala não criptografada", "unencrypted": "não criptografado", @@ -354,7 +354,7 @@ "Power level must be positive integer.": "O nível de permissões tem que ser um número inteiro e positivo.", "Press": "Aperte", "Reason": "Razão", - "Refer a friend to Riot": "Recomende Riot a um/a amigo/a", + "Refer a friend to Riot:": "Recomende Riot a um/a amigo/a", "%(targetName)s rejected the invitation.": "%(targetName)s recusou o convite.", "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s removeu o seu nome público (%(oldDisplayName)s).", "%(senderName)s removed their profile picture.": "%(senderName)s removeu sua imagem de perfil.", diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index adc3650c4e..bb67aa4c5f 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -100,8 +100,8 @@ "For security, this session has been signed out. Please sign in again.": "Por questões de segurança, esta sessão foi encerrada. Por gentileza conecte-se novamente.", "Found a bug?": "Encontrou um problema de funcionamento do sistema?", "Guests cannot join this room even if explicitly invited": "Visitantes não podem entrar nesta sala, mesmo se forem explicitamente convidadas/os", - "Guests can't set avatars. Please register": "Convidados não podem definir uma foto do perfil. Por favor, registre-se", - "Guests can't use labs features. Please register": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre", + "Guests can't set avatars. Please register.": "Convidados não podem definir uma foto do perfil. Por favor, registre-se.", + "Guests can't use labs features. Please register.": "Convidados não podem usar as funcionalidades de laboratório (lab), por gentileza se registre.", "Guest users can't upload files. Please register to upload": "Usuários não podem fazer envio de arquivos. Por favor se cadastre para enviar arquivos", "had": "teve", "Hangup": "Desligar", @@ -166,7 +166,7 @@ "Privacy warning": "Alerta sobre privacidade", "Privileged Users": "Usuárias/os privilegiadas/os", "Profile": "Perfil", - "Refer a friend to Riot: ": "Indicar um amigo para participar", + "Refer a friend to Riot:": "Indicar um amigo para participar", "rejected": "recusou", "rejected the invitation.": "rejeitou o convite.", "Reject invitation": "Rejeitar convite", @@ -175,7 +175,7 @@ "removed their profile picture": "removeu sua foto de perfil", "Remove": "Remover", "requested a VoIP conference": "requisitou uma conferência VoIP", - "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": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado", + "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.": "Atualmente, ao alterar sua senha, você também zera todas as chaves de criptografia ponta-a-ponta em todos os dipositivos, fazendo com que o histórico de conversas da sala não possa mais ser lido, a não ser que você antes exporte suas chaves de sala e as reimporte após a alteração da senha. No futuro, isso será melhorado.", "restore": "restaurar", "Return to app": "Retornar ao aplicativo", "Return to login screen": "Retornar à tela de login", @@ -238,7 +238,7 @@ "turned on end-to-end encryption (algorithm": "acionou a encriptação ponta-a-ponta (algoritmo", "Unable to add email address": "Não foi possível adicionar endereço de email", "Unable to remove contact information": "Não foi possível remover informação de contato", - "Unable to verify email address": "Não foi possível verificar o endereço de email", + "Unable to verify email address.": "Não foi possível verificar o endereço de email.", "Unban": "Desfazer banimento", "Unencrypted room": "Sala não criptografada", "unencrypted": "não criptografado", @@ -358,7 +358,7 @@ "Power level must be positive integer.": "O nível de permissões tem que ser um número inteiro e positivo.", "Press": "Aperte", "Reason": "Razão", - "Refer a friend to Riot": "Recomende Riot a um/a amigo/a", + "Refer a friend to Riot:": "Recomende Riot a um/a amigo/a", "%(targetName)s rejected the invitation.": "%(targetName)s recusou o convite.", "%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s removeu o seu nome público (%(oldDisplayName)s).", "%(senderName)s removed their profile picture.": "%(senderName)s removeu sua imagem de perfil.", diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index bb7621e69d..5b81b88a92 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -167,7 +167,7 @@ "turned on end-to-end encryption (algorithm": "turned on end-to-end encryption (algorithm", "Unable to add email address": "Невозможно добавить email адрес", "Unable to remove contact information": "Невозможно удалить контактную информацию", - "Unable to verify email address": "Невозможно проверить адрес электронной почты", + "Unable to verify email address.": "Невозможно проверить адрес электронной почты.", "Unban": "Отменить запрет", "Unencrypted room": "Незашифрованная комната", "unencrypted": "незашифрованно", @@ -541,7 +541,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 не имеет права для отправки вам уведомлений, пожалуйста, проверьте настройки вашего браузера",