KeysPerSecond icon indicating copy to clipboard operation
KeysPerSecond copied to clipboard

Interface Translations

Open Inlife233 opened this issue 2 years ago • 14 comments

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?

Inlife233 avatar Apr 29 '22 14:04 Inlife233

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 avatar Apr 30 '22 14:04 RoanH

@Inlife233 Are you still interested in this?

RoanH avatar May 09 '22 14:05 RoanH

@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.

RoanH avatar May 16 '22 13:05 RoanH

@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

TeusDev avatar May 19 '22 13:05 TeusDev

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 avatar May 24 '22 19:05 RoanH

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!

soloopooo avatar Oct 16 '22 14:10 soloopooo

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.

RoanH avatar Mar 12 '23 14:03 RoanH

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 :)

soloopooo avatar Mar 13 '23 01:03 soloopooo

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?

DeSu0556 avatar Jan 09 '24 08:01 DeSu0556

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).

RoanH avatar Jan 10 '24 16:01 RoanH

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!

efojug avatar Jan 15 '24 09:01 efojug

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.

RoanH avatar Jan 16 '24 18:01 RoanH

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.

soloopooo avatar Feb 18 '24 01:02 soloopooo