← Back to team overview

kicad-developers team mailing list archive

Re: you can say that it is something unimportant

 

Le 01/08/2015 13:45, Marco Ciampa a écrit :
> On Sat, Aug 01, 2015 at 01:03:24PM +0200, jp charras wrote:
>> Le 01/08/2015 12:32, Marco Ciampa a écrit :
>>> You can say that it is something unimportant, and you probably are right,
>>> a but for a translator point of view it is an eyesore, really...
>>>
>>> In english, adjectives have no genre nor number.
>>> In Italian we say for example, for red:
>>>
>>> rosso (male singular)
>>> rossa (female singular)
>>> rossi (male plural)
>>> rosse (female plural)
>>>
>>> So for example this string is always wrong translated:
>>>
>>> #: pcbnew/dialogs/dialog_general_options_BoardEditor_base.cpp:25
>>> #: pcbnew/dialogs/dialog_pad_properties_base.cpp:68
>>> #: gerbview/dialogs/gerbview_dialog_display_options_frame_base.cpp:25
>>> msgid "Rectangular"
>>> msgstr "Rettangolari"
>>>
>>> Since it is "Rettangolare" for a pad and "Rettangolari" for coords.
>>> And I bet that it is the same in other languages too.
>>>
>>> There is a need to differentiate strings in the source code to allow
>>> correct translation of terms.
>>>
>>> Gettext has a way to handle it using the "context":
>>>
>>> https://www.gnu.org/software/gettext/manual/html_node/Contexts.html
>>>
>>> I already mentioned this problem in this list:
>>> https://lists.launchpad.net/kicad-developers/msg17986.html
>>>
>>> I just filed a bug report.
>>>
>>> Hope someone will find a way to resolve it...
>>>
>>
>> As French translator, I know very well this kind of issue.
>> There is also the case of a single English word or a too short message
>> used in different contexts (High, Low, Top, Bottom ...) which needs
>> different translations, depending on this context.
> 
> eh...
> 
>> For me, the best way is to modify the English message and use a longer
>> sentence.
> 
> That, I am afraid, is not always possible/easy to do. The existence of
> the gettext command I suggested is there to testify it.
> 
>> At least, translators have a better knowledge of the meaning of the
>> message to translate (which is not always a menu).
> 
> This problem is another thing that a specific gettext option address
> perfectly, see this for example:
> 
> This source code:
> 
> /* TRANSLATORS: The placeholder indicates the bug-reporting address
>    for this package.  Please add _another line_ saying
>    "Report translation bugs to <...>\n" with the address for translation
>    bugs (typically your translation team's web or email address).  */
> printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
> 
> These will be extracted by ‘xgettext’, leading to a .pot file that contains this:
> 
> #. TRANSLATORS: The placeholder indicates the bug-reporting address
> #. for this package.  Please add _another line_ saying
> #. "Report translation bugs to <...>\n" with the address for translation
> #. bugs (typically your translation team's web or email address).
> #: src/hello.c:178
> #, c-format
> msgid "Report bugs to <%s>.\n"
> msgstr ""
> 
> so there is no need to squeeze your head in the search of a meaningful
> way to say something, you can simply suggest translators the right
> meaning using developer comments...
> 
>> Just send me the references to these too short messages which cannot be
>> safely or easily translated.
> 
> (this is to answer the nick post  also...) This is not as easy as it may
> seems since it is not so immediate to know when a specific string will
> pop up just looking at the sources... I usually stumble into an uncorrect
> translation using the program...
> 
> --
> 
> 
> Marco Ciampa

Marco,

Keep in mind the fact 80% of messages are automatically generated by
wxFormbuilder.

We cannot have any constraint about these messages and associated comments.

The only one thing which can be done is to avoid too short messages.
This is always possible/easy to do and I already modified *a lot* of too
short messages for translation reasons.

The other thing I already asked (for 20% of remaining messages) is
always use Printf to generate messages and never build them word by word
by the C++ code.
the message created by a code like:
msg << "Err count" << count << "after DRC"
is impossible to translate because the order of words is fixed, although
the code is good from the point of view of coding style.


-- 
Jean-Pierre CHARRAS


Follow ups

References