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