protoschool.github.io icon indicating copy to clipboard operation
protoschool.github.io copied to clipboard

Feature: Support translations / localization

Open terichadbourne opened this issue 5 years ago • 6 comments

Parts of the IPFS project are structured in a way that accommodates localization, with volunteer translators working via Transifex. (Learn more here about contributing translations.)

Once we have ProtoSchool's structure more stable (which will depend on completing our audit of online coding education platforms and determining whether we're migrating), it would be great to revamp our structure in a way that would support translations on the ProtoSchool website as well.

This is not a change we can make immediately, but I'm opening the issue now so folks can follow it if they're interested in knowing when translations are possible.

terichadbourne avatar Jul 16 '19 15:07 terichadbourne

For future reference, here's a PDF of a presentation in Mandarin by the Shanghai chapter that covers the content of our Decentralized Data Structures tutorial. Thanks to @steven004 for sharing this presentation by Yu Da (a senior engineer from IPFS-Force) which took place July 28, 2019.

terichadbourne avatar Aug 06 '19 14:08 terichadbourne

I am putting the Chinese version of Decentralized Data Structures Tutorial into Shanghai Chapter repo.

And, also welcome to watch the video of the training from here.

steven004 avatar Aug 12 '19 10:08 steven004

I just found another translation of the Decentralized Data Structures tutorial into Chinese here.

terichadbourne avatar Jul 07 '20 16:07 terichadbourne

I accidentally created this as a duplicate issue but have been referring folks, here, so now copying in some notes from #39:

from @lidel on 9/10/18:

@mikeal we should add it to https://www.transifex.com/ipfs/public/ :)

Steps I see:

  1. Create a PR which moves English strings to separate source files, preferably in JSON-ICU format (to make it framework-agnostic and integrate with Transifex without conversion step). Some prior art:
    • In new WebUI we're using i18next with i18next-icu, the setup is quite straightforward.
    • There is an open PR adding i18n to IPLD Explorer that you can check as well: https://github.com/ipfs-shipyard/ipld-explorer-components/pull/1/
    • Those apps use React, but i18next bits will be mostly the same. I see there is also a helper for Vue: @panter/vue-i18next, but I had no experience with it.
  2. In the same PR add .tx/config and create a project at Transifex (ping @lidel)
  3. Merge to master
  4. Set up Transifex to automatically check source strings from master for updates

Step 1 is a chore but If you create PR with that, I can set up the rest :)

For more info about Transifex part, see References in https://github.com/ipfs/ipfs-gui/issues/50

terichadbourne avatar Sep 17 '20 21:09 terichadbourne

@mikeal we should add it to https://www.transifex.com/ipfs/public/ :)

Yes please! There are a lot of translators and growing activity on Transifex. This will help the growth of IPFS, etc in non-English speaking countries. Chinese, Spanish, Arabic, French and German are much needed, to name a few.

Also, there is a potential risk associated with waiting too long: external websites will start summing up proto.school with their own translations, which could slightly differ, leading up to confusion for learners. Putting it up on Transifex also ensures it is consistent with the translations found on ipfs.io, IPFS Desktop, etc.

bertrandfalguiere avatar Jan 21 '21 09:01 bertrandfalguiere

Totally agree, @bertrandfalguiere, and will keep folks updated here. Preparing for translation will require a major overhaul of our codebase, which we're prioritizing alongside some other large projects on the horizon.

In the meantime, we're using our user survey to capture language preferences and are building new features with translations files so that there will be less to overhaul when the time comes.

Can't wait to get the community's support with translations once we've made the necessary structural changes!

terichadbourne avatar Jan 22 '21 22:01 terichadbourne