What if we take the long path by starting small? Let me add gettext support, and we don't have to use it everywhere from day one. Let me just make the "--help" output support Albanian and German. This shouldn't affect anything in the operation of the program since it is in the exit path. It's small and safe. Plus it gives us a chance to discuss implementation further. ❯ zsh --help > Usage: zsh [] [ ...] > > Special options: > --help show this message, then exit > --version show zsh version number, then exit > -b end option processing, like -- > -c take first argument as a command to execute > -o OPTION set an option by name (see below) > > Normal options are named. An option may be turned on by > `-o OPTION', `--OPTION', `+o no_OPTION' or `+-no-OPTION'. An > option may be turned off by `-o no_OPTION', `--no-OPTION', > `+o OPTION' or `+-OPTION'. Options are listed below only in > `--OPTION' or `--no-OPTION' form. > > This means, I'll make this text be extractable to generate *.POT files and then we can use all kinds of tools and websites to do the actual translation. I'll also use a certain syntax for parameters in the strings, and that can also be used as an example for new strings to be added to the zsh. I don't know what is the anticipated release date for 6.0, but maybe we can put this much in for 6.0? And then, since zsh 5.xx lasted 11 years, and before that 4.xx lasted 12 years, I assume 6.xx will also last about 10+ years, can we make a long term plan to fully implement gettext support during the lifetime of 6.xx for the next 10 years? What do you guys think? Shall we try it? Thanks, //Agron On Wed, Jun 7, 2023 at 10:56 PM Bart Schaefer wrote: > On Tue, Jun 6, 2023 at 8:54 AM Peter Stephenson > wrote: > > > > > On 06/06/2023 16:20 Agron Selimaj wrote: > > > However, I am not sure the zsh project supports gettext (and POEdit) > throughout. > > > So, in order to support localization in general, we first must use > gettext everywhere. > > > Is this something this team is willing to do? > > > > This is certainly a useful thing to do, however previous discussions > suggest there is > > no one around to do the considerable amount of work that supporting > databases on this > > scale would require. > > Having previously overseen the gettext-ification of a piece of > software of similar original vintage and complexity, I would say that > supporting the databases is often the least of the issues. Sentence > structure varies, which requires converting catenated substrings into > snprintf formats or sets of alternatives; pluralization may differ, > requiring 0 / 1 / >1 conditionals even with gettext intervention; etc. > Also, because of the pervasive changes required, we found it necessary > to merge all outstanding code changes and call a halt to other > development until the "l10n" pass was complete, or we couldn't track > deltas accurately (though we were stuck with CVS for version control > at the time). > > This is definitely not something we would want to dive into until > after whatever the next zsh release is, is done. >