razaqq / PotatoAlert

A statistics companion app for World Of Warships
MIT License
36 stars 5 forks source link

Chinese and Japanese localisation #38

Closed HenryQuan closed 2 years ago

HenryQuan commented 2 years ago

@razaqq I am HenryQuan from reddit. This is my first draft of the Chinese and Japanese localisation support. I have a few questions about the format and strings.

For Chinese, there are two version of it, simplified and traditional. Does QT support both? Also, can you please check if the tag I am using is correct?

There are also a few strings I am not quite sure about. What does Versioned Replays mean in the context? Does it mean that there are past game replays like from 0.11.7?

Matches is translated to total battles based on my understanding in the context. I appended total if it is the player's total stats like battles, winrate and damage dealt.

The Japanese language tends to be very long sometimes. I am not sure if the UI will still work. I can further shorten a few strings if needed. Also, I am not a native Japanese speaker. However, it is legit Japanese but sometimes. they tend to use the English word instead of the Japanese variant. In the future, it might be good to find a Japanese player to validate.

There are still a few strings pending. I want to make sure I am doing it correctly. Thanks.

razaqq commented 2 years ago

Hey many thanks for the PR!

The stringtable is independant of Qt, so its possible to add as many languages as possible, no problem to support both traditional and simplified chinese, feel free to add it if you can speak it.

The string 'Versioned Replays' refers to if your client has versioned replays enabled or not (they are placed in a version subfolder instead of the replays folder).

'Matches' refers to the total matches played by the player, but we also leave out total in the english translation because the context is obvious.

I will check these translations and if their length fits in the UI. Once I have done that and you confirm that you are finished with the PR I will merge it.

HenryQuan commented 2 years ago

Thank you for your comments. I had a read about Stringtable and I know roughly how it works now. Is there a default language detection? The Chinese language can be a bit compliated to detect.

Thanks for the explaination of 'Versioned Replays'. I will also adjust my translations to match the original as close as possible.

There is one more thing I want to add. The battle performance screen isn't localised at the moment. Do you also want me to localise that as well? I can use strings directly from the game.

HenryQuan commented 2 years ago

Hi @razaqq, I just updated all strings.

FYI, there might be some potential issues regarding the font. For example, the character 新 (new) may look the same in Japanese, Simplified Chinese and Traditional Chinese. However, there are very minor differences. Not sure how QT6 handles it.

razaqq commented 2 years ago

I will have a look at this later today.

The default language is always english.

You are right, currently the battle performance screen is not localized. I think adding that would make sense yes. I will add the necessary entries later today. There will be quite a few for all the ribbons for example tho.

I think the font should be fine in qt without issues, will have to check to be sure tho.

razaqq commented 2 years ago

i added localization for the battle performance screen i can get the missing strings for the battle performance screen for the languages you are adding from game files tho, so you dont have to translate those ones

HenryQuan commented 2 years ago

Thanks. I will wait until you finish those strings. You can use zh_sg for Simplified Chinese and zh_tw for Traditional Chinese.

HenryQuan commented 2 years ago

@razaqq It is ready to go 👍

razaqq commented 2 years ago

Thanks for this PR!