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

Multilingual support #257

Closed
bedeho opened this issue Feb 16, 2021 · 3 comments
Closed

Multilingual support #257

bedeho opened this issue Feb 16, 2021 · 3 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@bedeho
Copy link
Member

bedeho commented Feb 16, 2021

It seems like it could be advisable to make versions of our website where the copy is in multiple different languages, e.g. Chinese, Russian, Spanish, Arabic, etc.

What sort of changes to the architecture would it require to have this organized and managed in good way, and perhaps also have some sort of easy CMS or something where people could contribute copy for a given language. Would be great if this could be partially crowd sourced, but not sure how easy this would be.

@bedeho bedeho added enhancement New feature or request question Further information is requested labels Feb 16, 2021
@blrhc
Copy link
Contributor

blrhc commented Feb 16, 2021

I've seen a lot of projects use Transifex for localization, it does seem to allow communities to contribute.

@DzhideX
Copy link
Contributor

DzhideX commented Mar 26, 2021

Here's my 2 cents on this discussion. From my point of view there are 2 parts to this:

  • Getting a platform where users can come and translate the necessary text.
  • Taking that text and actually implementing it within our Gatsby React project.

When it comes to the first one there are multiple options:

  • The first and most obvious one would be GitHub. This would make it easiest for the developer as you could make a PR directly to the locales folder with the JSON containing all of the translations. That being said, this may alienate quite a bit of users who have never used GitHub before or aren't part of the dev community. This option would also not cost us any money.

  • As Ben suggested, the most popular localization platform that supports crowdsourcing is Transifex. There are other such popular platforms like Phrase, Lokalise and Smartling but I had a hard time finding anything specific in their docs/websites about being able to crowdsource our translations, whereas Transifex has a whole section about Crowdsourcing in their documentation. I would also like to add that none of these platforms have a free option for the scope of our project. Here are the pricing options for Transifex.

Regarding the second part, there are multiple libraries we can use to implement this functionality to the project. The two most popular libraries (based on number of downloads) are react-intl and react-i18next. These are both good choices. I've gotten react-i18next working locally myself already as a proof of concept but both should work fine!

Some things we should watch out for:

  • All of the designs on joystream-org have primarily been optimized for English. That means that if we want to translate into German(where the words are generally longer) for example, some content would be moved and it would probably look off in many places.

  • With the first point in mind but also the fact that there is a lot of content on the website, this is not really a trivial problem and may take some time to complete.

@bedeho
Copy link
Member Author

bedeho commented Mar 26, 2021

Great summary, thank you.

  • Lets keep going with Github for now, its closer to the model we want to keep. We dont need massive particpation in this translation exercise, so just getting a few solid languages to begin with is sufficient, and Github should not be a bottleneck for that. We could even have community members source translations from third parties, and then these community members use github to contribute it back.
  • Lets use whatever library you are most comfortable with and which reduces time to market.
  • Yes we have to watch out for this, so whoever is doing the merging should check this.

@DzhideX DzhideX mentioned this issue Apr 9, 2021
3 tasks
@DzhideX DzhideX closed this as completed Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants