Subject: bug#26302: [website] translations

From: Ludovic Courtès <[email-masked]>
Date: Sun, 08 Sep 2019 21:44:44 +0200

Hi Florian,

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> Find attached preliminary patches that add a working website
> translation system to guix-artwork.  Of course, the patches should
> *not* be pushed before there is a working nginx configuration with
> appropriate redirects.  (Except the first three patches; I do not
> understand how you could even build the website without my first
> patch?)

Cool, thanks for opening this issue!

> In my patches, I have used spaces for indentation.  Most previous
> website code used a mix of tabs and spaces, like in emacs’ strange
> default setting.  If you want, I can tabify my patches.  I cannot see
> any reason for using mixed tabs+spaces with emacs-style Lisp
> indentation though.

Spaces are good (easily pastable in the REPL), the whole Guix code base
is meant to use spaces only.

> For redirecting previous URLs based on the HTTP Accept-Language
> header, there is
> <https://www.nginx.com/resources/wiki/modules/accept_language/#accept-language-installation>.
> It could be added to nginx.

Good.

> I do not know what the new URLs should be.  After reading
> <https://webmasters.stackexchange.com/questions/403/how-should-i-structure-my-urls-for-both-seo-and-localization>
> I now understand that there indeed should be separate URLs for each
> language and Accept-Language headers are not sufficient.  However,
> Ludo’s idea of translating URLs including the basename
> <https://lists.gnu.org/archive/html/guix-devel/2019-08/msg00164.html>,
> i.e. /help.html as /es/ayuda.html, leads to questions about the
> implementation such as what Jelle Licht mentioned
> <https://lists.gnu.org/archive/html/guix-devel/2019-08/msg00169.html>.
> We can do whatever we want, so let’s do what is best.  What do you
> think, /es/ayuda/ or /es/help/ or something else?
>
> For ayuda, we would then need to make `guix build -f .guix.scm` build
> with the static website also some kind of association list for
> redirects that is readable by nginx lua code or whatever (could there
> be guile plugins for nginx??).
>
> We can do /es/help/ now and make /es/ayuda/ later.

Yeah, let’s keep that for later.

> One of the attached patches adds a PO file with a German translation
> that was needed for testing purposes; of course translations should
> normally be submitted via the Translation Project.  The patch need not
> be applied; do as you see fit.

I wonder if we should use the TP for this.  Thoughts?

> With respect to the help mailing list blurbs on the website, my code
> gives priority to the PO file translation of the blurb and uses the
> previous hard-coded translations as a fall-back.  I would keep the
> blurbs this way until all are part of a PO file at the Translation
> Project.

Sounds good.

> The Chinese language blurb is written in traditional Chinese
> characters.  I believe there never was a decision on
> <https://lists.gnu.org/archive/html/guix-devel/2018-03/msg00131.html>,
> so I leave the language code as “zh” for now, even though someone may
> add a “zh-cn” too.

Yeah, we can always adjust later.

Thanks!

Ludo’.