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

localization/translation #37

Closed
4 tasks
howardchung opened this issue Jun 24, 2016 · 7 comments
Closed
4 tasks

localization/translation #37

howardchung opened this issue Jun 24, 2016 · 7 comments

Comments

@howardchung
Copy link
Member

howardchung commented Jun 24, 2016

  • go through the SPA and move any strings into language files
  • figure out routing/persistence of language settings
  • figure out how to load/update valve data in multiple languages
  • have volunteer translators translate strings
@howardchung howardchung mentioned this issue Aug 28, 2016
4 tasks
@howardchung howardchung changed the title externalize strings localization Aug 28, 2016
@howardchung
Copy link
Member Author

howardchung commented Sep 29, 2016

The current design involves having a JSON file with text strings for each language (en.json, ru.json, etc.). Currently we import lang/en into the components, but I think we'll need to refactor that into a general language component that exports the appropriate language strings based on user selection (perhaps persist language selection to a cookie).

Unfortunately this will not work well for SEO, but having a subdomain for each language won't work well with the SPA.

@howardchung howardchung changed the title localization localization/translation Oct 21, 2016
@dartharaknus
Copy link
Member

@howardchung Can you update the status on this issue?

@howardchung
Copy link
Member Author

howardchung commented Nov 4, 2016

  • Extracting strings: Mostly done but there might be a few random spots with hardcoded strings. I didn't enforce this during the early stages.
  • Need to build the LanguageSelector component that presents a selector and saves the chosen option to local storage.
  • Ability/item data from Valve is available in multiple languages, but we probably need to move to fetching it from API dynamically import ability, item, hero data #338 to avoid bundling megabytes of data into the JS bundle. For MVP, we could leave that data in English.
  • Translation: @albertcui set up https://translate.opendota.com, and we'll mention it in our release post.

@blukai
Copy link
Member

blukai commented Nov 4, 2016

I guess we should put the link in footer "Help translate" or smth.

@howardchung
Copy link
Member Author

Sure, we can have a translate link.

@dartharaknus
Copy link
Member

Can you make them into separate issues and let's close this.

@howardchung
Copy link
Member Author

Done for 1 and 2. 3 is basically #338 and 4 is done automatically as users submit translations on crowdin. When we add English strings to en.json, it also automatically puts them up for translation.

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