unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Translation of the Guix manual & node names
@ 2019-04-23 13:33 Ludovic Courtès
  2019-04-23 13:52 ` Julien Lepiller
  2019-04-23 18:11 ` Translation of the Guix manual & node names Meiyo Peng
  0 siblings, 2 replies; 20+ messages in thread
From: Ludovic Courtès @ 2019-04-23 13:33 UTC (permalink / raw)
  To: Miguel Ángel Arruga Vivas, Meiyo Peng; +Cc: Guix-devel

Hello Miguel & Meiyo,

Thanks a lot for your translations of the Guix manual!

I found an issue with the translations that prevents us from including
them:

  https://translationproject.org/latest/guix-manual/es.po
  https://translationproject.org/latest/guix-manual/zh_CN.po

If we look at these, you both translated, for example, the “Packaging
Guidelines” string.  However, you also left, in your translations,
things like “@pxref{Packaging Guidelines}”.

Texinfo has a notion of “node” (roughly a node is a chapter, section, or
sub-section.)  Each node has a name that can be used in cross-references
commands @ref, @xref, or @pxref.  However, Texinfo errors out when a
cross-reference command refers to a non-existent node name.

What happens in your case is that there is no “Packaging Guidelines”
node—instead, it’s called “Guías de empaquetamiento” or “打包指导”.
Thus, Texinfo fails to build the translated manual.

Could you please translate all the node names, and make sure that all
the cross-reference commands use the same names?  (The plan is to
release Guix 1.0 in one week, so it would be great if you could send an
updated PO file by then!)

I’m attaching the complete list of node names below; “Top” is an
exception, it must _not_ be translated.

Thanks in advance,
Ludo’.

$ grep '^@node' doc/guix.texi doc/contributing.texi| sed -e's/.*@node //g'
Top
Introduction
Managing Software the Guix Way
GNU Distribution
Installation
Binary Installation
Requirements
Running the Test Suite
Setting Up the Daemon
Build Environment Setup
Daemon Offload Setup
SELinux Support
Invoking guix-daemon
Application Setup
System Installation
Limitations
Hardware Considerations
USB Stick and DVD Installation
Preparing for Installation
Guided Graphical Installation
Manual Installation
Keyboard Layout and Networking and Partitioning
Proceeding with the Installation
After System Installation
Installing Guix in a VM
Building the Installation Image
Package Management
Features
Invoking guix package
Substitutes
Official Substitute Server
Substitute Server Authorization
Substitute Authentication
Proxy Settings
Substitution Failure
On Trusting Binaries
Packages with Multiple Outputs
Invoking guix gc
Invoking guix pull
Channels
Inferiors
Invoking guix describe
Invoking guix archive
Development
Invoking guix environment
Invoking guix pack
Programming Interface
Package Modules
Defining Packages
package Reference
origin Reference
Build Systems
The Store
Derivations
The Store Monad
G-Expressions
Invoking guix repl
Utilities
Invoking guix build
Common Build Options
Package Transformation Options
Additional Build Options
Debugging Build Failures
Invoking guix edit
Invoking guix download
Invoking guix hash
Invoking guix import
Invoking guix refresh
Invoking guix lint
Invoking guix size
Invoking guix graph
Invoking guix publish
Invoking guix challenge
Invoking guix copy
Invoking guix container
Invoking guix weather
Invoking guix processes
System Configuration
Using the Configuration System
operating-system Reference
File Systems
Mapped Devices
User Accounts
Keyboard Layout
Locales
Services
Base Services
Scheduled Job Execution
Log Rotation
Networking Services
X Window
Printing Services
Desktop Services
Sound Services
Database Services
Mail Services
Messaging Services
Telephony Services
Monitoring Services
Kerberos Services
LDAP Services
Web Services
Certificate Services
DNS Services
VPN Services
Network File System
Continuous Integration
Power Management Services
Audio Services
Virtualization Services
Version Control Services
Game Services
Miscellaneous Services
Setuid Programs
X.509 Certificates
Name Service Switch
Initial RAM Disk
Bootloader Configuration
Invoking guix system
Running Guix in a VM
Defining Services
Service Composition
Service Types and Services
Service Reference
Shepherd Services
Documentation
Installing Debugging Files
Security Updates
Bootstrapping
Porting
Acknowledgments
GNU Free Documentation License
Concept Index
Programming Index
Contributing
Building from Git
Running Guix Before It Is Installed
The Perfect Setup
Packaging Guidelines
Software Freedom
Package Naming
Version Numbers
Synopses and Descriptions
Python Modules
Perl Modules
Java Packages
Fonts
Coding Style
Programming Paradigm
Modules
Data Types and Pattern Matching
Formatting Code
Submitting Patches

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 13:33 Translation of the Guix manual & node names Ludovic Courtès
@ 2019-04-23 13:52 ` Julien Lepiller
  2019-04-23 21:48   ` Miguel
                     ` (2 more replies)
  2019-04-23 18:11 ` Translation of the Guix manual & node names Meiyo Peng
  1 sibling, 3 replies; 20+ messages in thread
From: Julien Lepiller @ 2019-04-23 13:52 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

Le Tue, 23 Apr 2019 15:33:32 +0200,
Ludovic Courtès <ludo@gnu.org> a écrit :

> Hello Miguel & Meiyo,
> 
> Thanks a lot for your translations of the Guix manual!
> 
> I found an issue with the translations that prevents us from including
> them:
> 
>   https://translationproject.org/latest/guix-manual/es.po
>   https://translationproject.org/latest/guix-manual/zh_CN.po
> 
> If we look at these, you both translated, for example, the “Packaging
> Guidelines” string.  However, you also left, in your translations,
> things like “@pxref{Packaging Guidelines}”.
> 
> Texinfo has a notion of “node” (roughly a node is a chapter, section,
> or sub-section.)  Each node has a name that can be used in
> cross-references commands @ref, @xref, or @pxref.  However, Texinfo
> errors out when a cross-reference command refers to a non-existent
> node name.
> 
> What happens in your case is that there is no “Packaging Guidelines”
> node—instead, it’s called “Guías de empaquetamiento” or “打包指导”.
> Thus, Texinfo fails to build the translated manual.

No, we have a small script that takes care of this. As long as the node
name is translated somewhere near the beginning of the file, it is also
automatically translated in the rest of the file. So that shouldn't
cause an issue. Maybe there's an error in the script?

Look at xref_command in doc/local.mk

Also look at fr.po, I haven't translated most of the node names.

> 
> Could you please translate all the node names, and make sure that all
> the cross-reference commands use the same names?  (The plan is to
> release Guix 1.0 in one week, so it would be great if you could send
> an updated PO file by then!)
> 
> I’m attaching the complete list of node names below; “Top” is an
> exception, it must _not_ be translated.
> 
> Thanks in advance,
> Ludo’.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 13:33 Translation of the Guix manual & node names Ludovic Courtès
  2019-04-23 13:52 ` Julien Lepiller
@ 2019-04-23 18:11 ` Meiyo Peng
  2019-04-24  6:44   ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 20+ messages in thread
From: Meiyo Peng @ 2019-04-23 18:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

Hi Ludovic,

Ludovic Courtès writes:

> Hello Miguel & Meiyo,
>
> Thanks a lot for your translations of the Guix manual!
>
> I found an issue with the translations that prevents us from including
> them:
>
>   https://translationproject.org/latest/guix-manual/es.po
>   https://translationproject.org/latest/guix-manual/zh_CN.po
>
> If we look at these, you both translated, for example, the “Packaging
> Guidelines” string.  However, you also left, in your translations,
> things like “@pxref{Packaging Guidelines}”.
>
> Texinfo has a notion of “node” (roughly a node is a chapter, section, or
> sub-section.)  Each node has a name that can be used in cross-references
> commands @ref, @xref, or @pxref.  However, Texinfo errors out when a
> cross-reference command refers to a non-existent node name.
>
> What happens in your case is that there is no “Packaging Guidelines”
> node—instead, it’s called “Guías de empaquetamiento” or “打包指导”.
> Thus, Texinfo fails to build the translated manual.

The zh_CN version guix manual that I uploaded earlier is a test with the
TranslationProject.org robot.  It's not supposed to be used as a
suitable translation.  I should have notified you in the mailing list.

I will improve the manual gradually.  As I said before, I have no
experience with i18n.  I only learned the usage of @ref, @xref and
@pxref until yesterday.  And there are still many new things to learn.

> Could you please translate all the node names, and make sure that all
> the cross-reference commands use the same names?  (The plan is to
> release Guix 1.0 in one week, so it would be great if you could send an
> updated PO file by then!)
>
> I’m attaching the complete list of node names below; “Top” is an
> exception, it must _not_ be translated.

OK.  I will do my best.  However, my translation progress will be slow.
It's 02:00 in China now and I am still in my office working on my job!
I won't have much time recently, but I will do as much as I can.

I feel excited for the Guix 1.0 release and also regret that I cannot
translate the Guix manual before that date.  The translation work can be
finished in two or three months, I guess.  It's extremely difficult to
translate technical English manuals into Chinese.  Many technical
English words has no suitable Chinese translation.  Besides, I have
never ever used a Chinese version GNU/Linux distro or ever read the
Chinese version manuals, so I am unfamiliar with the corresponding
Chinese words.  This makes the translation work even harder for me.
However, I am sure a bundled Chinese manual in the Guix 1.0 release
tarball or ISO file won't matter much.  We can release an updated
Chinese manual on our website later.  The web version will be what most
people will use.

Thank you for your understanding.


--
Meiyo Peng
https://www.pengmeiyu.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 13:52 ` Julien Lepiller
@ 2019-04-23 21:48   ` Miguel
  2019-04-23 21:56     ` Laura Lazzati
  2019-04-23 21:59     ` Julien Lepiller
  2019-04-23 22:45   ` Ludovic Courtès
  2019-04-24  7:08   ` Meiyo Peng
  2 siblings, 2 replies; 20+ messages in thread
From: Miguel @ 2019-04-23 21:48 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

El Tue, 23 Apr 2019 15:52:19 +0200
Julien Lepiller <julien@lepiller.eu> escribió:
> Le Tue, 23 Apr 2019 15:33:32 +0200,
> Ludovic Courtès <ludo@gnu.org> a écrit :
> 
> > Hello Miguel & Meiyo,

Hi!

> > Thanks a lot for your translations of the Guix manual!

Thank you too for your effort and kindness.

> > (...)
> > If we look at these, you both translated, for example, the
> > “Packaging Guidelines” string.  However, you also left, in your
> > translations, things like “@pxref{Packaging Guidelines}”.
> > (...)
> No, we have a small script that takes care of this. As long as the
> node name is translated somewhere near the beginning of the file, it
> is also automatically translated in the rest of the file. So that
> shouldn't cause an issue. Maybe there's an error in the script?
> 
> Look at xref_command in doc/local.mk
>
> Also look at fr.po, I haven't translated most of the node names.

It took me some time getting that, by example from fr.po, of course, but
I think there are some errors or warnings related when you do it wrong.
AFAIK the only problem are some @ref or @xref entries that contain the
link and some text, that actually must be translated. I have to double
check them this week on the translation.

> > Could you please translate all the node names, and make sure that
> > all the cross-reference commands use the same names?  (The plan is
> > to release Guix 1.0 in one week, so it would be great if you could
> > send an updated PO file by then!)

I hope having more than only the node names this week. Pretty sure it
won't be the full translation, but I hope reaching 70% at least for
1.0. We'll see...

Happy hacking,
Miguel

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 21:48   ` Miguel
@ 2019-04-23 21:56     ` Laura Lazzati
  2019-04-26 11:01       ` Miguel
  2019-04-23 21:59     ` Julien Lepiller
  1 sibling, 1 reply; 20+ messages in thread
From: Laura Lazzati @ 2019-04-23 21:56 UTC (permalink / raw)
  To: Miguel; +Cc: Guix-devel

Hi!

I'm always late :S
 Do you need help with the Spanish translations?

Kind regards :)
Laura

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 21:48   ` Miguel
  2019-04-23 21:56     ` Laura Lazzati
@ 2019-04-23 21:59     ` Julien Lepiller
  1 sibling, 0 replies; 20+ messages in thread
From: Julien Lepiller @ 2019-04-23 21:59 UTC (permalink / raw)
  To: Miguel; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 2347 bytes --]

Le Tue, 23 Apr 2019 23:48:13 +0200,
Miguel <rosen644835@gmail.com> a écrit :

> El Tue, 23 Apr 2019 15:52:19 +0200
> Julien Lepiller <julien@lepiller.eu> escribió:
> > Le Tue, 23 Apr 2019 15:33:32 +0200,
> > Ludovic Courtès <ludo@gnu.org> a écrit :
> >   
> > > Hello Miguel & Meiyo,  
> 
> Hi!
> 
> > > Thanks a lot for your translations of the Guix manual!  
> 
> Thank you too for your effort and kindness.
> 
> > > (...)
> > > If we look at these, you both translated, for example, the
> > > “Packaging Guidelines” string.  However, you also left, in your
> > > translations, things like “@pxref{Packaging Guidelines}”.
> > > (...)  
> > No, we have a small script that takes care of this. As long as the
> > node name is translated somewhere near the beginning of the file, it
> > is also automatically translated in the rest of the file. So that
> > shouldn't cause an issue. Maybe there's an error in the script?
> > 
> > Look at xref_command in doc/local.mk
> >
> > Also look at fr.po, I haven't translated most of the node names.  
> 
> It took me some time getting that, by example from fr.po, of course,
> but I think there are some errors or warnings related when you do it
> wrong. AFAIK the only problem are some @ref or @xref entries that
> contain the link and some text, that actually must be translated. I
> have to double check them this week on the translation.
> 
> > > Could you please translate all the node names, and make sure that
> > > all the cross-reference commands use the same names?  (The plan is
> > > to release Guix 1.0 in one week, so it would be great if you could
> > > send an updated PO file by then!)  
> 
> I hope having more than only the node names this week. Pretty sure it
> won't be the full translation, but I hope reaching 70% at least for
> 1.0. We'll see...

The attached python script (it requires python and python-polib) might
get you closer by automatically translating some very common strings.

So you have to change these lines:

regexps.append([re.compile('English regexp'), 'Translate string'])

#1, #2 etc. are replaced by the content of the matches in the English
regexp.

I don't know if you'll use it, but I hope it will be of some help to
you. Good luck with the translation!

> 
> Happy hacking,
> Miguel


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: templatetranslator.py --]
[-- Type: text/x-python, Size: 2385 bytes --]

#!/usr/bin/python3
# -*- coding: utf-8 -*-

#    Template Translator v0.1
#    Traduit automatiquement certaines chaine de caractères des paquets

#    Publié par roptat <julien@lepiller.eu> le 8 août 2016
#    sous la licence gnu General Public License version 3 pubilée par la Free Software Foundation.
#    Visitez <http://www.gnu.org/licenses/> pour obtenir la licence.


import sys
import re
import polib

files = sys.argv
files.pop(0)

def convert(entry, regexp, template):
	m = regexp.match(entry.msgid)
	# do not modify anything if the translation is already correct
	if m and ("fuzzy" in entry.flags or not entry.msgstr):
		msgstr = template
		try:
			msgstr = msgstr.replace("#1", m.group(1))
			msgstr = msgstr.replace('#2', m.group(2))
			msgstr = msgstr.replace('#3', m.group(3))
			msgstr = msgstr.replace('#4', m.group(4))
		except:
			x=1
		entry.msgstr = msgstr
		if "fuzzy" in entry.flags:
			entry.flags.remove("fuzzy")


# regexps
regexps = []

regexps.append([re.compile('{Scheme Procedure} (.*)$'), '{Procédure Scheme} #1'])
regexps.append([re.compile('{Scheme Variable} (.*)$'), '{Variable Scheme} #1'])
regexps.append([re.compile('{Data Type} (.*)$'), '{Type de données} #1'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? #t\\)$'),
        '@code{#1} (par défaut : #t)'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? ([0-9]*)\\)$'),
        '@code{#1} (par défaut : #2)'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? @code{([^}]*)}\\)$'),
        '@code{#1} (par défaut : @code{#2})'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? @var{([^}]*)}\\)$'),
        '@code{#1} (par défaut : @var{#2})'])
regexps.append([re.compile('@code{([^}]*)} \\(default:? "([^"]*)"\\)$'),
        '@code{#1} (par défaut : "#2")'])
regexps.append([re.compile('{@code{([^}]*)} parameter} ([^ ]*) ([^ ]*)$'), '{paramètre de @code{#1}} #2 #3'])
regexps.append([re.compile('The ([^ ]*) package to use.$'), 'Le paquet #1 à utiliser.'])
regexps.append([re.compile('Defaults to @samp{([^}]*)}.$'), 'La valeur par défaut est @samp{#1}.'])
regexps.append([re.compile('Available @code{(.*)} fields are:$'), 'Les champs de @code{#1} disponibles sont :'])


po = polib.pofile(files[0])

for entry in po:
	for reg in regexps:
		convert(entry, reg[0], reg[1])
po.save()


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 13:52 ` Julien Lepiller
  2019-04-23 21:48   ` Miguel
@ 2019-04-23 22:45   ` Ludovic Courtès
  2019-04-24  7:08   ` Meiyo Peng
  2 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2019-04-23 22:45 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

Hello,

Julien Lepiller <julien@lepiller.eu> skribis:

> Le Tue, 23 Apr 2019 15:33:32 +0200,
> Ludovic Courtès <ludo@gnu.org> a écrit :

[...]

>> What happens in your case is that there is no “Packaging Guidelines”
>> node—instead, it’s called “Guías de empaquetamiento” or “打包指导”.
>> Thus, Texinfo fails to build the translated manual.
>
> No, we have a small script that takes care of this. As long as the node
> name is translated somewhere near the beginning of the file, it is also
> automatically translated in the rest of the file. So that shouldn't
> cause an issue. Maybe there's an error in the script?

Oops indeed, I had misunderstood what was going on.

I applied the Spanish translation and everything went fine.

Then I looked more closely at the Simplified Chinese translation, and I
found a couple of minor issues that I modified locally for the sake of
being able to bootstrap things:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3068509ac12df6f2fc6e500019a4d8bbf75d32a2

Meiyo, could you take these changes in the official PO file?

Anyway, after ‘guix pull’, “info guix.zh_CN” should also work.  :-)

Thank you, and sorry for the confusion, Julien!

Ludo’.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 18:11 ` Translation of the Guix manual & node names Meiyo Peng
@ 2019-04-24  6:44   ` pelzflorian (Florian Pelz)
  2019-04-24  7:31     ` Julien Lepiller
  0 siblings, 1 reply; 20+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-04-24  6:44 UTC (permalink / raw)
  To: Meiyo Peng; +Cc: Guix-devel

On Wed, Apr 24, 2019 at 02:11:23AM +0800, Meiyo Peng wrote:
> I will improve the manual gradually.  As I said before, I have no
> experience with i18n.  I only learned the usage of @ref, @xref and
> @pxref until yesterday.  And there are still many new things to learn.
>

I wonder what is correct.  @xref is for “*Note Some section”, @pxref
is for “*note: Some section“ and @ref is for … “*note: Some section”
as well?  I started to translate all @xref and @pxref with @ref but it
still produces the English word “note” in the Info reader.

Regards,
Florian

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 13:52 ` Julien Lepiller
  2019-04-23 21:48   ` Miguel
  2019-04-23 22:45   ` Ludovic Courtès
@ 2019-04-24  7:08   ` Meiyo Peng
  2019-04-24  7:24     ` Julien Lepiller
  2 siblings, 1 reply; 20+ messages in thread
From: Meiyo Peng @ 2019-04-24  7:08 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

Hi Julien,

Julien Lepiller writes:

> No, we have a small script that takes care of this. As long as the node
> name is translated somewhere near the beginning of the file, it is also
> automatically translated in the rest of the file. So that shouldn't
> cause an issue. Maybe there's an error in the script?
>
> Look at xref_command in doc/local.mk

The xref_command is too complex for me to understand.  Do you mean we
don't need to translate all the reference strings in @ref{}, @xref{} and
@pxref{} as long as the target node name after "@node" is translated?
That will be a good news.

> Also look at fr.po, I haven't translated most of the node names.

By saying "most of the node names" have not been translated, do you mean
some of the reference strings in @ref{}, @xref{} and @pxref{} should be
translated?


--
Meiyo Peng
https://www.pengmeiyu.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  7:08   ` Meiyo Peng
@ 2019-04-24  7:24     ` Julien Lepiller
  2019-05-14  2:29       ` Meiyo Peng
  0 siblings, 1 reply; 20+ messages in thread
From: Julien Lepiller @ 2019-04-24  7:24 UTC (permalink / raw)
  To: Meiyo Peng; +Cc: Guix-devel

Le 24 avril 2019 09:08:34 GMT+02:00, Meiyo Peng <meiyo@riseup.net> a écrit :
>Hi Julien,
>
>Julien Lepiller writes:
>
>> No, we have a small script that takes care of this. As long as the
>node
>> name is translated somewhere near the beginning of the file, it is
>also
>> automatically translated in the rest of the file. So that shouldn't
>> cause an issue. Maybe there's an error in the script?
>>
>> Look at xref_command in doc/local.mk
>
>The xref_command is too complex for me to understand.  Do you mean we
>don't need to translate all the reference strings in @ref{}, @xref{}
>and
>@pxref{} as long as the target node name after "@node" is translated?
>That will be a good news.

Yes exactly! What this command does is to look for any ref, xref and pxref command and look for the translation of its content in the po file for the language.

>
>> Also look at fr.po, I haven't translated most of the node names.
>
>By saying "most of the node names" have not been translated, do you
>mean
>some of the reference strings in @ref{}, @xref{} and @pxref{} should be
>translated?

No, sorry for the confusion. At the very beginning we didn't have that command so some of the strings have translated references in them, but you shouldn't do that anymore.

>
>
>--
>Meiyo Peng
>https://www.pengmeiyu.com/

Hi,

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  6:44   ` pelzflorian (Florian Pelz)
@ 2019-04-24  7:31     ` Julien Lepiller
  2019-04-24  8:51       ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 20+ messages in thread
From: Julien Lepiller @ 2019-04-24  7:31 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: Guix-devel

Le Wed, 24 Apr 2019 08:44:14 +0200,
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> a écrit :

> On Wed, Apr 24, 2019 at 02:11:23AM +0800, Meiyo Peng wrote:
> > I will improve the manual gradually.  As I said before, I have no
> > experience with i18n.  I only learned the usage of @ref, @xref and
> > @pxref until yesterday.  And there are still many new things to
> > learn. 
> 
> I wonder what is correct.  @xref is for “*Note Some section”, @pxref
> is for “*note: Some section“ and @ref is for … “*note: Some section”
> as well?  I started to translate all @xref and @pxref with @ref but it
> still produces the English word “note” in the Info reader.

That's probably because the language is still declared as English. As
soon as you declare the language as something else, these generated
texts should be OK too. If you look at the French po, you will find
this:

#. type: Plain text
#: doc/guix.texi:7
msgid "@documentencoding UTF-8"
msgstr ""
"@documentencoding UTF-8\n"
"@documentlanguage fr\n"
"@frenchspacing on"

@documentlanguage … is what you want to add. @frenchspacing is for
displaying only one space between sentences in generated files which is
the correct way to do it in French.

Maybe we could automate that a bit?

> 
> Regards,
> Florian
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  7:31     ` Julien Lepiller
@ 2019-04-24  8:51       ` pelzflorian (Florian Pelz)
  2019-04-24  9:24         ` Julien Lepiller
  2019-04-25  8:56         ` Ludovic Courtès
  0 siblings, 2 replies; 20+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-04-24  8:51 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

On Wed, Apr 24, 2019 at 09:31:59AM +0200, Julien Lepiller wrote:
> #. type: Plain text
> #: doc/guix.texi:7
> msgid "@documentencoding UTF-8"
> msgstr ""
> "@documentencoding UTF-8\n"
> "@documentlanguage fr\n"
> "@frenchspacing on"
> 
I already use this.  The French manual is affected too.  When you do
`info guix.fr` or use emacs to open the manual, do you see French
“voir: Quelque section” or English “note: Quelque section”?

Regards,
Florian

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  8:51       ` pelzflorian (Florian Pelz)
@ 2019-04-24  9:24         ` Julien Lepiller
  2019-04-24 10:36           ` pelzflorian (Florian Pelz)
  2019-04-25  8:56         ` Ludovic Courtès
  1 sibling, 1 reply; 20+ messages in thread
From: Julien Lepiller @ 2019-04-24  9:24 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: Guix-devel

Le Wed, 24 Apr 2019 10:51:55 +0200,
"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> a écrit :

> On Wed, Apr 24, 2019 at 09:31:59AM +0200, Julien Lepiller wrote:
> > #. type: Plain text
> > #: doc/guix.texi:7
> > msgid "@documentencoding UTF-8"
> > msgstr ""
> > "@documentencoding UTF-8\n"
> > "@documentlanguage fr\n"
> > "@frenchspacing on"
> >   
> I already use this.  The French manual is affected too.  When you do
> `info guix.fr` or use emacs to open the manual, do you see French
> “voir: Quelque section” or English “note: Quelque section”?
> 
> Regards,
> Florian

Indeed, you're right. I think it's an issue in texinfo. If you take a
look at po files in po_document in texinfo's sources, you'll notice
that only tp/Texinfo/Convert/HTML.pm seems to have translations
available, but the info manual is generated with
tp/Texinfo/Convert/Info.pm. You'll also notice the Up:, Next: and Prev:
links for instance.

The *Note seems to come from tp/Texinfo/Convert/Plaintext.pm but I'm
not entirely sure.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  9:24         ` Julien Lepiller
@ 2019-04-24 10:36           ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 20+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-04-24 10:36 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

On Wed, Apr 24, 2019 at 11:24:52AM +0200, Julien Lepiller wrote:
> that only tp/Texinfo/Convert/HTML.pm seems to have translations

I will stop using @ref for everything once info works.  (I only
yesterday learned that translation of HTML works.)

Regards,
Florian

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  8:51       ` pelzflorian (Florian Pelz)
  2019-04-24  9:24         ` Julien Lepiller
@ 2019-04-25  8:56         ` Ludovic Courtès
  1 sibling, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2019-04-25  8:56 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: Guix-devel

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> skribis:

> On Wed, Apr 24, 2019 at 09:31:59AM +0200, Julien Lepiller wrote:
>> #. type: Plain text
>> #: doc/guix.texi:7
>> msgid "@documentencoding UTF-8"
>> msgstr ""
>> "@documentencoding UTF-8\n"
>> "@documentlanguage fr\n"
>> "@frenchspacing on"
>> 
> I already use this.  The French manual is affected too.  When you do
> `info guix.fr` or use emacs to open the manual, do you see French
> “voir: Quelque section” or English “note: Quelque section”?

My understanding is that the Info format expects a literal “Note:”
regardless of the language.  It wasn’t designed with i18n in mind I
guess.

Ludo’.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-23 21:56     ` Laura Lazzati
@ 2019-04-26 11:01       ` Miguel
  0 siblings, 0 replies; 20+ messages in thread
From: Miguel @ 2019-04-26 11:01 UTC (permalink / raw)
  To: Laura Lazzati; +Cc: Guix-devel

El Tue, 23 Apr 2019 18:56:42 -0300
Laura Lazzati <laura.lazzati.15@gmail.com> escribió:
> Hi!

Hi Laura,
 
> I'm always late :S
>  Do you need help with the Spanish translations?

I'm not sure how would be the coordination (send me a mail in private
if you are interested in that), but at least reviewing of the document
and the executable translations would be awesome.

Best regards,
Miguel

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Translation of the Guix manual & node names
  2019-04-24  7:24     ` Julien Lepiller
@ 2019-05-14  2:29       ` Meiyo Peng
  2019-05-17 22:48         ` bug#35786: Some manual @ref @xref @pxref fail when untranslated pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 20+ messages in thread
From: Meiyo Peng @ 2019-05-14  2:29 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Guix-devel

Hi Julien,

Julien Lepiller writes:

> Le 24 avril 2019 09:08:34 GMT+02:00, Meiyo Peng <meiyo@riseup.net> a écrit :
>>Hi Julien,
>>
>>Julien Lepiller writes:
>>
>>> No, we have a small script that takes care of this. As long as the
>>node
>>> name is translated somewhere near the beginning of the file, it is
>>also
>>> automatically translated in the rest of the file. So that shouldn't
>>> cause an issue. Maybe there's an error in the script?
>>>
>>> Look at xref_command in doc/local.mk
>>
>>The xref_command is too complex for me to understand.  Do you mean we
>>don't need to translate all the reference strings in @ref{}, @xref{}
>>and
>>@pxref{} as long as the target node name after "@node" is translated?
>>That will be a good news.
>
> Yes exactly! What this command does is to look for any ref, xref and pxref command and look for the translation of its content in the po file for the language.

I just find out that the @pxref{Packages with Multiple Outputs} in
doc/contributing.texi has to be translated.  Or I will get an error
while running make:

#+begin_example
  doc/contributing.zh_CN.texi:567: @pxref reference to nonexistent node `Packages with Multiple Outputs'
#+end_example

I guess it's because the node name is in doc/guix.texi (another file
than doc/contributing.texi).  Any idea?


--
Meiyo Peng
https://www.pengmeiyu.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#35786: Some manual @ref @xref @pxref fail when untranslated
  2019-05-14  2:29       ` Meiyo Peng
@ 2019-05-17 22:48         ` pelzflorian (Florian Pelz)
  2019-05-18  7:40           ` Julien Lepiller
  2019-05-23  4:05           ` bug#35786: " Meiyo Peng
  0 siblings, 2 replies; 20+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-05-17 22:48 UTC (permalink / raw)
  To: Meiyo Peng; +Cc: guix-devel, 35786

[-- Attachment #1: Type: text/plain, Size: 2282 bytes --]

Meiyo Peng reports at <https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00275.html>

On Tue, May 14, 2019 at 10:29:35AM +0800, Meiyo Peng wrote:
> I just find out that the @pxref{Packages with Multiple Outputs} in
> doc/contributing.texi has to be translated.  Or I will get an error
> while running make:
> 
> #+begin_example
>   doc/contributing.zh_CN.texi:567: @pxref reference to nonexistent node `Packages with Multiple Outputs'
> #+end_example
> 
> I guess it's because the node name is in doc/guix.texi (another file
> than doc/contributing.texi).  Any idea?
> 

The reason appears to be that when not translating (using the first
attached patch that reverts back to @pxref{Packages with Multiple
Outputs}), po4a-translate transforms

@item
Take a look at the profile reported by @command{guix size}
(@pxref{Invoking guix size}).  This will allow you to notice references
to other packages unwillingly retained.  It may also help determine
whether to split the package (@pxref{Packages with Multiple Outputs}),
and which optional dependencies should be used.  In particular, avoid adding
@code{texlive} as a dependency: because of its extreme size, use
@code{texlive-tiny} or @code{texlive-union} instead.

to

@item
看一下@command{guix size}(@pxref{Invoking guix
size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{Packages
with Multiple
Outputs}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。

with the pxref split over three lines because the surrounding context
has no space characters.  doc/local.mk’s xref_command can only deal
with two lines however.

The second attached patch makes xref_command grep three-line
references too, so it finds the translation, *however* I cannot get
this multiline sed to actually insert the translation into three line
references.  Perhaps it would be better to just replace this complex
xref_command with Guile code?  I will not do it however.

I am Cc’ing the bug-guix@gnu.org; I hope this is OK.

Regards,
Florian

[-- Attachment #2: 0001-THIS-IS-A-TEST-Revert-to-not-translating-pxref-refer.patch --]
[-- Type: text/plain, Size: 2514 bytes --]

From 267cc4c506d03ad35bfeead0f45d77bc7d242181 Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Sat, 18 May 2019 00:29:21 +0200
Subject: [PATCH 1/2] THIS IS A TEST: Revert to not translating pxref
 reference.

---
 po/doc/guix-manual.zh_CN.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/po/doc/guix-manual.zh_CN.po b/po/doc/guix-manual.zh_CN.po
index c24900da31..d1351ef557 100644
--- a/po/doc/guix-manual.zh_CN.po
+++ b/po/doc/guix-manual.zh_CN.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: guix-manual 1.0.1-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
 "POT-Creation-Date: 2019-05-10 20:53+0200\n"
-"PO-Revision-Date: 2019-05-14 14:31+0800\n"
+"PO-Revision-Date: 2019-05-17 17:21+0200\n"
 "Last-Translator: Meiyo Peng <meiyo@riseup.net>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -1237,7 +1237,7 @@ msgstr "有时,软件包为了方便用户,捆绑了依赖库的源代码。
 #. type: enumerate
 #: doc/contributing.texi:868
 msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}).  This will allow you to notice references to other packages unwillingly retained.  It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used.  In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use @code{texlive-tiny} or @code{texlive-union} instead."
-msgstr "看一下@command{guix size}(@pxref{Invoking guix size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{有多个输出的软件包}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。"
+msgstr "看一下@command{guix size}(@pxref{Invoking guix size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{Packages with Multiple Outputs}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。"
 
 #. type: enumerate
 #: doc/contributing.texi:873
-- 
2.21.0


[-- Attachment #3: 0002-doc-Insufficient-attempt-to-fix-translation-of-three.patch --]
[-- Type: text/plain, Size: 1179 bytes --]

From f9c3aae82c940238e6162e16cef0431ce782f5f3 Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Sat, 18 May 2019 00:31:06 +0200
Subject: [PATCH 2/2] doc: Insufficient attempt to fix translation of
 three-line references.

* doc/local.mk (xref_command): Catch three-line translations as well, but the
multiline sed still covers only two lines.
---
 doc/local.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/local.mk b/doc/local.mk
index 336e961c4f..645e571817 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -88,7 +88,7 @@ PO4A_PARAMS += -f texinfo # texinfo format
 # reference name, even in untranslated strings.
 # The last sed is a multiline sed because some references span multiple lines.
 define xref_command
-cat "$@.tmp" | egrep '@p?x?ref' -A1 | sed 'N;s|--\n||g;P;D' | sed 's|^| |g' | \
+cat "$@.tmp" | egrep '@p?x?ref' -A2 | sed 'N;s|--\n||g;P;D' | sed 's|^| |g' | \
         tr -d '\012' | sed 's|\(@p\?x\?ref\)|\n\1|g' | egrep '@p?x?ref' | \
         sed 's|^.*@p\?x\?ref{\([^,}]*\).*$$|\1|g' | sort | uniq | while read e; do \
   line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: Some manual @ref @xref @pxref fail when untranslated
  2019-05-17 22:48         ` bug#35786: Some manual @ref @xref @pxref fail when untranslated pelzflorian (Florian Pelz)
@ 2019-05-18  7:40           ` Julien Lepiller
  2019-05-23  4:05           ` bug#35786: " Meiyo Peng
  1 sibling, 0 replies; 20+ messages in thread
From: Julien Lepiller @ 2019-05-18  7:40 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz), Meiyo Peng; +Cc: Guix-devel, bug-guix

Le 18 mai 2019 00:48:26 GMT+02:00, "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> a écrit :
>Meiyo Peng reports at
><https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00275.html>
>
>On Tue, May 14, 2019 at 10:29:35AM +0800, Meiyo Peng wrote:
>> I just find out that the @pxref{Packages with Multiple Outputs} in
>> doc/contributing.texi has to be translated.  Or I will get an error
>> while running make:
>> 
>> #+begin_example
>>   doc/contributing.zh_CN.texi:567: @pxref reference to nonexistent
>node `Packages with Multiple Outputs'
>> #+end_example
>> 
>> I guess it's because the node name is in doc/guix.texi (another file
>> than doc/contributing.texi).  Any idea?
>> 
>
>The reason appears to be that when not translating (using the first
>attached patch that reverts back to @pxref{Packages with Multiple
>Outputs}), po4a-translate transforms
>
>@item
>Take a look at the profile reported by @command{guix size}
>(@pxref{Invoking guix size}).  This will allow you to notice references
>to other packages unwillingly retained.  It may also help determine
>whether to split the package (@pxref{Packages with Multiple Outputs}),
>and which optional dependencies should be used.  In particular, avoid
>adding
>@code{texlive} as a dependency: because of its extreme size, use
>@code{texlive-tiny} or @code{texlive-union} instead.
>
>to
>
>@item
>看一下@command{guix size}(@pxref{Invoking guix
>size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{Packages
>with Multiple
>Outputs}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。
>
>with the pxref split over three lines because the surrounding context
>has no space characters.  doc/local.mk’s xref_command can only deal
>with two lines however.
>
>The second attached patch makes xref_command grep three-line
>references too, so it finds the translation, *however* I cannot get
>this multiline sed to actually insert the translation into three line
>references.  Perhaps it would be better to just replace this complex
>xref_command with Guile code?  I will not do it however.
>
>I am Cc’ing the bug-guix@gnu.org; I hope this is OK.
>
>Regards,
>Florian

We have some guile code for doing exactly that in guix pull, so we could reuse it here.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#35786: Some manual @ref @xref @pxref fail when untranslated
  2019-05-17 22:48         ` bug#35786: Some manual @ref @xref @pxref fail when untranslated pelzflorian (Florian Pelz)
  2019-05-18  7:40           ` Julien Lepiller
@ 2019-05-23  4:05           ` Meiyo Peng
  1 sibling, 0 replies; 20+ messages in thread
From: Meiyo Peng @ 2019-05-23  4:05 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: guix-devel, 35786

Hi Florian,

pelzflorian (Florian Pelz) writes:

> Meiyo Peng reports at <https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00275.html>
>
> On Tue, May 14, 2019 at 10:29:35AM +0800, Meiyo Peng wrote:
>> I just find out that the @pxref{Packages with Multiple Outputs} in
>> doc/contributing.texi has to be translated.  Or I will get an error
>> while running make:
>>
>> #+begin_example
>>   doc/contributing.zh_CN.texi:567: @pxref reference to nonexistent node `Packages with Multiple Outputs'
>> #+end_example
>>
>> I guess it's because the node name is in doc/guix.texi (another file
>> than doc/contributing.texi).  Any idea?
>>
>
> The reason appears to be that when not translating (using the first
> attached patch that reverts back to @pxref{Packages with Multiple
> Outputs}), po4a-translate transforms
>
> @item
> Take a look at the profile reported by @command{guix size}
> (@pxref{Invoking guix size}).  This will allow you to notice references
> to other packages unwillingly retained.  It may also help determine
> whether to split the package (@pxref{Packages with Multiple Outputs}),
> and which optional dependencies should be used.  In particular, avoid adding
> @code{texlive} as a dependency: because of its extreme size, use
> @code{texlive-tiny} or @code{texlive-union} instead.
>
> to
>
> @item
> 看一下@command{guix size}(@pxref{Invoking guix
> size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{Packages
> with Multiple
> Outputs}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。
>
> with the pxref split over three lines because the surrounding context
> has no space characters.  doc/local.mk’s xref_command can only deal
> with two lines however.

There is no space separator for Chinese words.  Typesetting of CJK
languages is always a headache for FLOSS developers.

> The second attached patch makes xref_command grep three-line
> references too, so it finds the translation, *however* I cannot get
> this multiline sed to actually insert the translation into three line
> references.  Perhaps it would be better to just replace this complex
> xref_command with Guile code?  I will not do it however.

Thank you for the work.  I have found only one such case in the Guix
manual, so that's fine.  I can manually translate this @pxref.


--
Meiyo Peng
https://www.pengmeiyu.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-05-23  4:05 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 13:33 Translation of the Guix manual & node names Ludovic Courtès
2019-04-23 13:52 ` Julien Lepiller
2019-04-23 21:48   ` Miguel
2019-04-23 21:56     ` Laura Lazzati
2019-04-26 11:01       ` Miguel
2019-04-23 21:59     ` Julien Lepiller
2019-04-23 22:45   ` Ludovic Courtès
2019-04-24  7:08   ` Meiyo Peng
2019-04-24  7:24     ` Julien Lepiller
2019-05-14  2:29       ` Meiyo Peng
2019-05-17 22:48         ` bug#35786: Some manual @ref @xref @pxref fail when untranslated pelzflorian (Florian Pelz)
2019-05-18  7:40           ` Julien Lepiller
2019-05-23  4:05           ` bug#35786: " Meiyo Peng
2019-04-23 18:11 ` Translation of the Guix manual & node names Meiyo Peng
2019-04-24  6:44   ` pelzflorian (Florian Pelz)
2019-04-24  7:31     ` Julien Lepiller
2019-04-24  8:51       ` pelzflorian (Florian Pelz)
2019-04-24  9:24         ` Julien Lepiller
2019-04-24 10:36           ` pelzflorian (Florian Pelz)
2019-04-25  8:56         ` Ludovic Courtès

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).