FireCubeStudios / Protecc

It protecc
https://apps.microsoft.com/store/detail/protecc-2fa-client/9PJX91M06TZS
MIT License
360 stars 43 forks source link

[Feature Request] Actual Localization Support #84

Open Kvasenok opened 1 year ago

Kvasenok commented 1 year ago

Can we hope for the actual localization of the app and not just Readme? Maybe creating a project on crowdin could work? It just seems based on the localized Readme's the community is willing to help.

FireCubeStudios commented 1 year ago

I have never made a localised app but I'm interested to try it on Protecc. I think I will have to push this for after v2 however

Soboroo commented 12 months ago

Actually, I've been working on it for a few weeks. I implemented most of the i18n function but, there are a number of something to handle such as RTL support or the element's size adjustment due to the long strings. Screenshot 2023-10-06 231704 Screenshot 2023-10-06 231858 Screenshot 2023-10-06 232654-1

And below is the Crowdin-GitHub integration setting. You can designate files that you want to translate as Resources.resw and README.md. If you want to add support language, add language at Crowdin and let it make translated files then that language will be added automatically in the selection combobox. Screenshot 2023-10-06 233317 Screenshot 2023-10-06 233329

Test repo: https://github.com/Soboroo/Protecc/tree/crowdin Crowdin: https://crowdin.com/project/protecctest

FireCubeStudios commented 12 months ago

This is actually amazing

Kvasenok commented 12 months ago

It's more than amazing, it's progress 😃

Soboroo commented 11 months ago

I've resolved the long-string issue, but RTL will take a long time. I included the crowdin.yml file, so when you are ready to integrate with Crowdin, you can use it.

When you set up the Crowdin project, they will make a new branch. And when the project has been updated, they create PR for the original branch.

If you add a new string, you have to give a x:Uid to the element and then add that into resources.resw.

To add new support language, include a folder that contains resources.resw into the project.

About Localize strings

I recommend testing at another branch yourself. If you want to do, make a branch then I'll create a PR for that :)

I set this branch while assuming as before the Crowdin integration so if you want to set Crowdin from begin you can use this.