-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
User interface localization #192
Comments
I would like to help with translating to Russian and Finnish. |
Thanks for the offer! Although I'll probably do Finnish myself, being a native speaker. 🙂 (for dev purposes, too) |
I suggest to use Weblate, it's free for open source projects. |
That's a good idea. I'll look into the supported file formats on Weblate and see what would work best for Lagrange. |
Want to see this happening! I would like to help with Chinese translation. |
Added a set of English strings. Lang can load a language. LabelWidget can replace IDs in the label. IssueID #192
Use char pointer ranges for the array of IDs and strings to avoid allocations. Translate macOS menu items. IssueID #192
More or less everywhere? IssueID #192
@sikmir @laosb I've set up a self-hosted Weblate at weblate.skyjake.fi. You're most welcome to create an account and start translating! 🙂 Let me know if you run into any issues with the site. It seems to be working for me at least. |
@skyjake Hi I've set up my account, but there's no option for translating to Chinese. Could you add it? |
Which one would you like: Chinese (Min Nan) (nan) |
I believe Chinese (Pinyin) is not really Chinese, just the pronunciation assisting symbols. I'm native in Simplified Chinese, and can help with Traditional Chinese. |
All right, added! |
@laosb I added you to the Translators group so you should be able to save the translations directly now. |
Oh, OK, thank you! |
@skyjake "Save" button is disabled, I can only "Suggest" translation. Is it some restriction? |
@sikmir I've added you to the Translators, too. By default, users can suggest only. |
Please add Interlingue (code: ie). |
Is it possible to give me ("OIS") the translator rights for Interlingua [ia] and Interlingue [ie]? |
@Carmina16 I've added you as a translator. |
Just finished translating to zh-Hans. Will work on translating to zh-Hant later. Any chance getting some test build to see the real world performance? |
I think it's better to leave it as-is, translating "Ctrl/Alt/Shift/Meta/Caps/Space/Esc" seems weird. |
Yes, keyboard keys should be translatable. Also, it possible to embed English strings for missing entries in translation files instead of the identifiers? |
That is not possible at the moment. I could enable this for selected things like the keyboard key names, which mostly come from SDL. |
I'm not sure about how to do that, but to ensure quality, it's better to include both TC and SC variants of Noto Sans CJK, and switch to the corresponding one accordingly. Also it might be a good idea to switch for content according to the Gemini header |
@skyjake Hello, can I be added to translators for French? (MCMic account on the weblate) Also I’d love to see an esperanto translation, but I’m not good enough to do it. |
@MCMic You should now have translator rights, please go ahead. I’ve added Esperanto, too. Let’s see if someone volunteers to do it... |
+1, I also learned Esperanto and can help with it a bit. |
I'm planning to implement #195 (downloadable fonts) so there can be a larger variety of fonts available, and every update doesn't have to include the full set of fonts. Switching based on the UI language shouldn't be a big issue.
This is doable, although requires the server to send the correct the language parameter. I wonder how often this is present in practice? |
@Carmina16 Is it appropriate to label EDIT: Going with "Interlingue" for now as "Occidental" seems obsolete according to Wikipedia. |
|
I would like to translate Lagrange into Hungarian. Could you please start the new translation on Weblate? |
I've now added Hungarian. Did you already register a user account on Weblate? Let me know the username and I'll give you translator access rights, otherwise you can only suggest strings. |
Thank you! I've just registered, my username is balazsbotond. |
You now have the access rights. 🙂 |
I finished the translation. Thanks for your help! |
Wonderful! This will be included in v1.8.1. One more string, though: I added |
Great, I'm looking forward to the new version! I've translated |
If you close and reopen the dialog, those should get translated as well? There are also other minor glitches with language switches, I'll make a note about this one. |
You're right, closing and reopening the dialog solves it. |
Hi @skyjake Can you add arabic language |
@BoFFire I've added "Arabic (ar)". I'll probably need to rearrange some UI elements for a more appropriate RTL layout, but having the UI strings first would be great. 👍 Also, you now have Translator access rights. |
@skyjake Could you please add Esperanto Glossary as well? I have no permissions for that. |
@sikmir Ok, added. |
All user-visible strings should be looked up via a translation table so the UI can be localized to different languages.
In practice, wherever there is a user-visible string, it should be replaced with a lookup key. The keys could start with a special symbol, for instance
$menu.tab.new
. Widgets could then perform the lookup from the translation table and keep a pointer to the user-visible string. When the language is changed at runtime, widgets can then just redo the lookup and everything will instantly update.Dynamically formatted text is a challenge of its own, but one solution is to translate the format string and use numbered arguments so the order can be changed in the translation (like in Qt).
EDIT: There is now a Weblate server where you can contribute translations: https://weblate.skyjake.fi/projects/lagrange/ui/. Contact me if you want to start translating a new language.
The text was updated successfully, but these errors were encountered: