+
Skip to content

Support all i18n keys for messages_ru.properties #40417

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 27, 2025

Conversation

petrov9
Copy link
Contributor

@petrov9 petrov9 commented Jun 11, 2025

Now all messages_ru.properties files a full copies of a related messages_en.properties file but with translated values

Closes #40336

Now all messages_ru.properties file is a full copy of a related messages_en.properties file but with translated values

Closes keycloak#40336

Signed-off-by: Anton Petrov <petrov9810@gmail.com>
@petrov9 petrov9 requested review from a team as code owners June 11, 2025 14:53
@petrov9
Copy link
Contributor Author

petrov9 commented Jun 11, 2025

@ahus1 solved conflicts with Weblate, there was some problem with branch, so created a new PR

@ahus1
Copy link
Contributor

ahus1 commented Jun 11, 2025

@petrov9 - thank you. Something it can be fixed with a force-push, and sometimes creating a new PR is just simpler.

@pasternake: Can you please review the changes? As usual with PRs, we need a second native speaker to confirm the changes.

@petrov9
Copy link
Contributor Author

petrov9 commented Jun 11, 2025

I was looking for a way how to load complete file to weblate, but didn't find how to do that, so just usual PR looks faster

@ahus1
Copy link
Contributor

ahus1 commented Jun 11, 2025

@petrov9 - you might have been looking for this functionality: https://docs.weblate.org/en/latest/user/files.html

After you select the language and the component, you should find the menu entries. If you don't find them, I can double-check if it is a permission issue.

@petrov9
Copy link
Contributor Author

petrov9 commented Jun 12, 2025

@petrov9 - you might have been looking for this functionality: https://docs.weblate.org/en/latest/user/files.html

After you select the language and the component, you should find the menu entries. If you don't find them, I can double-check if it is a permission issue.

Yes, I can only download, but not to upload translations

@ahus1
Copy link
Contributor

ahus1 commented Jun 12, 2025

@petrov9 - can you please check that you selected the language and the component?

Please navigate to https://hosted.weblate.org/projects/keycloak/account-ui/ru/ and try again.
I just double checked with a second user account without extra permissions, and I see both upload and download.

image

@petrov9
Copy link
Contributor Author

petrov9 commented Jun 12, 2025

@ahus1 you are right, I had to choose language and component, but only choosing language didn't work, now I see this tab

@@ -14,6 +14,7 @@ credentialCreatedAt=<0>Создан</0> {{date}}.
error-username-invalid-character='{{0}}' содержит недопустимый символ.
usernamePlaceholder=Имя пользователя или email
infoMessage=Нажав кнопку Удалить доступ, вы удалите предоставленные разрешения для этого приложения. Это приложение больше не будет использовать вашу информацию.
scopesHelp=Области, связанные с этим ресурсом.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне с первого раза непривычно "области", привычнее скоупы, но это скорее слэнговое выражение. ИИ советует "области")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, я тоже тут думал как лучше сделать, в итоге пообщавшись с ии пришли к мнение что scope-область, realm-realm

personalInfo=Личная информация
removeCred=Удалить {{name}}
signOutAllDevices=Выход на всех устройствах
scopeNameHelp=Имя клиентской области. Должно быть уникальным в области. Имя не должно содержать пробелов, так как оно используется как значение параметра области
flowTypeHelp=Какая это форма

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут вроде про поток?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

firstName=Имя
name=Имя
clientTypeHelp=Тип этого ресурса. Может использоваться для группировки различных экземпляров ресурсов с одинаковым типом.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут про тип клиента?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут я дословно переводил, как в источнике: clientTypeHelp=The type of this resource. It can be used to group different resource instances with the same type.

webauthn-passwordless-help-text=Используйте свой ключ доступа для входа без пароля.
passwordless=Без пароля
error-invalid-multivalued-size=Атрибут {{0}} должен иметь не менее {{1}} и не более {{2}} значений.
recovery-authn-code=Мои коды аутентификации восстановления

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Слово "Мои" нужно по контексту?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ага, тут тоже recovery-authn-code=My recovery authentication codes

recovery-codes-generate-new-codes=Сгенерируйте новые коды, чтобы обеспечить доступ к вашей учетной записи.
oid4vci=Проверяемые учетные данные
verifiableCredentialsTitle=Проверяемые учетные данные
verifiableCredentialsDescription=Выберите учетные данные для импорта в ваш кошелек.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"кошелёк" - контекст верный?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, меня это тоже чуть смущает но в оригинале так: verifiableCredentialsDescription=Select the credential for import into your wallet.

addressScopeConsentText=Адрес
phoneScopeConsentText=Номер телефона
offlineAccessScopeConsentText=Оффлайн доступ
samlRoleListScopeConsentText=Мои роли

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как вариант - Мои роли (SAML)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

samlRoleListScopeConsentText=Мои роли
rolesScopeConsentText=Роли пользователей
organizations=Организации
organizationDescription=Просмотр организаций, к которым вы присоединились

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Описание организации" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

organizationDescription=View organizations that you joined тут именно просмотр, а не описание в оригинале

eventUpdateCredentialBodyHtml=<p>Ваши учетные данные {0} были изменены {1} с {2}. Если это были не вы, обратитесь к администратору.</p>
eventRemoveCredentialSubject=Удалить учетные данные
eventRemoveCredentialBody=Учетные данные {0} были удалены из вашего аккаунта {1} из {2}. Если это были не вы, обратитесь к администратору.
eventRemoveCredentialBodyHtml=<p>Учетные данные {0} были удалены из вашего аккаунта {1} из {2}. Если это были не вы, обратитесь к администратору.</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вы -> Вы

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

eventRemoveCredentialBody=Учетные данные {0} были удалены из вашего аккаунта {1} из {2}. Если это были не вы, обратитесь к администратору.
eventRemoveCredentialBodyHtml=<p>Учетные данные {0} были удалены из вашего аккаунта {1} из {2}. Если это были не вы, обратитесь к администратору.</p>
eventUserDisabledByTemporaryLockoutSubject=Пользователь отключен из-за временной блокировки
eventUserDisabledByTemporaryLockoutBody=Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ваш пользователь" - непонятен контекст

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал. Написал "Учетные данные пользователя"

eventRemoveCredentialBodyHtml=<p>Учетные данные {0} были удалены из вашего аккаунта {1} из {2}. Если это были не вы, обратитесь к администратору.</p>
eventUserDisabledByTemporaryLockoutSubject=Пользователь отключен из-за временной блокировки
eventUserDisabledByTemporaryLockoutBody=Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.
eventUserDisabledByTemporaryLockoutHtml=<p>Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ваш пользователь" - непонятен контекст

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

eventUserDisabledByTemporaryLockoutBody=Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.
eventUserDisabledByTemporaryLockoutHtml=<p>Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.</p>
eventUserDisabledByPermanentLockoutSubject=Пользователь отключен постоянной блокировкой
eventUserDisabledByPermanentLockoutBody=Ваш пользователь был отключен навсегда из-за нескольких неудачных попыток на {0}. Обратитесь к администратору.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ваш пользователь" - непонятен контекст

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

eventUserDisabledByTemporaryLockoutHtml=<p>Ваш пользователь временно отключен из-за нескольких неудачных попыток на {0}. При необходимости обратитесь к администратору.</p>
eventUserDisabledByPermanentLockoutSubject=Пользователь отключен постоянной блокировкой
eventUserDisabledByPermanentLockoutBody=Ваш пользователь был отключен навсегда из-за нескольких неудачных попыток на {0}. Обратитесь к администратору.
eventUserDisabledByPermanentLockoutHtml=<p>Ваш пользователь был отключен навсегда из-за нескольких неудачных попыток на {0}. Обратитесь к администратору.</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ваш пользователь" - непонятен контекст

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал

petrov9 added 2 commits June 13, 2025 08:08
Now all messages_ru.properties file is a full copy of a related messages_en.properties file but with translated values

Closes keycloak#40336

Signed-off-by: Anton Petrov <petrov9810@gmail.com>
…in translation

Now all messages_ru.properties file is a full copy of a related messages_en.properties file but with translated values

Closes keycloak#40336

Signed-off-by: Anton Petrov <petrov9810@gmail.com>
@petrov9
Copy link
Contributor Author

petrov9 commented Jun 13, 2025

@pasternake я еще добавил файл keycloak.v2/admin

@ssilvert ssilvert self-assigned this Jun 16, 2025
@ahus1 ahus1 self-assigned this Jun 18, 2025
Now all messages_ru.properties file is a full copy of a related messages_en.properties file but with translated values

Closes keycloak#40336

Signed-off-by: Anton Petrov <petrov9810@gmail.com>
Copy link

@pasternake pasternake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Готово!

groupDeleted_other=Группы удалены
acrToLoAMappingHelp=Определите, какое значение ACR (Authentication Context Class Reference) сопоставляется с каким LoA (Level of Authentication). ACR может иметь любое значение, тогда как LoA должен быть числовым.
uploadFile=Загрузить JSON-файл
loginActionTimeoutHelp=Макс. время, которое пользователь имеет для выполнения действий, связанных с входом в систему, таких как обновление пароля или настройка TOTP. Реком

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Утверждения" - заглавная буква лишняя
claim - утверждение. Прям ухо режет )))
клейм в обиходе называю - как вариант помозгоштурмить по переводу.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

по аналогии как realm - просто не переводить?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Перевел как клейм

groupDeleted_other=Группы удалены
acrToLoAMappingHelp=Определите, какое значение ACR (Authentication Context Class Reference) сопоставляется с каким LoA (Level of Authentication). ACR может иметь любое значение, тогда как LoA должен быть числовым.
uploadFile=Загрузить JSON-файл
loginActionTimeoutHelp=Макс. время, которое пользователь имеет для выполнения действий, связанных с входом в систему, таких как обновление пароля или настройка TOTP. Реком

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(и)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь используется or

@ahus1
Copy link
Contributor

ahus1 commented Jun 26, 2025

@petrov9 - I see that @pasternake approved, but added some more comments/suggestions.

How to plan to proceed?

…tion

Now all messages_ru.properties file is a full copy of a related messages_en.properties file but with translated values

Closes keycloak#40336

Signed-off-by: Anton Petrov <petrov9810@gmail.com>
@petrov9
Copy link
Contributor Author

petrov9 commented Jun 27, 2025

@ahus1 I added changes that @pasternake suggested, so now everything is ready

Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Copy link
Contributor

@ahus1 ahus1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the translation and the review, this is a big step forward for the RU translation!

@ahus1 ahus1 enabled auto-merge (squash) June 27, 2025 10:22
@ahus1 ahus1 merged commit be020ac into keycloak:main Jun 27, 2025
75 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support all i18n keys for messages_ru.properties
4 participants
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载