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

Add Internationalization Support #206

Open
bobsummerwill opened this issue Oct 3, 2019 · 22 comments

Comments

@bobsummerwill
Copy link
Member

commented Oct 3, 2019

We have a community gulf to fill between East and West because of having entirely different websites, entirely different tools for communication and because of cultural differences.

So we fix that, by adding translations right here, to the EthereumClassic.org website.

@hitchcott can help us.

The goal would be to have either a runtime toggle (ideal) or to generate the static HTML multiple times.

I want the ETC Consortium (@zoulaihui) and ETC Asia communities (@ChrisXK) to have the option of just mapping directly to EthereumClassic.org (with Chinese by default through their URL), or to maintain their own websites which refer back to this Global one.

This approach does not just give us a means of bringing China and the West closer, but also gives us a path for other language communities (German, Italian, Spanish, French) to do the same.

The desired workflow would be:

  1. Contributor adds new article (in English or other language)
  2. Translators or community managers for other languages are subscribed to this repository, and notice, and get a translation done and then gets committed here too.

Most of the time, the original articles are written first in English. If that happens, we would want that article to show up for people using other languages too - but it will be in English for them until a translated version is available.

For non-English original articles - ie. something written in Chinese about a meetup in Beijing, I am not sure that we would want that to be showing for everyone else. We should only have the drop-back to English. So if there is no "local language" version then drop back to English, and if there is no English version either then don't show it.

So I am a French person. Chinese article added. I do not see it.
So I am a French person. English article added. I see it. If later a French translation is added then I see that.

So I am a French person with that same scenario, but for some reason the article gets translated directly to French, but not to English. In that case I see nothing, and then I see the French version.

So we are favoring English (because of its universality), and have English as a default, and only show localized or drop-back to English.

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 3, 2019

I will help with the translations in german and russian.

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 4, 2019

There is built-in internationalization support in the Gatsby framework, so this should not be hard:

https://www.gatsbyjs.org/docs/localization-i18n/


gatsby-plugin-i18n
This plugin helps you use react-intl, i18next or any other i18n library with Gatsby. This plugin does not translate or format your content, but rather it creates routes for each language, allowing Google to more easily find the correct version of your site, and if you need to, designate alternative UI layouts.

The naming format follows .languageKey.js for files and /languageKey/path/fileName for URLs.

Example:

File - src/pages/about.en.js

URL - /en/about

@ErkanGu1

This comment has been minimized.

Copy link

commented Oct 4, 2019

@Automata-korea

This comment has been minimized.

Copy link

commented Oct 6, 2019

I can help with the translations in Korean.
and can help publish article.

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

Brilliant - thank you, @Automata-korea!

Everyone - here is how easy it was for me to add a blog post to the site. We should all really try to do that whenever we can rather than using Medium, because then it works within China too, and we are not trapped within the Medium empire.

https://github.com/ethereumclassic/ethereumclassic.github.io/pull/208/files

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 6, 2019

So you are going to at least following along and look into Turkish stuff, @ErkanGu1?
Though you said you likely cannot volunteer, but are just running your business?

@MileyFu

This comment has been minimized.

Copy link

commented Oct 7, 2019

I can help with the Chinese translation.

@Athethepainter

This comment has been minimized.

Copy link

commented Oct 8, 2019

Hi, I can help with the French translation.

I used to work a lot with React/Gatsby so I can also help with design/css and site development :)

@hitchcott

This comment has been minimized.

Copy link
Member

commented Oct 8, 2019

I just pushed the v2 branch which shows how I intend the i18n to be structured.

Over the coming days I'll be migrating the english content into this branch.

After some research I wasn't able to use the vanilla i18n plugin as it's fairly simple (and doesn't scale for large websites with blogs etc), so I implemented a custom page generation script in gatsby-node.js. It more explicitly manages supported languages as well as fallback to English for non-translated content.

The localised content and UI strings are managed in the ./content directory (in the form of markdown and json strings).

@Athethepainter are you at devcon?

@Athethepainter

This comment has been minimized.

Copy link

commented Oct 8, 2019

@hitchcott No I am in France actually.

I am available on discord or other platforms if we need to talk :)

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 8, 2019

For anybody who has not already noticed, I have created additional Github issues for each of these translations. @hitchcott is working on the actual internationalization structure and support, which is what this issue is tracking. Then when that is done, and we have all the site content updated in English, it will be time for the translation work to be being.

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 8, 2019

Please can everybody here add themselves as "Member" to the ethereumclassic organization?
Especially the translators.
When you are members we can assign the tasks for these translations to each of you.

https://github.com/orgs/ethereumclassic/people

Thanks!

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 8, 2019

Yes, I already noticed it Bob. Are we gradualy going to publish the contents in different language as we will maybe not finish all at the same time with the content?

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 8, 2019

Should not the person be invited by Cody or similar? I got my today and joined already?

@bobsummerwill

This comment has been minimized.

Copy link
Member Author

commented Oct 8, 2019

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 9, 2019

Ok

@Athethepainter

This comment has been minimized.

Copy link

commented Oct 9, 2019

I didn't find the place to self join the organization. Can someone invite me ?

@MileyFu

This comment has been minimized.

Copy link

commented Oct 10, 2019

I didn't find the place to self join the organization. Can someone invite me ?

Me either...Also may I ask if I get a assigned task how urgent would they be? Trying to estimated the amount of time needed to put in.

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 10, 2019

@Athethepainter, @MileyFu you should get an invitation from DontPanic soon.
Here is a draft version: https://vigorous-poitras-bc8223.netlify.com/.
Would you like join etc discord too? @MileyFu Is it technnically possible for you? Just in case here is the link: https://discord.gg/k6SxGj. Ping me there (at a.s.) and I will approve you

@Harriklaw

This comment has been minimized.

Copy link

commented Oct 13, 2019

i ll help with greek translations

@Harriklaw

This comment has been minimized.

Copy link

commented Oct 13, 2019

i ll help with greek translations

@TheEnthusiasticAs @bobsummerwill

@TheEnthusiasticAs

This comment has been minimized.

Copy link
Member

commented Oct 13, 2019

@realcodywburns could you pls add @Harriklaw to the etc orga? Thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
9 participants
You can’t perform that action at this time.