website: Language selection dropdown not translated

  • Done
  • quality assurance status badge
Details
One participant
  • pelzflorian (Florian Pelz)
Owner
unassigned
Submitted by
pelzflorian (Florian Pelz)
Severity
normal
P
P
pelzflorian (Florian Pelz) wrote on 28 Oct 2021 10:13
(address . bug-guix@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20211028081340.hj2ceeagqfjay2m2@pelzflorian.localdomain
Ludo recently divided building the website into one computed file for
each language (“lingua”) in order to offload the build (a good thing;
thank you Ludo).

However, this includes making available for each lingua only the
translations MO file for that lingua.

Specifically .guix.scm now links only that file:

(symlink (string-append #$(lingua-mo-files lingua) "/" lingua)
lingua)

But on the website, there is a language selection dropdown at the top
right and the names of alternative language are taken from that
language’s MO file.

Because the build does not have available all MO files anymore, all
foreign languages are now called English.

(Another effect is that the contact web page only lists the German
message for the Help mailing list on the German website but meh …)

Is the proper solution to symlink all lingua-mo-files, i.e. reinstate
from before commit 4d5bf8522e2 a for-each like

(for-each
(lambda (lingua mo-directory)
(symlink (string-append mo-directory "/" lingua)
lingua))
(list #$@%linguas)
'#$(map lingua-mo-files %linguas))

(I have not tried.)

Or should website/apps/base/templates/components.scm look up the
language dropdown’s language names in a different way such as from the
PO file, which is more complicated?

Regards,
Florian
P
P
pelzflorian (Florian Pelz) wrote on 28 Oct 2021 12:09
(address . bug-guix@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20211028100956.iebrx6v7iommkgdn@pelzflorian.localdomain
On Thu, Oct 28, 2021 at 10:13:49AM +0200, pelzflorian (Florian Pelz) wrote:
Toggle quote (12 lines)
> Is the proper solution to symlink all lingua-mo-files, i.e. reinstate
> from before commit 4d5bf8522e2 a for-each like
>
> (for-each
> (lambda (lingua mo-directory)
> (symlink (string-append mo-directory "/" lingua)
> lingua))
> (list #$@%linguas)
> '#$(map lingua-mo-files %linguas))
>
> (I have not tried.)

Seems to work. I have guix build -f .guix.scm but only one lingua got
built so far, it looks right. Patch attached. Shall I push or …

Toggle quote (5 lines)
>
> Or should website/apps/base/templates/components.scm look up the
> language dropdown’s language names in a different way such as from the
> PO file, which is more complicated?

Regards,
Florian
From 947a7b98beda5b49890a61f0751d5765157f5cde Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Thu, 28 Oct 2021 10:21:52 +0200
Subject: [PATCH] website: Make available all .mo files for each language.

Because the language selection dropdown needs all.


* website/.guix.scm (lingua-web-site): When building one language,
still use 'lingua-mo-files' for all languages.
---
website/.guix.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

Toggle diff (21 lines)
diff --git a/website/.guix.scm b/website/.guix.scm
index 3beb0e8..c5cb367 100644
--- a/website/.guix.scm
+++ b/website/.guix.scm
@@ -215,8 +215,12 @@
;; Build the website for LINGUA. (apps i18n) calls
;; 'bindtextdomain' on $PWD so provide .mo files right here.
- (symlink (string-append #$(lingua-mo-files lingua) "/" lingua)
- lingua)
+ (for-each
+ (lambda (lingua mo-directory)
+ (symlink (string-append mo-directory "/" lingua)
+ lingua))
+ (list #$@%linguas)
+ '#$(map lingua-mo-files %linguas))
(setenv "LC_ALL" (string-append lingua ".utf8"))
(format #t "Running 'haunt build' for lingua ~a...~%" lingua)
--
2.33.1
P
P
pelzflorian (Florian Pelz) wrote on 2 Nov 2021 16:08
Re: bug#51456: website: Language selection dropdown not translated
(address . 51456-done@debbugs.gnu.org)
20211102150825.ghde3dpk5tpjmlaj@pelzflorian.localdomain
On Thu, Oct 28, 2021 at 12:09:56PM +0200, pelzflorian (Florian Pelz) wrote:
Toggle quote (19 lines)
> On Thu, Oct 28, 2021 at 10:13:49AM +0200, pelzflorian (Florian Pelz) wrote:
> > Is the proper solution to symlink all lingua-mo-files, i.e. reinstate
> > from before commit 4d5bf8522e2 a for-each like
> >
> > (for-each
> > (lambda (lingua mo-directory)
> > (symlink (string-append mo-directory "/" lingua)
> > lingua))
> > (list #$@%linguas)
> > '#$(map lingua-mo-files %linguas))
> >
> > (I have not tried.)
>
> Seems to work. I have guix build -f .guix.scm but only one lingua got
> built so far, it looks right. Patch attached. Shall I push or …
> > Or should website/apps/base/templates/components.scm look up the
> > language dropdown’s language names in a different way such as from the
> > PO file, which is more complicated?

Patch pushed as f2ac98776b321755b672a8f6a1b07d4ab10fff7c.

This undid some of Ludo’s 3689f95c7f197ca83fd78b4e1693c18779da8bb1 and
4d5bf8522e24e2939968dc40ab1ff9809e423ac6, but it seems the only clean
solution.

Regards,
Florian
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 51456@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51456
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch