jeremyckahn / chitchatter

Secure peer-to-peer chat that is serverless, decentralized, and ephemeral
https://chitchatter.im/
GNU General Public License v2.0
1.54k stars 200 forks source link

Internationalization support #125

Open mdk-ML opened 1 year ago

mdk-ML commented 1 year ago

Hello big brother, can you add a setting to switch the interface language? Like Chinese?

jeremyckahn commented 1 year ago

Hi @mdk-ML, thanks for bringing this up. I think supporting more languages (AKA internationalization or "i18n") would be an excellent addition to Chitchatter!

Achieving i18n would boil down to three steps:

  1. Set up basic i18n infrastructure a. react-i18next seems like as good an option as any. b. I can take care of this.
  2. Update the UI code to use translation keys a. Example: Replacing code like <p>Hello, World!</p> with something like <p>{t('greeting')}</p> b. I can at least get this started, but help from others would help to get this completed.
  3. Translating Chitchatter's English content to other languages a. This is where I really need help, because I only know English. Translations would need to be made by someone fluent in the language to be translated to.

This is a sizeable effort, but it's one worth doing. Before I start on this initiative, I'll need to get a commitment from someone to translate Chitchatter's English content to at least one other language. @mdk-ML would you be able to do the Chinese translation?

Would anyone else like to volunteer for other languages?


I'm going to tweak the title of this issue to bring the focus to i18n.

mdk-ML commented 1 year ago

I am willing to do Chinese translation, it is a great honor.

jeremyckahn commented 1 year ago

Thanks for offering to help, @mdk-ML! Before translation can begin, I'll need to set up Chitchatter for i18n support (steps 1 and 2 in my previous comment). I've got a few other tasks I need to finish first, so I'll get to this when I can. I'll update this thread once the project is ready for translation.

jeremyckahn commented 1 year ago

I haven't had a chance to set up react-i18next yet, and I'm not sure when I'll be able to. I'm going to open this up to the community in case anyone wants to lead the effort.

If anyone reads this and wants to implement an i18n solution for Chitchatter, please let me know!