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

Long term localization #544

Open
3 of 5 tasks
parlough opened this issue May 9, 2018 · 5 comments · Fixed by #546
Open
3 of 5 tasks

Long term localization #544

parlough opened this issue May 9, 2018 · 5 comments · Fixed by #546

Comments

@parlough
Copy link

parlough commented May 9, 2018

Messages are now located in a configuration file, but we have not done much to utilize this to my knowledge. Sponge has quite a large international community with speakers of many languages as is seen by the Docs, and I think localization is quite important for the success, as full adoption, of Ore. You often see people asking to re-post projects on websites like mcbbs or similar, and people should feel comfortable on our own websites.

The requirements for this I suppose would be something along the lines of(feel free to edit):

  • Work out some sort of translation system. Whether that is Crowdin, submitting language files directly as a PR, or whatever will work best.
  • Add a UI element for switching between languages, as well as a percentage translated tag.
  • Don't forget other parts of localization such as date format :)

  • Maybe add some sort of system for specifying a different home page for a specific language on your plugin page, so if a user has that language set and that project has a home page for that language created, it will automatically go to that language instead of the default. Lower priority but I think could be quite cool.
  • Eventually when we release a more standardized form of translation support in the API, some place to store language files or whatever the system will be for your plugin, would be fantastic.
@Katrix
Copy link
Member

Katrix commented May 15, 2018

To fill in more info here, most stuff in Ore should already be easily localizable using the messages file. https://github.com/SpongePowered/Ore/blob/master/conf/messages

One thing that is currently missing are cases where we fall back to the default language. Cases where we don't have a language availible from a request. Stuff like emails and notifications for example.

@Katrix
Copy link
Member

Katrix commented May 18, 2018

So, after looking a bit more into this I can share what I have found.

First of, to make it possible to use another language, a few steps need to be followed. First the language code has to be added to the configuration value play.i18n.langs. Next a file containing the strings need to be created called messages.<language code> in the conf directory.

Messages are curly brace formatted, not percentage formatted (My {0} is {1}).

Technically a lot of stuff should be ready just from that, but most likely a lot of things don't work nicely with that.

At the moment we also use the default language in many cases. I've already begun fixing that. Note that we need an additional setting in auth (that's where all the other account settings are) for the user language.

@ryantheleach
Copy link
Contributor

@Katrix @phase Linked PR says that it 'partially resolves' this issue.

What remains?

@Katrix
Copy link
Member

Katrix commented Jul 27, 2018

It doesn't solve the two lower points. Different home pages for plugins for different versions, and storing translation files on Ore. Both are IMO a bit lower priority than making most other parts of Ore localizable.

@Katrix
Copy link
Member

Katrix commented Feb 2, 2019

Moving this to 2.0 as the low effort stuff of this has been implemented, and we'd probably need 2.0 wikis for the other stuff

@Katrix Katrix modified the milestones: v1.7.0, v2.0.0 Feb 2, 2019
@Katrix Katrix modified the milestones: v2.0.0, v2.x Feb 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants