sopel-irc / sopel

:robot::speech_balloon: An easy-to-use and highly extensible IRC Bot framework. Formerly Willie.
https://sopel.chat
Other
949 stars 403 forks source link

i18n: use gettext to allow translation of plugins #2032

Open Exirel opened 3 years ago

Exirel commented 3 years ago

The problem

Sopel is in English only. I'd love to see it speaks in French, and I'm sure other people would like to see Spanish, German, Dutch, and so many more!

The solution

In Python, there is gettext (see the Python documentation for i18n), so the first step is probably to have a look and see how to use it in Sopel. Then, ensure that plugins can be translated too. After that, we can open Sopel for translation by the community, maybe by using Transifex which has an open-source free plan.

half-duplex commented 3 years ago

I've also seen https://crowdin.com/ around, which also has a free option for open source, but that's the extent of my familiarity.

dgw commented 3 years ago

I already have to maintain localization files through Crowdin for another project, and am not interested in doing so for Sopel. If there was a way to let others maintain and release translations for that project separately, I would.

Let's take inspiration from YOURLS: make translations installable as packages, just like plugins, so they don't have to be maintained in lockstep with core, and so anyone can release any language they want with or without our blessings.

RhinosF1 commented 3 years ago

What about translatewiki ?

They automate the import and export. You could still build config that could allow it to be updated seperately to Sopel.

Exirel commented 3 years ago

make translations installable as packages, just like plugins

100% agree.

dgw commented 2 years ago

Calling it a wishlist item.