Subject: Re: Some manual @ref @xref @pxref fail when untranslated

From: Meiyo Peng <[email-masked]>
Date: Thu, 23 May 2019 12:05:24 +0800

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/