FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 
 ProfileProfile   You have no new messagesYou have no new messages   Log out [ Frank ]Log out [ Frank ] 
Krusader Translation HOWTO

 
Post new topic   Reply to topic    Krusader Forum Index -> General Discussions
View previous topic :: View next topic  
Author Message
Frank
Documentation coordinator


Joined: 19 Jun 2003
Posts: 145
Location: Belgium

PostPosted: Mon Aug 25, 2003 9:36 am    Post subject: Krusader Translation HOWTO Reply with quote Edit/Delete this post Delete this post

[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:
  1. English (krusader.pot), thanks to the Krusader Krew
  2. Bosnian (bs.po), thanks to Asim Husanovic
  3. Bulgarian (bg.po), thanks to Milen Ivanov
  4. Catalan (ca.po), thanks to Quim Perez
  5. Czech (cs.po), thanks to Mitek and Martin Sixta
  6. Chinese Simplified (zh_CN.po), thanks to Jinghua Luo
  7. German (de.po), thanks to Christoph Thielecke and Dirk Eschler
  8. Danish (da.po), thanks to Anders Bruun Olsen
  9. French (fr.po), thanks to René-Pierre Lehmann
  10. Italian (it.po), thanks to Giuseppe Bordoni
  11. Japanese (jp.po), thanks to UTUMI Hirosi
  12. Japanese (ja.po), thanks to UTUMI Hirosi
  13. Polish (pl.po), thanks to Lukasz Janyst
  14. Russian (ru.po), thanks to Dmitry V. Chernyak
  15. Swedish (sv.po), thanks to Eric Johanssen and Anders Lindén
  16. Slovak (sk.po), thanks to Zdenko Podobna
  17. Dutch (nl.po) -> made by me , Frank Schoolmeesters
  18. Hungarian (hu.po), thanks to Kukk Zoltan and Arpad Biro
  19. 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
    Code:
    $ echo $LANG

    (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.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Krusader Forum Index -> General Discussions All times are GMT + 2 Hours
Page 1 of 1
Watch this topic for replies
 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum


Powered by phpBB 2.0.10 © 2001, 2002 phpBB Group