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

I18N support is incomplete #247

Open
4 tasks
LaCuneta opened this issue Mar 15, 2023 · 0 comments
Open
4 tasks

I18N support is incomplete #247

LaCuneta opened this issue Mar 15, 2023 · 0 comments

Comments

@LaCuneta
Copy link
Contributor

LaCuneta commented Mar 15, 2023

I wanted a central place to track I18N efforts for NetLogo Web, including Galapagos (for now). The status now is that during the runtime error checking work I used Jason's original idea to add I18N bundles for those error messages. John C then used that to add Simplified Chinese support for those same runtime error messages, and I just added the code to Galapagos to handle switching based on the browser's locale.

Here is what remains to be done:

  • Get the parser properly using the existing I18N messages from NetLogo desktop. In theory all the information it needs is already there, it's just a matter of passing in the locale and using it.
  • Add the existing translations from desktop for runtime error messages. This is just a matter of grabbing a file from the NetLogo repo, transforming it to match the Tortoise format, and then adding it to the I18NBundle's static declaration. Note that not all NetLogo error messages are used in Tortoise yet, so it might be best to only transfer the ones that are in the existing en_us file. Automating some of this process may be possible.
  • Add I18N support for NetLogo Web's GUI. At the moment there is no I18N support at all, so an I18N component would need to be added, then all existing strings moved into it, and then all those strings would need to be translated. Strings that match NetLogo desktop can rely on those existing translations, but I'm sure many of them will not match.
  • Translations for NetLogo Web's documentation, particularly the authoring page but also some of the more critical FAQ entries like how to host models.

Longer term goals and/or ideas that we can split off once the above work is complete:

  • Support per-model translations using the same format as Turtle Universe.
  • Some kind of script that can help keep the translation files in sync. This can include things like pointing out missing strings from the non-en_us file, pointing out strings that don't exist in the en_us file (key name changes), and also auto-adding missing strings for people doing translation work. Some of this should be added to the Actions tests.
  • Get language bundles loading dynamically to avoid users needlessly loading the translation bundles they don't need. This should probably wait until we've converted Tortoise to use ES modules.
  • Possibly look into just making Google Translate (or other translation service) work for NetLogo Web models for anything that has yet-to-be translated or for languages we don't support. Jason had a comment about that in this Galapagos issue.
  • NetTango Web and HubNet Web will also need to be translated after Galapagos itself supports I18N.
  • Look into merging the I18N translation files from NetLogo desktop, NetLogo Web, Turtle Universe, NetTango Web, and HubNet Web to a common format and repository so we can maximize re-use between the platforms for common GUI strings and runtime messages.
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

1 participant