[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lynx-dev] Lynx PO file typos/query

From: Clytie Siddall
Subject: [Lynx-dev] Lynx PO file typos/query
Date: Sun, 27 Apr 2008 23:25:36 +0930

Hello :)

I have just translated the file lynx-2.8.6-dev19 for the Translation Project. In doing so, I've encountered the following typos, which I thought you might like to weed out in a future release.

1. Split strings

These are a really bad idea in PO files. Different languages use different syntax, so splitting any sentence arbitrarily messes things up in translation. Please combine these strings into complete sentences, in order to ensure accurate translations.


#: LYMessages.c:676
msgid ""
" Please enter a mail address or some other\n"

#: LYMessages.c:678
msgid " means to contact you, if you desire a response.\n"


#: LYMessages.c:689
#: src/LYNews.c:357
msgid ""
" When you are done, press enter and put a single period (.)"

#: LYMessages.c:691
#: src/LYNews.c:358
msgid ""
" on a line and press enter again."


#: LYMessages.c:704
msgid "Activate links to gobble up cookies or entire domains,"

#: LYMessages.c:705
msgid "or to change a domain's 'allow' setting."


#: LYMessages.c:777
msgid ""
"The keywords that you enter will allow you to search on a"

#: LYMessages.c:778
msgid " person's name in the database.\n"


There are quite a few evidently disjointed string sections which are single words or phrases, e.g.

#: LYMessages.c:830
msgid "your"

The briefer the split string, the worse the translation problem, due to the different grammar in different languages. In English, "your" is written before the noun, e.g. "your computer". In Vietnamese, and in many other languages, it is written after the noun, e.g. "the computer belonging to you". So, a correct translation of the string:

#: LYMessages.c:830
msgid "your"
msgstr "của bạn"

will only result in combined strings like "your computer" which end up in translated form as "belonging to you the computer".

PLEASE don't split strings which will be translated!


#: WWW/Library/Implementation/HTWAIS.c:461
msgid "Index "
msgstr "Chỉ mục "

#: WWW/Library/Implementation/HTWAIS.c:465
#, c-format
msgid " contains the following %d item%s relevant to \""


#: WWW/Library/Implementation/HTWAIS.c:473
msgid "The first figure after each entry is its relative score, "

#: WWW/Library/Implementation/HTWAIS.c:474
msgid "the second is the number of lines in the item."


#: WWW/Library/Implementation/HTWAIS.c:778
msgid "This is a link for searching the "
msgstr "Đây là một liên để tìm kiếm"

#: WWW/Library/Implementation/HTWAIS.c:782
msgid " WAIS Index.\n"

#: WWW/Library/Implementation/HTWAIS.c:833
msgid " (in "

I haven't the foggiest where this is supposed to fit in.

Note: in other languages, there may be different ways to translate different meanings of what are the same word in English. For example, in my language, "in" (meaning inside something) and "in" (meaning during a time period) are different words. So how is the translator supposed to know the context of this string?

(j) (see also 3)

#: WWW/Library/Implementation/HTWAIS.c:842
msgid "WAIS Search of \""

#: WWW/Library/Implementation/HTWAIS.c:846
msgid "\" in: "


#: src/LYCgi.c:706
msgid "An excellent http server for VMS is available via"

#: src/LYCgi.c:713
msgid "this link"


#: src/LYList.c:84
msgid "References in "

#: src/LYList.c:87
msgid "this document:"


#: src/LYMail.c:1006
#, c-format
msgid "The link   %s :?: %s \n"

#: src/LYMail.c:1008
#, c-format
msgid "called \"%s\"\n"

#: src/LYMail.c:1009
#, c-format
msgid "in the file \"%s\" called \"%s\"\n"

#: src/LYMail.c:1010
msgid "was requested but was not available."


#: src/LYReadCFG.c:1789
#, c-format
msgid "Last attempted include was '%s',\n"

#: src/LYReadCFG.c:1790
#, c-format
msgid "included from '%s'.\n"


#: src/LYReadCFG.c:2198
#: src/LYReadCFG.c:2211
msgid "Please read the distribution"

#: src/LYReadCFG.c:2204
#: src/LYReadCFG.c:2214
msgid "for more comments."

2. Incorrect plurals usage


#: WWW/Library/Implementation/HTWAIS.c:465
#, c-format
msgid " contains the following %d item%s relevant to \""

This string appears to use %s to supply the English plurals ending "s" when %d>1.

However, translating "item", then adding "s" to it when %d>1 won't work for any language other than English. In any case, most other languages have a different number of plurals (English has two, my language has none, and other languages vary from 0-5), so we use the gettext plurals function:

#: WWW/Library/Implementation/HTWAIS.c:465
#, c-format
msgid " contains the following item relevant to \""
msgid_plural " contains the following %d items relevant to \""
msgstr[0] ""

The additional msgstr[n] lines will be supplied by the translation editor, depending on your plurals header.

Please fix this string, as currently I can't remove the (for my language) incorrect %s, since that will cause a gettext error. So the translation in my language will have a spurious "s" which will confuse Vietnamese users of lynx.


#: src/LYLocal.c:2044
msgid "tagged item:"

#: src/LYLocal.c:2045
msgid "tagged items:"

Please use the gettext plurals feature instead of creating both singular and plurals strings in English, since (as I said above), most languages do not use two strings for plurals. gettext provides the 0-5 msgstr fields required by the translation language.

(c) as (b)

#: src/LYPrint.c:1264
msgid "pages"

#: src/LYPrint.c:1264
msgid "page"

3. Ending in an initial quotation mark

These strings appear to end in a quotation mark, again a split string problem since you can't assume the syntax of another language will place that part of the string at the end. Please substitute a placeholder for the missing quoted material.


#: WWW/Library/Implementation/HTWAIS.c:465
#, c-format
msgid " contains the following %d item%s relevant to \""


#: WWW/Library/Implementation/HTWAIS.c:842
msgid "WAIS Search of \""

(c) The problem remains when the final element of the sentence is missing, whether there is a quotation mark or not.

#: src/LYMail.c:1013
msgid "This message was automatically generated by"


I'd also like to thank you for the overall high quality of your strings. For example, your strings have the highest final-punctuation ratio I've encountered in such a large file. PO files tend to abound in unterminated strings, but yours are mostly neatly-terminated, which is a relief to any linguist. ;)

I hope this is useful. Good luck with everything. :)

Clytie Siddall
Vietnamese Free-Software Translation Team

Attachment: PGP.sig
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]