summaryrefslogtreecommitdiffstats
path: root/doc/src/internationalization
diff options
context:
space:
mode:
authorPeter Yard <peter.yard@nokia.com>2009-10-21 06:07:42 (GMT)
committerPeter Yard <peter.yard@nokia.com>2009-10-21 06:07:42 (GMT)
commitefd2bbd159bb4810ed828c842f459e6fcb8eb783 (patch)
tree1a28644c554e12a91dbd2631be33e5ce825c5361 /doc/src/internationalization
parent84cf05349fa3e106a498dc479f44bbd0cc402f2a (diff)
downloadQt-efd2bbd159bb4810ed828c842f459e6fcb8eb783.zip
Qt-efd2bbd159bb4810ed828c842f459e6fcb8eb783.tar.gz
Qt-efd2bbd159bb4810ed828c842f459e6fcb8eb783.tar.bz2
Included table for definition of plural forms for different languages.
Diffstat (limited to 'doc/src/internationalization')
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc337
1 files changed, 334 insertions, 3 deletions
diff --git a/doc/src/internationalization/linguist-manual.qdoc b/doc/src/internationalization/linguist-manual.qdoc
index 065fb6b..5d388f1 100644
--- a/doc/src/internationalization/linguist-manual.qdoc
+++ b/doc/src/internationalization/linguist-manual.qdoc
@@ -327,7 +327,7 @@
area}. The \l{Context Window} {context list} is normally shown
on the left, and the \l{Sources and Forms Window} {source code},
\l{Strings Window} {string list}, and either the \l{Phrases and
- Guesses Window} {prhrases and guesses}, or the \l{Warnings Window}
+ Guesses Window} {phrases and guesses}, or the \l{Warnings Window}
{warnings} are shown above and below the \l{The Translation Area}
{translations area}.
@@ -355,7 +355,7 @@
translation "guesses" have been read from phrase books
(\menu{Phrases|Open Phrase Book...}). The current string's
current translation is also shown here. To select a guess, double
- click it in the prases and guesses window or use the keyboard
+ click it in the phrases and guesses window or use the keyboard
shortcut shown to the right of the guess.
\QL can automatically check whether your translation strings pass
@@ -764,7 +764,7 @@
and \e{N}.
Each Ctrl key accelerator is shown in the \l{Strings Window}
- {string list} as a separte string, e.g. \key{Ctrl+Enter}. Since
+ {string list} as a separate string, e.g. \key{Ctrl+Enter}. Since
the string doesn't have a context to give it meaning, e.g. like
the context of the phrase in which an Alt key accelerator appears,
the translator must rely on the UI developer to include a
@@ -808,6 +808,337 @@
of where argument \e{i} appears in the argument sequence in the
source string.
+ \section2 Plurals
+
+ The problem of plurals in output is resolved by using an overload of
+ the \c tr() function with the signature
+ \code
+ QString tr(const char *text, const char *comment, int n);
+ \endcode
+ Using built in comparisons for the value of \c n the tr() function will
+ translate the phrase to the plural form for the target language.
+
+ Different languages have various forms for plurals beyond simply
+ \e singular and \e plural. The rules for determining which form of the
+ plural to use are encoded as conditional tests. Below is a table
+ representing the numbers associated with the forms rather than the
+ conditional tests themselves.
+
+
+
+ \table 90%
+ \header
+ \o Language
+ \o Form 1
+ \o Form 2
+ \o Form 3
+ \o Form 4
+ \row
+ \o Arabic
+ \o 0, 1, 11-102, 111-202...
+ \o 2
+ \o 3-10, 103-110, 203-210...
+ \o
+ \row
+ \o Basque
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Bulgarian
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Catalan
+ \o 1
+ \o 11, 11 000-11 999, 11 000 000-11 999 999...
+ \o 0, 2-10, 12-10 999, 12-10 999 999...
+ \o
+ \row
+ \o Chinese-CN
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Chinese-HK
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Chinese-TW
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Croation
+ \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
+ \o 2-4, 22-24, 32-34, 42-44...
+ \o 0, 5-20, 25-30, 35-40...
+ \o
+ \row
+ \o Czech
+ \o 1
+ \o 2-4
+ \o 0, 5-
+ \o
+ \row
+ \o Danish
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Dutch
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o English
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o English-US
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Estonian
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Finnish
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o French-CA
+ \o 0, 1
+ \o 2-100, 101-
+ \o
+ \o
+ \row
+ \o French-FR
+ \o 0, 1
+ \o 2-100, 101-
+ \o
+ \o
+ \row
+ \o Galician
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o German
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Greek
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Hebrew
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Hungarian
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Icelandic
+ \o 1, 21, 31, 41, 51....101, 121, 131...
+ \o 0, 2-20, 22-30, 32-40...102-120...
+ \o
+ \o
+ \row
+ \o Indonesian
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Italian
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Japanese
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Korean
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Latvian
+ \o 0
+ \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, 131, 141...
+ \o 2-20, 22-30, 32-40, 42-50...202-220, 222-230...
+ \o
+ \row
+ \o Lithuanian
+ \o 1, 21, 31, 41, 51...101, 121, 131...
+ \o 2-9, 22-29, 32-39...102-109, 122-129, 132-139...
+ \o 0, 10-20, 30, 40, 50...110-120, 130, 140...
+ \o
+ \row
+ \o Malay
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Norwegian
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Persian
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Polish
+ \o 1
+ \o 2-4, 22-24, 32-34...
+ \o 5-21, 25-31, 35-41...
+ \o
+ \row
+ \o Portugese-BR
+ \o 0, 1
+ \o 2-100, 101-
+ \o
+ \o
+ \row
+ \o Portugese-PT
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Romanian
+ \o 1
+ \o 0, 2-19, 101-119, 201-219...
+ \o 20-100, 120-200, 220-300...
+ \o
+ \row
+ \o Russian
+ \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
+ \o 2-4, 22-24, 32-34...
+ \o 0, 5-20, 25-30, 35-40...
+ \o
+ \row
+ \o Serbian
+ \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
+ \o 2-4, 22-24, 32-34...
+ \o 0, 5-20, 25-30, 35-40...
+ \o
+ \row
+ \o Slovak
+ \o 1
+ \o 2-4
+ \o 0, 5-20, 25-30, 35-40...
+ \o
+ \row
+ \o Slovene
+ \o 1, 101, 201, 301...
+ \o 2, 102, 202, 302...
+ \o 3, 4, 103, 104, 203, 204, 303, 304...
+ \o 0, 5-100, 105-200, 205-300...
+ \row
+ \o Spanish-US
+ \o 1
+ \o 0, 2-
+ \o
+ \o
+ \row
+ \o Spanish-ES
+ \o 1
+ \o 0, 2-
+ \o
+ \o
+ \row
+ \o Swedish
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Tagalog
+ \o 0, 1
+ \o 2, 3, 5, 7-8, 10-13, 15, 17-18, 20-23...101...1001
+ \o 4, 6, 9, 14, 16, 19, 24, 26, 29...104, 106, 109...
+ \o
+ \row
+ \o Thai
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Turkish
+ \o 0-
+ \o
+ \o
+ \o
+ \row
+ \o Ukrainian
+ \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
+ \o 2-4, 22-24, 32-34...
+ \o 0, 5-20, 25-30, 35-40...
+ \o
+ \row
+ \o Urdu
+ \o 1
+ \o 0, 2-100, 101-
+ \o
+ \o
+ \row
+ \o Vietnamese
+ \o 0-
+ \o
+ \o
+ \o
+ \endtable
+
+ These rules are embedded within the Qt libraries, there is no need for
+ the developer to know them. Merely to use the correct \c tr() call.
+
+
\section2 Reusing Translations
If the translated text is similar to the source text, choose the