Frank Documentation coordinator

Joined: 19 Jun 2003 Posts:
145 Location: Belgium
|
Posted: Mon Aug 25,
2003 9:36 am
Post subject: Krusader Translation HOWTO |
|
|
[Krusader
Translation HowTo
Last update:
28.10.2004 LATEST
NEWS: Krusader-1.50-beta1 is out! This version
effects a feature-freeze until the stable --only bugs
will be fixed. This means that translators can use
this time to update their translations for the coming
stable version. To avoid confusion, all translations
in CVS are now already merged against the latest
krusader.pot.
This HOWTO is rewritten. It
now includes our "new translation procedure". Please
read first, 7.1 When is
a Translation Update Needed? if you want to
update an existing language, and then, 2. New Translations
if you want to add a non-existing language.
Because of all the great work of the recent
months (see the Changelog), the number of
messages has increased from 799 in Krusader-1.40 to 983
messages in Krusader-1.50!
From now on, we will
commit the translations in CVS with a "good descriptive
comment", so you can see in the "Last log entry"
column the actual status of the translations (don't look
at the Age column any more). Use i18n_status and ViewCVS to see the live translation
status of Krusader! NOTE: From now on we will
update the foo.po files for you; so you only need to
edit foo.po with Kbabel (some translators updated foo.po
the wrong way, so they translated obsolete messages
--this we want to prevent, of course).
Please checkout Krusader from CVS if you want to
translate Krusader into your native language. Thanks
for your cooperation!
New languages are always
welcome!
Frank Schoolmeesters
Some
more news for THE NEAR FUTURE (after Krusader 1.50
stable is released): the Krusader translations will
go to KDE Extra
Gear, this means that the translations will
be done by the KDE i18n teams and not the way we are
used to doing them. We don't know exactly when and
how but we will inform you when this step has been
taken. So, if you want to translate IN THE
NEAR FUTURE, make sure nobody else is already doing it.
It would be a pity, if your precious time is wasted.
Look at KDE Internationalization, send
a message to the translation team coordinator for your
language, and tell them that you want to translate
Krusader. He will inform you if you should proceed. Also
read the other docs on that site.
LEGAL NOTICE & DISCLAIMER, look
at the end of this document.
Table of
Contents 1. Introduction 2. Preparation
3. New Translations 4. Translating foo.po with
KBabel 5. Compiling foo.po 6. Check Krusader in
your Native Language 6.1 Why do this? 6.2 When
you updated an Existing Translation 6.3 When you
have made a New Translation 6.4 When you don't
Recompile Krusader 6.5 When you don't do 6.3 or 6.4
7. Translation Update 7.1 When is a Translation
Update needed? 7.2 Updating krusader.pot 7.3
Updating foo.po 8. If you need More Information...:
8.1 "msg..." Commands 8.2 KDE Translation HowTo
9. Congratulations & Credits 10. Licence
1.
Introduction
English is not
my native language; therefore, you may notice strange
sentence constructions. Do not hesitate to let me
know if something is not clear to you, or if you have a
remark about this HowTo. The intention is to help
you to translate Krusader (or other Linux applications)
into your native language. It does not pretend to be an
advanced document. I am NOT an expert, nor a Linux
guru! I decided to write down my experiences in this
HowTo, after I had translated Krusader to my native
language, to help other, new Krusader translators.
The first time or the beginning is sometimes
difficult, but afterwards, you will see that it is easy
to translate Krusader to your native Language.
"i18n" = short for "internationalization",
basically means "translation related" "l10n" = short
for "localization", basically means "pertaining to
country specific settings" (currency, units, flags,
etc.) For a brief explanation of the original
meanings and the developmental side of both terms take a
look at here.
The Krusader
translations are stored in the
"~/source/krusader-x.xx/po" directory.
- 'krusader.pot' is the original English text
(template for the translation foo.po)
- 'foo.po' are the translations
- 'foo.gmo' are the compiled foo.po translations
(binaries)
Krusader supports the following
languages:
- English (krusader.pot), thanks to the Krusader
Krew
- Bosnian (bs.po), thanks to Asim Husanovic
- Bulgarian (bg.po), thanks to Milen Ivanov
- Catalan (ca.po), thanks to Quim Perez
- Czech (cs.po), thanks to Mitek and Martin Sixta
- Chinese Simplified (zh_CN.po), thanks to Jinghua
Luo
- German (de.po), thanks to Christoph Thielecke and
Dirk Eschler
- Danish (da.po), thanks to Anders Bruun Olsen
- French (fr.po), thanks to René-Pierre Lehmann
- Italian (it.po), thanks to Giuseppe Bordoni
- Japanese (jp.po), thanks to UTUMI Hirosi
- Japanese (ja.po), thanks to UTUMI Hirosi
- Polish (pl.po), thanks to Lukasz Janyst
- Russian (ru.po), thanks to Dmitry V. Chernyak
- Swedish (sv.po), thanks to Eric Johanssen and
Anders Lindén
- Slovak (sk.po), thanks to Zdenko Podobna
- Dutch (nl.po) -> made by me
, Frank
Schoolmeesters
- Hungarian (hu.po), thanks to Kukk Zoltan and Arpad
Biro
- Spanish (es.po), thanks to Rafael Munoz
Rodriguez
Because Krusader is under
continuous development, it's possible that this list is
not up-to-date.
Use i18n_status and ViewCVS to see live data on the
current Krusader translations (foo.po files). A
language abbreviation list can be found here.
If Krusader is
already translated into your native language, it is
possible that it needs a translation update.
If
your native language is up-to-date you might like to
translate Krename, a powerful batch
renamer for KDE 3.x which is supported by Krusader.
2. New
translations If your native
language is not listed above, you will have to translate
Krusader to your native language. It's not difficult
to translate! Many bi-linguals can do it, it just takes
some time to do it. A Newbie can do it and you don't
have to be a programmer. Dirk Eschler is the
Krusader i18n coordinator. Contact him if you wish to
translate Krusader into your native language. This
HowTo is very detailled and pretty self-explanatory, but
if you still need some help, you can always contact Dirk
Eschler or me, Frank.
3.
Preparation
If you decide
to update a existing language or to add a new language,
please do the following.
- Download the latest available version of Krusader
with a checkout from CVS. Or if you are not familiar
with CVS, download the latest Krusader CVS sourcecode
snapshot (nightly tarball) from here.
- Install or upgrade the Krusader cvs version, if
needed please read the installation instructions and
the FAQ.
Because Kbabel is an easy to use and
powerful translation tool; therefore, I am only talking
about Kbabel in this HowTo. Translations can also be
done with, e.g., (X)Emacs or a text-editor, but this is
probably only done by advanced translators. When you
have installed the "Software Development Kit for the K
Desktop Environment." (kdesdk-'version_number' RPM
package) then Kbabel should be on your system, if not
please install it.
If you are unfamiliar with
Kbabel please read first the online Kbabel handbook, or the offline
version (available in the help menu of KBabel).
The next passage will explain, in brief, how to
configure the most important settings in Kbabel.
- Run your Linux distribution in your native
language
- Find out what is your native 'language
abbreviation' is with the following command
(for example: en=English, nl=Dutch,
fr=French, it=Italian, etc.) Please look also at
the KDE
Translators Center.It has a language
abbreviation list, probably your language (+
abbreviation) will be listed here, use one of these
supported (KDE) language abbreviations. Note: In all the text which follows
foo='your language abbreviation'
When you click on your native language in the KDE
Translators Center you will find translation
information of your native language. Often you
will find some rules for translating from English to
your native language; apply these rules so that every
KDE, GNOME, etc., application is translated
consistently. Probably, you will find there a
native KBabel manual or instructions for your native
language. If you still have questions about your
native language, please contact the foo language team
leader of the KDE translating team.
Download your native KDE translation database
(e.g., "kde-i18n/nl/messages" for Dutch) or check it
out from cvs.
Start KBabel, it will ask you to fill in some
information, such as, header information for the po
file: your name, your native name (used for special
characters if your native language has some), your
e-mail address, full name of your native language (in
your native language), language code ("nl" for Dutch),
language-discussion group (for Dutch "i18n@kde.nl"),
time zone (+0100), number of singular/plural forms
(this depends on your native language), etc.
Configure the other settings the way you like
(read the Kbabel handbook and read the available
documentation of your native language team)
Set up the
translation database of Kbabel: Settings ->
configure dictionary -> Translation Database ->
Tab: Database, Scan directories and subdirectories
-> select the download file (e.g.
"kde-i18n/nl/messages" for Dutch)
Now you can drink a cup of coffee (or do
something else), generating this database will take
about 10 to 30 minutes. It will be your friend
when you translate Krusader
This great feature will allow you to do a "Rough
Translation", about 100 messages will be 100%
translated and about 200-300 messages will be
translated partially, without doing anything! You
can also check if you are translating consistently
(click on the Dictionary button) with the rest of the
KDE applications, e.g., a message like "Open File" can
be probably be translated in about 3 different manners
in your native language, it is here that the
translation database will help you!. You can check how
it should be preferentially translated. It reduces a lot of the
translation work..
4.
Translating foo.po with KBabel
- Open 'krusader.pot' (in the
"~/source/krusader-x.xx/po" directory) and "save as"
'foo.po'
- You will now see 4 windows:
- upper left: the
English text (read only, the current msgid field)
- lower left: the window where you will type your
translation (msgstr field related to the msgid field)
- upper right: the source code file(s) + line
number where the English text comes from - lower
right: your friend the
translation dictionary and other useful functions to
help you translate
- Go to menu "Tools" -> "Rough Translation".
KBabel will try to translate as much as possible for
you!
- Start translating (click on the dictionary button
for every message, or use the "automatic" function, so
that you can translate consistently)
- With "PgDn" you go to the next translation, and so
on.
- There are 983 messages to translate in
'Krusader-1.50', this will take some time (You can
divide the translation work over several days, if you
like, simply save and reopen 'foo.po' to continue.)
- Sometimes it can be useful to start Krusader and
take a look at where the translated text will appear.
- When everything is translated, do a spelling check
with "CTRL + I", keyboard mistypes (typos) are easily
made without notice. Sometimes the spelling checker is
a bit too strict (at least in Dutch), but is still a
very useful tool to find typos.
- Go to menu "Tools" -> "Validation" -> "check
all validations". This will check for all sorts of
errors (it does not fix typos!), it will check the
integrity of the po file (command-line function: "$msgfmt
foo.po").
5.
Compiling foo.po
- When you finish your translation or make a part of
it you need to compile foo.po into binary format. This
will also check foo.po for errors, like "check all
validations" in KBabel (it doesn't check your
translations for spelling errors and typos).
- Compile foo.po with the following command:
Code: |
[~/source/krusader-x.xx/po]$
msgfmt foo.po --statistics -c -v
--output-file=foo.gmo | Hint: If "msgfmt" is not on your computer,
install "GNU libraries and utilities for producing
multi-lingual messages." (gettext_'version_number'
RPM package)
If everything is OK you get an answer like "983
translated messages" and the binary "foo.gmo" is
created
A translation in progress will give an answer like
"627 translated messages, 187 fuzzy translations, 169
untranslated messages." and the binary "foo.gmo" is
created.
Read the manpages or the infopages if you want
more info about "msgfmt"
Hint: For the command line
commands "msgmerge" and "msgfmt" there is a manual named "GNU
Gettext utilities" in the KDE help center if you need
more information.In some rare cases a
foo.po file is "corrupt" and Kbabel will refuse to open
it. But don't panic this can be fixed with a text
editor. Note: In most cases, the foo.po file
uses the UTF-8 char set (look at the header of foo.po to
know the char set used). Configure your editor so that
it uses the proper char set, otherwise, special
characters (e.g., ...) will be truncated if you use
another char set! For example, "?" in UTF-8 is an "�
in ASCII.
Compile foo.po as described
above, if it returns an error message, fix it with the
editor, and debug/recompile until all errors are gone.
For example, a corrupt foo.po will give an answer
like this:
Code: |
foo.po:22: missing `msgstr'
-> solution: foo.po at line 22: 'msgstr'
was missing foo.po:56: end-of-line sign in
string -> solution: foo.po at line 56: '\n'
end-of-line sign was missing foo.po:85:7:
parse error -> solution: foo.po at line 85
cursor position 7: " sign was missing msgfmt:
found 3 fatal errors
| foo.gmo is not created Correct
the errors with an text editor and recompile foo.po
When it is OK you can use Kbabel again.
This
is an example how a po file looks:
Code: |
# Translation of krusader.pot to
Dutch
-> comment header # This file
is distributed under the same license as the
Krusader package. # Copyright (C) 2000-2003,
Shie Erlich, Rafi Yanai # Copyright (C) 2004,
Krusader Krew # Translator name <translator
e-mail>, 26/05/2004 # msgid ""
-> header msgstr ""
"Project-Id-Version: krusader-40\n"
"POT-Creation-Date: 2004-04-26 13:50+0200\n"
"PO-Revision-Date: 2004-05-03 20:25+0200\n"
"Last-Translator: your name <your e-mail
adress>\n" "Language-Team: DUTCH (nl)
<nl@li.org>\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0.2\n" #:
GUI/kfnkeys.cpp:63 krusader.cpp:268
-> c++ file "kfnkeys.cpp" at line 63
holds the English text "F8 Delete" msgid "F8
Delete"
-> English text msgstr "F8 Wissen"
-> your
native translation # ...
-> ... next translations
... |
Hint: Sometimes the
"Project-Id-Version" is not right set, please correct it
manually with a text editor e.g. "krusader-1.40\n" or
"krusader-cvs-2004_10_15\n", in the header of foo.po;
otherwise, "msgfmt" will complain:
Code: |
msgfmt: foo.po: field
`Project-Id-Version' still has initial default
value msgfmt: found 1 fatal
error | -> Normally this is already done
by us.
6. Check
Krusader in your Native Language
6.1 Why do
this? So you can check the end result
of your translation work in your native language.
Even when your translated foo.po is 100% correct,
you will see that when you are running your translated
Krusader that sometimes some words do not belong with
each other when they are combined in the GUI or in a
sentence. You will have to look for a synonym or
translate them in a different way. Or when
underlined key letters are used in a menu, e.g., "File", to
check that 2 menu entries (or buttons in a screen) don't
use the same underlined character. Sometimes, there
is lack of space to put your translation on the screen.
Make the translation shorter or and if that is not
possible then contact the Krusader Krew [ krusader {*}
users {.} sourceforge {.} net] and tell them how
many characters you need for your translation.
Note:
Not all the translations
come from foo.po of Krusader, some translations come
from KDE (libs) or KIO Slaves; such as the standard
words in the menus like "File, Open, ..." so that not
every KDE application has to translate them over and
over.
If it is necessary to modify the
translation, modify foo.po, and then recompile foo.po.
The following points will explain how Krusader
speaks your native language.
6.2 When you Updated
an Existing Translation Look at the
list in section 1 for the current supported languages.
- You have edited foo.po in
"~/source/krusader-x.xx/po/foo.po"
- Compile foo.po and install the translation changes
Code: |
[~/source/krusader-x.xx/po/foo.po]$
make [~/source/krusader-x.xx/po/foo.po]$ su
-c 'make install' |
If it is necessary to modify the translation,
modify foo.po and then, recompile Krusader
Email the updated 'foo.po' to Dirk Eschler
<deschler@users.sourceforge.net>
Go to
section 7
6.3 When you have
made a New Translation In this case,
you have to modify the source code so that your new
language is supported by Krusader. The best way
- copy foo.po to "~/source/krusader-x.xx/po/foo.po"
Run the following command in the
"~/source/krusader-x.xx/" directory:
Code: |
$ make -f Makefile.cvs $
./configure $ make $ su -c 'make install'
(as root) | The first command "make -f Makefile.cvs"
will add foo.po to the Krusader source code
("~/source/krusader-x.xx/po/Makefile.in" will be
modified) If it is necessary to modify the
translation, modify foo.po and recompile Krusader.
Email the updated 'foo.po' translation to Dirk
Eschler <deschler@users.sourceforge.net> If
everything is ok go to
section 7, if not, continue reading.
Hacking
the "~/source/krusader-x.xx/po/Makefile.in"
If you have problems with the "make -f Makefile.cvs"
command you can do the following: Modify manually
"~/source/krusader-x.xx/po/Makefile.in" before
recompiling Krusader.
- Run Krusader and open
"~/source/krusader-x.xx/po/Makefile.in" with F4
(internal editor)
- The following command will replace the Dutch
translation with your native translation
- Type "CTRL+R" (Find and Replace function)
text
to find: nl text to replace: foo options: only
whole words
- The following command will create foo.gmo and
check for errors (like in section 5)
Code: |
[~/source/krusader-x.xx/po/]$
make |
If everything is ok you will get the following
message
Code: |
rm -f foo.gmo; /usr/bin/msgfmt -o
foo.gmo ./foo.po test ! -f foo.gmo || touch
foo.gmo |
Recompile Krusader and check your translation
Install the translations
Code: |
[~/source/krusader-x.xx/po/foo.po]$
su -c 'make install' |
If it is necessary to modify the translation,
modify foo.po and recompile Krusader
Email the updated 'foo.po' translation to Dirk
Eschler <deschler@users.sourceforge.net>
Go to
section 7
6.4 When you don't
Recompile Krusader Some more hacking
This hack works on my computer with
Mandrake 9.2, but it should work also on other Linux
distributions. When you have a new translation which
is not (yet) supported by Krusader and you don't
recompile krusader.
- Copy "foo.gmo" (created in section 4) to
"krusader.mo" in your native language directory
- To find this directory, first find other
translations of Krusader with
Code: |
$ su -c updatedb $ locate
krusader.mo | Mandrake 9.2 answers:
Code: |
/usr/share/locale/nl/LC_MESSAGES/krusader.mo
/usr/share/locale/de/LC_MESSAGES/krusader.mo
/usr/share/locale/fr/LC_MESSAGES/krusader.mo
/usr/share/locale/pl/LC_MESSAGES/krusader.mo
/usr/share/locale/sv/LC_MESSAGES/krusader.mo
/usr/share/locale/cs/LC_MESSAGES/krusader.mo
/usr/share/locale/it/LC_MESSAGES/krusader.mo
/usr/share/locale/dk/LC_MESSAGES/krusader.mo
/usr/share/locale/jp/LC_MESSAGES/krusader.mo
/usr/share/locale/nl/LC_MESSAGES/krusader.mo
/usr/share/locale/bg/LC_MESSAGES/krusader.mo
/usr/share/locale/hu/LC_MESSAGES/krusader.mo
/usr/share/locale/ru/LC_MESSAGES/krusader.mo
/usr/share/locale/zh_CN/LC_MESSAGES/krusader.mo
| In this case your native language
directory is: /usr/share/locale/foo/LC_MESSAGES/
Copy "foo.gmo" to "krusader.mo" into your native
language directory Example:
Code: |
$ cp foo.po
/usr/share/locale/foo/LC_MESSAGES/krusader.mo |
Close Krusader if it is executing, then run
Krusader and it will speak your native language
Check your translations
If it's necessary to modify the translation,
modify "foo.po" and compile it to "foo.gmo", copy
"foo.gmo" to "krusader.mo" in your native language
directory, and run Krusader
Email the update "foo.po" translation to Dirk
Eschler
<deschler@users.sourceforge.net>Go to section 7
6.5 When you don't do
6.3 or 6.4
- Email your 'foo.po' translation to Dirk Eschler
<deschler@users.sourceforge.net> and he will put
it into CVS
- Read Krusader from CVS with your translation
- Compile Krusader and check your translation
- Email the update "foo.po" translation to Dirk
Eschler
<deschler@users.sourceforge.net>
7.
Translation update
7.1 When is a
Translation Update Needed? Before we
release a stable version of Krusader, we bring out at
least one beta version. From that moment on there is
a feature freeze and only bugs will be fixed. This
means that translators can update their translations,
for the coming stable. Normally, all the Krusader
translators will receive an e-mail from Dirk Eschler, to
invite you to update Krusader translations. We will
update all foo.po files against krusader.pot, just
before the beta is to be released, so you will have only
to edit the new foo.poo file with Kbabel. You don't
have to worry any more about how foo.poo must be
updated. In the past some translators updated foo.po the
wrong way, thereby translating obsolete messages. We
want to prevent this, of course.
In section 1 is
an explanation of how you can see the actual live data
translation status with ViewCVS. Look at the "Last
log entry" column to see live data on the status of the
translations (don't look at the Age column).
7.2 Updating
krusader.pot Note: In the past some translators
updated foo.po the wrong way, so they translated
obsolete messages, we want to prevent this, of course.
The following text, 6.2 & 6.3, explains the work
that Dirk Eschler will do for you:
Just
before a beta release Dirk Eschler will commit the
updated krusader.pot and all foo.po's in cvs.
- Since Krusader is under continuous development,
'krusader.pot' will change from time to time.
(
new functions = new text, deleted or modified text )
- If you use an older foo.po file the new text is
not translated and is therefore displayed in English.
You will have to make an update for your native
language.
- Every new, stable Krusader release needs a
translation update; all changes or additions must be
translated into your native language.
- Read Krusader out from CVS (the best way)
- if
you are not familiar with CVS: download the latest
Krusader CVS source code snapshot from KRUSADER CUTTING EDGE - run the
following command in the "~/source/krusader-x.xx/"
directory:
Code: |
$ make -f Makefile.cvs $
./configure $ make $ make -f
admin/Makefile.common package-messages $ su
-c 'make install' (as
root) | The third command will extract all
the English text from the source code to
"~/source/krusader-x.xx/po/krusader.pot", it must
be run after "make". The translation
Project-Id-Version" must be manually changed with a
text editor e.g. "krusader-1.40"
Check if Krusader needs a translation update:
- The next bash script will tell you if a
translation needs an update
Code: |
#! /bin/sh # This script is
free software; you can redistribute it and/or
modify # it under the terms of the GNU
General Public License as published by # the
Free Software Foundation; either version 2 of
the License, or # (at your option) any later
version. echo "this script will tell you if
a translation needs an update" echo ""
for FILENAME in $(ls *.po);do
#display the 'foo.po' filename
echo ${FILENAME}: #
update 'foo.po.tmp' msgmerge
$FILENAME krusader.pot -q --force-po
--output-file=$FILENAME.tmp #
compile & display update info of
'foo.po.tmp' msgfmt
$FILENAME.tmp --statistics -c -v
--output-file=$FILENAME.tmp
echo "" # delete temporary
files 'foo.po.tmp' rm -f
$FILENAME.tmp done echo
"-------------------------------------------------"
echo "xxx translated messages. = 'foo.po' is
UP-TO-DATE" echo "xxx translated messages,
xx fuzzy translations, xx untranslated messages.
= NEEDS AN UPDATE"
| - Copy-paste this code into a text
editor - save as "po_check" in directory
"krusader-x.xx/po/" - make the bash script
executable and run
Note: when you copy-paste this script
to an editor, remove all the white-spaces at the end
of each line (it is possibly a phpBB thing);
otherwise, this script will not work.
Code: |
$ chmod +x po_check $
./po_check foo.po: 983 translated
messages, 17 fuzzy translations, 12 untranslated
messages. | - when you see "fuzzy" and
"untranslated" the translation needs an update
7.3 Updating
foo.po
- "msgmerge"
you will merge foo.po and the new krusader.pot, so
foo.po will be updated
- Download the cvs version of Krusader, go to the
"krusader-x.xx/po/ directory and
do the following
commands:
Code: |
$ cp foo.po old_foo.po $
msgmerge foo.po krusader.pot
--output-file=foo.po | In the updated foo.po file: -
The old entries will be saved as comments at the end
of the foo.po file - New entries will be added
- The comments will be updated if changed
Read the manpages or the infopages if you want
more info about "msgmerge"
Edit and compile the new "foo.po" with Kbabel, see
section 4 or 5
Check Krusader in your native language, see section
6
8. If you
need more information
8.1 "msg..."
Commands For users who like the
command-line, a list of "msg..." commands:
- msgattrib :
attribute matching and manipulation of message catalog
- msgcat :
combines several message catalogs
- msgcmp :
compare message catalog and template
- msgcomm :
match two message catalogs
- msgconv :
character set conversion for message catalog
- msgen :
create English message catalog
- msgexec :
process translations of message catalog
- msgfilter :
edit translations of message catalog
- msgfmt : the
`msgfmt' programs generates a binary message catalog
from a textual translation description
- msggrep :
extracts all messages of a translation catalog that
match a given pattern or belong to some given source
files
- msginit :
creates a new PO file, initializing the meta
information with values from the user's environment
- msgmerge :
merges two Uniform style .po files together
- msgunfmt :
convert binary message catalog to uniform style .po
file
- msguniq :
unify duplicate translations in message catalog such
duplicates are invalid input for other programs like
msgfmt, msgmerge or msgcat
Like always, read
the manpages or the infopages for more info about the
above commands.
8.2 The KDE
Translation HowTo The KDE Translation HowTo explains
how to translate KDE applications and how to translate
documentation (Docbook/XML). If you have trouble
with your Krusader translation maybe this will help you
or if you want to read some more information about
translating.
9.
Congratulations & credits
If you have reached here, congratulations for
translating Krusader (or another application). Enjoy
your translated Krusader. If you have a problem,
drop a post at the Krusader forum, the Krusader
community will help you. You can also use this HowTo
to aid in translating other applications, but I hope you
will translate Krusader first. If
you would like to translate KDE applications or
documentation, please take a look at the KDE
Internationalization website. If you
would like to join KDE translation team for your
language, please contact the contact your team-leader of
the KDE translating team.
KDE Translators
Center
Thanks
to - The Krusader Krew - Richard
Holt for general help and proofreading this HowTo -
All the Krusader translators - Everybody who
contributed to the Krusader project - Everybody who
has read this HowTo - The Kbabel team - The KDE
team - Rinse de Vries, teamleader of the Dutch KDE
translating team - The KDE translating teams -
All believers in free software
Thank you for
using Krusader and have fun!
Frank Schoolmeesters.
10.
Licence
LEGAL
NOTICE Permission is granted to copy, distribute
and/or modify this document under the terms of the
GNU Free Documentation License, Version 1.2 or any
later version published by the Free Software
Foundation, with no Invariant sections, with no
Front-Cover Texts, with no Back-Cover texts. A copy
of the license is available on the GNU site http://www.gnu.org/licenses/fdl.html
or by writing to: Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
DISCLAIMER All copyrights are held by their
by their respective owners, unless specifically noted
otherwise. Use of a term in this document should not
be regarded as affecting the validity of any trademark
or service mark. Naming of particular products or
brands should not be seen as endorsements. This
document is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY. Use the
information in this document at your own risk. I put
great effort into writing it as accurately as I
could, but you use the information contained in it at
your own risk. In no event shall I be liable for any
damages resulting from the use of this document. If
you have important data you are strongly recommended to
make backups at regular intervals.
Krusader
Translation Howto, October 2004 http://krusader.sourceforge.net/
Copyright (c) 2003-2004 Frank Schoolmeesters and the
Krusader Krew. | |