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

Multi-language support #47

Open
rammba opened this issue Nov 17, 2024 · 6 comments
Open

Multi-language support #47

rammba opened this issue Nov 17, 2024 · 6 comments

Comments

@rammba
Copy link

rammba commented Nov 17, 2024

Hello @Infiland, I'm happy to see this tool even though I never worked in game development with either GameMaker or Godot.

I know it can be hard to support different languages especially from UI perspective, where some languages can have too long labels. Have you maybe considered adding other languages to this app? 🚀
If you give green light for this feature maybe I can try to implement initial version with Serbian languages supported. In that case I will need help about UI/CSS since I don't know too much about it. 😨

@Infiland
Copy link
Owner

Yes, multiple language support sounds wonderful. I am thinking to add a globe icon where you can click on it and users would choose languages.

Any language is welcome, but I think we should also make a localization system, unless there is an existing python library which does that.

@rammba
Copy link
Author

rammba commented Nov 17, 2024

I didn't work with localization in Python, but I would expect there are few libraries for localization. On first googling, there is locale module which can be used, as described in this article. There is also another article which goes more into details.
I assume this topic requires some investigation, but I like your idea with globe icons 😄

@HalfOfBilly
Copy link
Contributor

@Infiland I'd be willing to implement a modular localization system, as long as this proposal sounds suitable to you:
Move all (non-universal) text to a .json file in an internal directory (something like "/Languages/English.json"), which the program would call on for any text. Any variant .json files in the same directory (for other languages) would be detected using glob, which the user can set and default to using the globe icon.

@Infiland
Copy link
Owner

@Infiland I'd be willing to implement a modular localization system, as long as this proposal sounds suitable to you: Move all (non-universal) text to a .json file in an internal directory (something like "/Languages/English.json"), which the program would call on for any text. Any variant .json files in the same directory (for other languages) would be detected using glob, which the user can set and default to using the globe icon.

Yes, you can add the localization system. I think we could use json files for this or a .csv file (maybe have keys for each text and that is how the program knows which word is which)

@rammba
Copy link
Author

rammba commented Nov 23, 2024

I think it's easier to use .json, where you'll have separate file for every language. Also, you should consider using language code as the filename instead real name.
@HalfOfBilly can you please add me as a reviewer also when you create PR?

@HalfOfBilly
Copy link
Contributor

I think it's easier to use .json, where you'll have separate file for every language. Also, you should consider using language code as the filename instead real name. @HalfOfBilly can you please add me as a reviewer also when you create PR?

Using language code sounds like a good idea, I'll also include the language name as metadata in the .json file.

Based on current progress, I should be able to finish and test/debug localization by the end of next week if not this week.

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

No branches or pull requests

3 participants