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

Interface translations #60

Closed
brylie opened this issue Nov 14, 2014 · 19 comments
Closed

Interface translations #60

brylie opened this issue Nov 14, 2014 · 19 comments

Comments

@brylie
Copy link
Contributor

brylie commented Nov 14, 2014

Story

As a non-English speaking user
I would appreciate if the userface elements, such as inline-help, were translated
So that I can easily navigate the interface

Example

As a non-English language speaker, I

  1. Look for a link to 'change language'
  2. Click to select the appropriate language for my needs

Dependencies/relationships

  • Internationalization (i18n)
  • Localization (l10n)
  • Accessibility (a11y)

Support this issue

Bountysource

@brylie brylie changed the title Inline documentation translations Interface translations Nov 14, 2014
@kyyberi
Copy link

kyyberi commented Nov 15, 2014

I have experience in this from several projects. I would gladly translate to Finnish. In Rails i18n is in good shape, http://guides.rubyonrails.org/i18n.html. Before going any deeper with the UI development, this might be a good moment to add the translations (.yml) logic in the structure

@GUI
Copy link
Member

GUI commented Nov 18, 2014

Great idea. The admin app is a Rails app, but must of the interface is actually being rendered by Ember.js and Handlebars templates. So I think it would be good to implement an i18n solution that will support both Rails and Ember.

There's ember-i18n, but that looks to be Ember only. What looks like a better is the solution the Discourse folks outlined here. They're using i18n-js for the javascript side of things, which hooks into the default yaml localization files from Rails. This would let us maintain only one set of localization files we could maintain regardless of whether the interface is being rendered server-side or client-side.

@ccsr
Copy link

ccsr commented Jan 13, 2015

I have backed this up with bounty on https://www.bountysource.com/issues/6023540-interface-translations

@GUI
Copy link
Member

GUI commented Jan 19, 2015

I forgot to mention this, but a while back, I laid the foundation for both server-side and client-side translations. Both use the Rails config/locales/*.yml files, so all the translations should be consolidated there. When working on new features I've tried to only use localized strings in the UI. There's still a fair bit of work to update all the rest of the existing UI to use localized strings, but some of it is in place (admin menus and I think most of the API Backends form).

Here's the current translations: https://github.com/NREL/api-umbrella-web/blob/master/config/locales/en.yml

I've also been playing with some different services to help manage translations. Here's our project on OneSky: https://nrel-gov.oneskyapp.com/collaboration/project?id=47156 If you signup, they provide an interface for managing translations, tracking progress, dealing with updates, etc. Or if you'd prefer to stick to the raw YAML files and git, pull requests are welcome. Or if you have any other preferred ways of dealing with translations, I'm more than open to suggestions.

So while this isn't done yet, hopefully these pieces are at least a start towards making translating the entire app easier.

@brylie
Copy link
Contributor Author

brylie commented Jan 20, 2015

Can we use a service such as Transifex to collaborate on these translations? We can help with the Finnish translation.

@GUI
Copy link
Member

GUI commented Jan 20, 2015

Did you check out our translations on the OneSky account I linked to? OneSky should be a service that's very similar to Transifex. I had played with both services and mainly used OneSky since it seemed a bit easier to figure out than Transifex, but that's just me. I've never actually done translations before, so if you're familiar with Transifex, or you'd simply prefer that service for any reason, just let me know and I'm happy to get us setup over there instead.

@brylie
Copy link
Contributor Author

brylie commented Jan 20, 2015

Ah, my bad. I obviously didn't catch that link, sorry.

@perfaram
Copy link
Contributor

Hmmm, I could translate the UI to french.

@kyyberi
Copy link

kyyberi commented Jan 24, 2015

I can do Finnish translation

@GUI
Copy link
Member

GUI commented Jan 25, 2015

@perfaram: I saw you added the French translations in OneSky. Thank you! I've pulled those into master at NREL/api-umbrella-web@603a77e

@brylie
Copy link
Contributor Author

brylie commented Jan 27, 2015

Yay Team Finland (@kyyberi and Vesa)! 62% completed :-)

@kyyberi
Copy link

kyyberi commented Jan 27, 2015

92,8% :D I just got home and had some time to translate a few more

@perfaram
Copy link
Contributor

Started to translate in German

@brylie
Copy link
Contributor Author

brylie commented Feb 2, 2015

Great job with the Finnish translation!

Out of curiosity and since we have so many translators working right now, how can we check the i18n string coverage in the API Umbrella? I.e. how can we ensure that the current translation efforts are covering a substantial portion of the UI strings?

@GUI
Copy link
Member

GUI commented Feb 10, 2015

Finnish, French, Italian, and Russian translations have been included in the new v0.7 packages (with some translations started in German and Spanish too). I really want to thank everyone on this issue for getting the translation process rolling and also helping out with the actual translation work too! I hope this will begin to make API Umbrella more useful to others.

A few notes on this translation front:

  • I think the admin menus and most of the API Backends form should be translated. However, please note that we still haven't switched over a number of other places in the admin to be translation-friendly. So even though we have a number of languages that have translated 100% of the phrases according to OneSky, there will still be more work before all the interface bits in the admin are fully translated. But I'm hoping this will be a good start. I'll try to do a more thorough internationalization of the admin UI at some point, but feel free to let us know what's missing.
  • I think I forgot to mention, but the language used in the admin is determined based on your browser's Accept-Language header. So right now, the admin language used isn't an option you choose anywhere, but instead it will be based only on what languages we support and what your browser says is your preferred language. But as a sad mono-lingual person myself, I don't exactly know how well this works. So from the international crowd I'd love to know: Does this simple browser-based approach work well for you? Or would you prefer an explicit preference that you have to set on your account to choose a language?

@GUI
Copy link
Member

GUI commented Feb 10, 2015

Actually, crap, it looks like we made a mistake in packaging v0.7 that will mean the admin will be broken if your browser tries to load a non-English language. I thought I had tested this, but I guess not. Sorry!

I'll try to get v0.7.1 released within the next couple days to fix this. In the meantime, if you were interested in the admin interface translations, you may want to hold off for a couple days until this ticket is closed: #103

@GUI
Copy link
Member

GUI commented Feb 12, 2015

And as a quick heads up, v0.7.1 packages have been released to fix this glaring translation oversight in v0.7.0 (and more tests have been added to ensure this doesn't happen again). Sorry about that! So if you want to give any of the different languages a spin, then v0.7.1 should be the version for you.

@brylie
Copy link
Contributor Author

brylie commented May 26, 2015

@NRELAdmin @GUI I am closing this issue, as we have crowdsourced the translation effort.

@brylie brylie closed this as completed May 26, 2015
@brylie
Copy link
Contributor Author

brylie commented May 26, 2015

@NRELAdmin please consider how to distribute the $250 bounty.

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

5 participants