unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org, sirgazil <sirgazil@zoho.com>,
	matias_jose_seco@autoproduzioni.net
Subject: Re: Website translation
Date: Thu, 18 Jul 2019 22:28:31 +0200	[thread overview]
Message-ID: <20190718202831.4vavgrmogrkpdote@pelzflorian.localdomain> (raw)
In-Reply-To: <87h87jffd7.fsf@elephly.net>

On Thu, Jul 18, 2019 at 06:59:32PM +0200, Ricardo Wurmus wrote:
> 
> pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de> writes:
> 
> > I think msgctxts could help with fragmentation, as I would
> > prefer format strings with msgctxt over HTML-that-is-not-SHTML with
> > itstool (I may misunderstand itstool though).
> 
> I don’t understand.  itstool operates on plain old XML fragments.
> 

At first I thought of plain HTML strings, but it surely was a
misunderstanding.

I now get the impression itstool is something like Glade’s
<https://pelzflorian.de/git/gui-prog-gtk/tree/bin/copyshop/src/ui/menu.ui>.
I suppose it is a wrong impression again?


> What’s the desired workflow?

Something like

(li
 (b "Liberating.")
 " Guix is an advanced
distribution of the "
 ,(link-yellow
   #:label "GNU operating system"
   #:url (gnu-url "gnu/about-gnu.html"))
 " developed by the "
 ,(link-yellow
   #:label "GNU Project"
   #:url (gnu-url))
 "—which respects the "
 ,(link-yellow
   #:label "freedom of computer users"
   #:url (gnu-url "distros/free-system-distribution-guidelines.html"))
 ". ")

could be something like

(li
 (b ,(G_ "Liberating."))
 ,(I_ " Guix is an advanced distribution of the
<gnu-url-link path='gnu/about-gnu.html'>GNU operating system</link>
 developed by the <gnu-url-link>GNU Project
</gnu-url-link>—which respects the <gnu-url-link
 path='distros/free-system-distribution-guidelines.html'>
freedom of computer users</gnu-url-link>. "
      `(gnu-url-link
        . ,(lambda* (content #:key (path ""))
             (link-yellow
              #:label content
              #:url (gnu-url path))))))

or could be format strings like sirgazil’s code

(li
 (b ,(G_ "Liberating."))
 ,(I_ " Guix is an advanced
distribution of the ~GNU OS~ developed
by the ~PROJECT~—which respects the
~FREEDOM~. "
      (link-yellow
       #:label (G_ "GNU operating system")
       #:url (gnu-url "gnu/about-gnu.html"))
      (link-yellow
       #:label (G_ "GNU Project")
       #:url (gnu-url))
      (link-yellow
       #:label (G_ "freedom of computer users")
       #:url (gnu-url "distros/free-system-distribution-guidelines.html"))))

with the po file containing

#: apps/base/templates/home.scm:42
msgid ""
" Guix is an advanced\n"
"distribution of the ~GNU OS~ developed\n"
"by the ~PROJECT~—which respects the\n"
"~FREEDOM~. "
msgstr ""
"Guix ist eine vom ~PROJECT~ entwickelte,"
"fortgeschrittene Distribution des ~GNU OS~"
" — die die ~FREEDOM~ respektiert."

#: apps/base/templates/home.scm:47
msgid "GNU operating system"
msgstr "GNU-Betriebssystems"

#: apps/base/templates/home.scm:50
msgid "GNU Project"
msgstr "GNU-Projekt"

#: apps/base/templates/home.scm:50
msgid "freedom of computer users"
msgstr "Freiheit, wie man seinen Rechner benutzt,"


Format strings yield fragmented PO files, which is why it might be
better to use them with a msgctxt/pgettext.  For example, "GNU
operating system" may need different translations and grammatical
cases in different places on the website.  Without pgettext, this
approach does not work, it seems.


Another option I would like the most is using a custom PO file writer
and MO file reader that generates a single msgid directly from the
original nested s-expression.  Such a procedure seems nice to use, but
complicated to implement.

Regards,
Florian

  reply	other threads:[~2019-07-18 22:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-06 12:50 Guix beyond 1.0: let’s have a roadmap! matias_jose_seco
2019-07-07 14:20 ` Ludovic Courtès
2019-07-07 16:57   ` Website translation (was: Re: Guix beyond 1.0: let’s have a roadmap!) pelzflorian (Florian Pelz)
2019-07-07 18:00     ` pelzflorian (Florian Pelz)
2019-07-07 22:28     ` Christopher Lemmer Webber
2019-07-11 15:15       ` Website translation Ludovic Courtès
2019-07-12  5:35         ` pelzflorian (Florian Pelz)
2019-07-14 14:12           ` Ludovic Courtès
2019-07-14 14:26             ` pelzflorian (Florian Pelz)
2019-07-15 12:33               ` Ludovic Courtès
2019-07-15 14:57                 ` Julien Lepiller
2019-07-15 15:54                 ` pelzflorian (Florian Pelz)
2019-07-17 21:16                   ` Ludovic Courtès
2019-07-18 15:08                     ` pelzflorian (Florian Pelz)
2019-07-18 16:59                       ` Ricardo Wurmus
2019-07-18 20:28                         ` pelzflorian (Florian Pelz) [this message]
2019-07-18 20:57                           ` pelzflorian (Florian Pelz)
2019-07-19 12:29                           ` pelzflorian (Florian Pelz)
2019-07-26 11:11                             ` pelzflorian (Florian Pelz)
2019-07-26 11:23                               ` pelzflorian (Florian Pelz)
2019-08-05 13:08                               ` pelzflorian (Florian Pelz)
2019-08-07 22:33                                 ` pelzflorian (Florian Pelz)
2019-08-22 21:13                                   ` Ludovic Courtès
2019-08-23  6:03                                     ` pelzflorian (Florian Pelz)
2019-08-23 12:18                                       ` Ludovic Courtès
2019-08-23 13:54                                         ` pelzflorian (Florian Pelz)
2019-08-23 14:08                                           ` Jelle Licht
2019-08-23 20:47                                             ` pelzflorian (Florian Pelz)
2019-08-25 18:58                                     ` pelzflorian (Florian Pelz)
2019-08-26  3:08                                       ` pelzflorian (Florian Pelz)
2019-09-06 14:27                                         ` pelzflorian (Florian Pelz)
2019-07-18 17:06                       ` sirgazil
2019-07-15 12:59             ` Ricardo Wurmus
2019-07-18  5:06         ` pelzflorian (Florian Pelz)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190718202831.4vavgrmogrkpdote@pelzflorian.localdomain \
    --to=pelzflorian@pelzflorian.de \
    --cc=guix-devel@gnu.org \
    --cc=matias_jose_seco@autoproduzioni.net \
    --cc=rekado@elephly.net \
    --cc=sirgazil@zoho.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).