RocketChat / RocketChat/Rocket.Chat

Translation does not apply

Open
#20,497 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

The Russian translation of some items, both from the release file ru.i18n.json and for the custom translation, does not apply.
Example https://i.imgur.com/S2ivfgh.png https://i.imgur.com/vbigvLS.png

Fragment ru.i18n.json -
"error-password-policy-not-met": "Пароль не соответствует политике сервера", "error-password-policy-not-met-maxLength": "Пароль не соответствует политике сервера о максимальном размере пароля (слишком длинный пароль)", "error-password-policy-not-met-minLength": "Пароль не соответствует политике сервера о минимальной длине пароля (слишком короткий пароль)", "error-password-policy-not-met-oneLowercase": "Пароль не соответствует политике сервера по крайней мере д.б. один символ нижнего регистра", "error-password-policy-not-met-oneNumber": "Пароль не соответствует политике сервера по крайней мере д.б. один числовой символ", "error-password-policy-not-met-oneSpecial": "Пароль не соответствует политике сервера по крайней мере д.б. один специальный символ", "error-password-policy-not-met-oneUppercase": "Пароль не соответствует политике сервера по крайней мере д.б. один символ верхнего регистра", "error-password-policy-not-met-repeatingCharacters": "Пароль не соответствует политике сервера запрещенных повторяющихся символов (у вас слишком много одинаковых символов рядом друг с другом)", "error-password-same-as-current": "Введенный пароль такой же, как и текущий"

What I pasted into the custom translation. All but the password policy errors were translated.
{ "ru": { "get-password-policy-forbidRepeatingCharacters": "Пароль не может содержать повторяющихся символов подряд", "get-password-policy-forbidRepeatingCharactersCount": "Пароль не должен содержать более __forbidRepeatingCharactersCount__ повторяющихся символов в пароле", "get-password-policy-maxLength": "Пароль должен быть максимум __maxLength__ символов длиной", "get-password-policy-minLength": "Пароль должен быть не менее __minLength__ символов", "get-password-policy-mustContainAtLeastOneLowercase": "Пароль должен содержать как минимум одну строчную букву", "get-password-policy-mustContainAtLeastOneNumber": "Пароль должен содержать как минимум одну цифру", "get-password-policy-mustContainAtLeastOneSpecialCharacter": "Пароль должен содержать как минимум один специальный символ", "get-password-policy-mustContainAtLeastOneUppercase": "Пароль должен содержать как минимум одну заглавную букву", "error-password-policy-not-met": "Пароль не соответствует политике сервера", "error-password-policy-not-met-maxLength": "Пароль не соответствует политике сервера о максимальном размере пароля (слишком длинный пароль)", "error-password-policy-not-met-minLength": "Пароль не соответствует политике сервера о минимальной длине пароля (слишком короткий пароль)", "error-password-policy-not-met-oneLowercase": "Пароль не соответствует политике сервера как минимум один символ нижнего регистра", "error-password-policy-not-met-oneNumber": "Пароль не соответствует политике сервера, как минимум один числовой символ", "error-password-policy-not-met-oneSpecial": "Пароль не соответствует политике сервера, как минимум один специальный символ", "error-password-policy-not-met-oneUppercase": "Пароль не соответствует политике сервера как минимум один символ верхнего регистра", "error-password-policy-not-met-repeatingCharacters": "Пароль не соответствует политике сервера запрещенных повторяющихся символов (у вас слишком много одинаковых символов рядом друг с другом)", "error-password-same-as-current": "Введенный пароль такой же, как и текущий" } }

Steps to reproduce:
  1. log in as a user
  2. change the user interface language to Russian "Русский"
  3. exit
  4. log in as a admin
  5. Go to administration, general, translations
  6. Insert code above
  7. Enable user "Requires password change"
  8. Enable a server password policy
  9. exit
  10. log in as a user
  11. Try to change the password. And try a password that does not advise the server's password policy.
Expected behavior:

Translation of password policy errors has been applied

Actual behavior:

https://i.imgur.com/S2ivfgh.png https://i.imgur.com/vbigvLS.png

Server Setup Information:
  • Version of Rocket.Chat Server: 3.10.5
  • Operating System: Debian 10
  • Deployment Method: tar
  • Number of Running Instances: 1
  • DB Replicaset Oplog: -
  • NodeJS Version: v12.20.0
  • MongoDB Version: v4.4.2
Client Setup Information
  • Desktop App or Browser Version: Chrome 88.0.4324.104 and Desktop App 3.1.1
  • Operating System: Windows 10 20H2
Additional context
Relevant logs:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the password-policy keys in ru.i18n.json and the custom translation object shown in the issue, then reproduce the password-change flow using Russian. Trace which keys are requested for password-policy errors and confirm that both release-file and custom translations are applied when the policy is violated.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, internationalization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.