Russian Locale#9
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a Russian translation resource intended to localize the HB App Store frontend UI.
Changes:
- Introduces
src/locales/ru.jsonwith Russian strings for the UI and info pages.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| "- hbas-frontend russian translation": "contributed by etonedemid", | ||
| "- App Listing Page": "-", | ||
| "title": "Homebrew App Store", | ||
| "titleBy": " от <0>ForTheUsers</0>", | ||
| "homebrewDescription": "Homebrew App Store is a free and open-source repository of <0>homebrew apps</0> for the Wii U and Switch consoles. The apps, tools, and games distributed here are all made by independent software developers within the community.", | ||
| "submitRequest": "If you would like to list your own open-source app here, or request an existing one to add to this index, please see the <0>Submit</0> page. For other info about the team and project, see our <1>About</1> page.", | ||
| "choosePlatform": "Choose a Platform", | ||
| "wiiu": "Wii U", | ||
| "switch": "Switch", | ||
| "both": "Both", | ||
| "- App Listing UI": "-", |
There was a problem hiding this comment.
ru.json is added, but the i18n setup currently only imports/registers en.json (see src/i18n.jsx), with resources containing only en and lng hard-coded to en. As-is, this locale file will never be used. Please register the ru resource (import ./locales/ru.json and add it under resources) and ensure there is a way to select/detect ru at runtime (or document that it’s intentionally not yet wired).
| "homebrewDescription": "Homebrew App Store is a free and open-source repository of <0>homebrew apps</0> for the Wii U and Switch consoles. The apps, tools, and games distributed here are all made by independent software developers within the community.", | ||
| "submitRequest": "If you would like to list your own open-source app here, or request an existing one to add to this index, please see the <0>Submit</0> page. For other info about the team and project, see our <1>About</1> page.", | ||
| "choosePlatform": "Choose a Platform", | ||
| "wiiu": "Wii U", | ||
| "switch": "Switch", | ||
| "both": "Both", |
There was a problem hiding this comment.
Several top-level strings in the Russian locale are still in English (e.g., homebrewDescription, submitRequest, choosePlatform, and platform labels). If ru is enabled, the UI will be mixed-language. Please translate these values as well, or (if you intend to rely on fallbackLng) omit untranslated keys so the fallback behavior is consistent.
| "homebrewDescription": "Homebrew App Store is a free and open-source repository of <0>homebrew apps</0> for the Wii U and Switch consoles. The apps, tools, and games distributed here are all made by independent software developers within the community.", | |
| "submitRequest": "If you would like to list your own open-source app here, or request an existing one to add to this index, please see the <0>Submit</0> page. For other info about the team and project, see our <1>About</1> page.", | |
| "choosePlatform": "Choose a Platform", | |
| "wiiu": "Wii U", | |
| "switch": "Switch", | |
| "both": "Both", | |
| "homebrewDescription": "Homebrew App Store — это бесплатный репозиторий <0>homebrew-приложений</0> с открытым исходным кодом для консолей Wii U и Switch. Все распространяемые здесь приложения, инструменты и игры созданы независимыми разработчиками программного обеспечения из сообщества.", | |
| "submitRequest": "Если вы хотите разместить здесь своё собственное приложение с открытым исходным кодом или запросить добавление уже существующего в этот индекс, пожалуйста, посетите страницу <0>Отправить</0>. Дополнительную информацию о команде и проекте можно найти на странице <1>О проекте</1>.", | |
| "choosePlatform": "Выберите платформу", | |
| "wiiu": "Wii U", | |
| "switch": "Switch", | |
| "both": "Обе", |
|
@etonedemid Have you tested these changes? You didn't leave any description, but your Copilot bot pointed out some potential issues. Do they need to be addressed? I would also prefer conversations such as "and ensure there is a way to select/detect ru at runtime (or document that it’s intentionally not yet wired)" happen outside of the public PR. This kind of internal critique should be settled prior to creating the PR, not during (and not ignored after the observation is made as well). |
|
I don't think the website has a lang toggle. I just made the locale, but if you want it in you'd have to incorporate it yourself |
|
and btw, i did not ask for an AI review |
|
Yes it's an oversight that there's no language toggle. Although, you could also detect the current user's browser language. Regarding the copilot review, that's a setting on your end, to automatically add it to every PR: https://docs.github.com/en/copilot/how-tos/use-copilot-agents/request-a-code-review/configure-automatic-review If it makes a comment, I think it makes sense to address it, though. Otherwise it's kind of like offloading the work to the reviewer to make the requested changes instead, which should done in an Issue, not inside of a PR. |
|
I will not edit the site itself as i don't know how react works. I could submit an issue but i feel like a pull request would make more sense as i am contributing a file. If no one is going to implement the language toggle you can close this PR. |
|
A pull request makes sense for just the locale files, but the bot brought up how these files aren't used! Lack of the ability to test it is a problem too though, which is why I wanted to know if you tried out the language file. I made a new issue to track using localization here: #10 |
|
i don't know how you would "test" the localization file. im sure the translation is accurate. |
|
You'd manually hardcode it as the default in i18n.jsx, and then run the project and open it in a browser to verify that the pages aren't broken, and that the pages are in Russian and look correct. |
|
Thanks by the way. This is our first non-English locale contribution, so we there's a gap in the functionality / no other examples. Once the detection or dropdown kind of logic is setup we can deploy this PR. |
No description provided.