Skip to content
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

Interface Translations #55

Open
Inlife233 opened this issue Apr 29, 2022 · 14 comments
Open

Interface Translations #55

Inlife233 opened this issue Apr 29, 2022 · 14 comments

Comments

@Inlife233
Copy link

I made a Chinese version of this software (just modify the source code), can I publish it? Can I submit my modified source code to this repository for other Chinese players to use?

@RoanH
Copy link
Owner

RoanH commented Apr 30, 2022

It would be really cool to see translations of the interface into a other languages for sure. Modifying the source code directly to do this is however not really the way to do this as it'll make it really hard for me to maintain during future releases. So I would implement a proper system for translations.

If you've already modified the source code with translations then please submit a pull request to this repository and I'll build the translation system on top of that.

@RoanH RoanH changed the title KPS Chinese version Interface Translations Apr 30, 2022
@RoanH RoanH self-assigned this Apr 30, 2022
@RoanH
Copy link
Owner

RoanH commented May 9, 2022

@Inlife233 Are you still interested in this?

@RoanH
Copy link
Owner

RoanH commented May 16, 2022

@Inlife233 I'm still interested in this, but I do need at least one translation to make this worth my time. So if you're still willing to help out that would be great. If creating the pull request is an issue you can also email me the modified source code or send a download link.

@TeusDev
Copy link

TeusDev commented May 19, 2022

@Inlife233 I'm still interested in this, but I do need at least one translation to make this worth my time. So if you're still willing to help out that would be great. If creating the pull request is an issue you can also email me the modified source code or send a download link.

i can help with PT-BR translation. I don't have a modified source code to share on the other hand XD

@RoanH
Copy link
Owner

RoanH commented May 24, 2022

i can help with PT-BR translation. I don't have a modified source code to share on the other hand XD

@TeusDev Great! Just knowing that you would be able to help out once a proper system for translations is in place is already amazing. I'll put this on the roadmap and then I'll still have to see when I have enough free time to implement such a large system.

@RoanH RoanH pinned this issue May 24, 2022
@soloopooo
Copy link

Hello RoanH I can help for Zh-CN(Simplified Chinese) and Zh-TW(Traditional Chinese) translation.

Please feel free to ask me for Chinese translation when you are ready!

@RoanH
Copy link
Owner

RoanH commented Mar 12, 2023

Hello RoanH I can help for Zh-CN(Simplified Chinese) and Zh-TW(Traditional Chinese) translation.

Please feel free to ask me for Chinese translation when you are ready!

Hey! Thank your very much for the offer and apologies for the very late reply... I think that simplified and traditional Chinese would be great to have as some of the first supported languages and it also gives me a good reason to increase the priority of this feature.

@soloopooo
Copy link

Hey! Thank your very much for the offer and apologies for the very late reply... I think that simplified and traditional Chinese would be great to have as some of the first supported languages and it also gives me a good reason to increase the priority of this feature.

Thank you! If you finished your translation template, please just feel free to mention me again :)

@DeSu0556
Copy link
Contributor

DeSu0556 commented Jan 9, 2024

Hi RoanH, I thought i could help to build the translate interface. But I don’t know your design ideas for this. I wonder if you can get the translation results by passing the translation context. The translation context will load the file and convert it into a map. When getting the translation, you only need to pass the key. What do you think?

@RoanH
Copy link
Owner

RoanH commented Jan 10, 2024

Hi, I haven't looked into this very extensively yet since I'm first trying to clean up the codebase before adding a feature as large as this. Currently, I'm primarily considering to use Java's built in i18n implementation. But localisation has a lot of caveats and this program was never built with localisation in mind, so there are a number of places that might be hard to localise at the moment. So not sure if you'd want to take on such a large task (side note, the complete list of open issues is here).

@efojug
Copy link
Contributor

efojug commented Jan 15, 2024

Hi, I accidentally discovered on another project that it might be possible to use weblate to quickly contribute translations to a project on a website!
https://hosted.weblate.org Hope this helps!

@RoanH
Copy link
Owner

RoanH commented Jan 16, 2024

Hi, that's an interesting project, thanks! Up until now the only project like that I was aware of was crowdin. I was planning to initially just start out with translation files in the repository itself, but this might be an interesting option to consider, especially if there turns out to be a lot of interest in translations.

@soloopooo
Copy link

soloopooo commented Feb 18, 2024

Hello RoanH,
Before jumping into interface translation, I want to tell you some common issues that could be happen:

  1. Font compatibility, especially for CJK (Chinese, Japanese, Korean) users. You may not know that the font,or character patterns for Mainland China, Taiwan, Hong Kong, Japan and Korea are NOT THE SAME. I had seen so many wrongy font used in some steam games. You can refer to some Open-Source CJK font in github to find out the difference for CJK fonts. For example, you can search lxgw on github and see his font repo. To avoid font issues, you can use the default fonts depending on the OS. For example, Windows Simplified Chinese uses Microsoft YaHei, Windows Traditional Chinese uses Microsoft JhengHei, Windows Japanese uses Meiryo. Osu legacy itself resolves this issue, but on Osu lazer, this font issue is not resolved.
  2. Codec compatibility. This is also (mainly) for CJK users. When we are on English, ascii is enough, but on CJK, it's not enough, and could get an issue called mojibake. To avoid that, we should use UTF-8 as the default codec.

@RoanH
Copy link
Owner

RoanH commented May 25, 2024

Yep, I am (unfortunately) aware of many of the issues surrounding proper internationalisation support..., but thanks for the detailed warnings! Even then, I'm sure I'll get some things wrong for some languages the first time around... Encoding support should already be up to the required level though, since I already support UTF-8 for panel names, e.g.:
afbeelding
Though actual font configuration isn't a thing yet (but planned). Currently everything is rendered with the Dialog font, which is a logical font that Java itself maps to a sensible physical font present in the OS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants