i18n updates sent ro me by Daniel Egger

--Sven
This commit is contained in:
Sven Neumann 1999-09-20 08:17:21 +00:00
parent ba7593f245
commit f6b782fdea
4 changed files with 263 additions and 680 deletions

View file

@ -1,3 +1,7 @@
Mon Sep 20 10:11:18 MEST 1999 Sven Neumann <sven@gimp.org>
* README.i18n: Daniel Egger sent me some corrections for this one
Sun Sep 19 13:24:30 CDT 1999 James Mitchell <mitchell@gimp.org> Sun Sep 19 13:24:30 CDT 1999 James Mitchell <mitchell@gimp.org>
* tips/gimp_tips.it.txt: Translations from Daniele Medri * tips/gimp_tips.it.txt: Translations from Daniele Medri

View file

@ -7,8 +7,8 @@ Actually this one is maintained by me, that is Daniel Egger
Many persons from many countries start to get used to Linux. Many persons from many countries start to get used to Linux.
Unfortunately not everyone is able to understand English. But Unfortunately not everyone is able to understand English. But
even those people some times like to use good software without even those people some times like to use good and free software
needing a dictionary beneath them. without using a dictionary to get the unknown words.
So why not simply localise the software to make it available to So why not simply localise the software to make it available to
the mass which isn't wholly English native? the mass which isn't wholly English native?
@ -19,18 +19,23 @@ Actually this one is maintained by me, that is Daniel Egger
of the program into that one of the users if a necessary catalog is of the program into that one of the users if a necessary catalog is
provided. Gettext therefor provides some easy tools to create and maintain provided. Gettext therefor provides some easy tools to create and maintain
such catalogs and a few functions which can be called by the program to such catalogs and a few functions which can be called by the program to
enable automatic translation. The program gets linked to gettext and enable automatic translation at runtime. The program gets linked to the
everything is fine. gettext library or glibc2 which already provides that functionality
and everything is fine.
By the way: gettext is a fixed part of glibc2 but will be shipped with By the way: gettext is a fixed part of glibc2 but will be shipped with
GIMP and so can be automatically compiled on every platform GIMP itself GIMP and so can be automatically compiled on every platform GIMP itself
runs on. runs on.
3. Deep inside... 3. Deep inside...
GIMP provides a header file called gimpintl.h in the libgimp directory this GIMP provides header files called gimpintl.h and stdplugins-intl.h in the
one checks whether gettext is available on the system and will deactivate libgimp directory which check whether gettext is available on the system
language support if it's not. which GIMP is compiled on and will deactivate language support if it's not.
If it is useable it will define 3 functions which will be described below. You CAN use such a compiled GIMP even without the catalogs or on a system
which dosen't enable language support.
If the gettext system is there it will declare 3 functions which will be
described below.
3.1 _() [more correctly: char * _( char * )] 3.1 _() [more correctly: char * _( char * )]
@ -38,7 +43,7 @@ Actually this one is maintained by me, that is Daniel Egger
wrapped that is directly called directly in a function. If you use it the wrapped that is directly called directly in a function. If you use it the
given string will be tried to get translated in the native language of the given string will be tried to get translated in the native language of the
user according to his/her environmental settings. user according to his/her environmental settings.
The gettext function will do a lookup in the hashed gimp.mo which contains The gettext() function will do a lookup in the hashed gimp.mo which contains
all the translated texts. all the translated texts.
- If it is found a pointer to the string will be returned to the caller. - If it is found a pointer to the string will be returned to the caller.
@ -50,6 +55,12 @@ Actually this one is maintained by me, that is Daniel Egger
Please note that it is important to use _() directly (and not gettext()) Please note that it is important to use _() directly (and not gettext())
for simple messages because of reasons that will be mentioned below. for simple messages because of reasons that will be mentioned below.
NOTE: I know some of the developer like short functions like _() but
for a better source understanding I suggest to use it consistently only
for text (like _("That's text!") ) and not for variables (like _(text) BUT
gettext(text) instead)
3.2 N_() [more correctly: void ( void ) ] 3.2 N_() [more correctly: void ( void ) ]
This one is a macro for the function gettext_noop(). As you can see and This one is a macro for the function gettext_noop(). As you can see and
@ -73,8 +84,8 @@ Actually this one is maintained by me, that is Daniel Egger
3.3 gettext() 3.3 gettext()
This function is the same as that mcaro in 3.1. But there is one big This function is the same as that mcaro in 3.1. But there is one big
difference: It is ignored by the gettext program which will create message difference: The _()'s and N_()'s are the only expressions which get parsed
templates for us. by the template generator.
If you have strings that should be translated but are unfortunately in a If you have strings that should be translated but are unfortunately in a
structure you have to do that on your own which means that you have to structure you have to do that on your own which means that you have to
parse the fields with the messages in a loop and translate the texts with parse the fields with the messages in a loop and translate the texts with
@ -110,7 +121,7 @@ Actually this one is maintained by me, that is Daniel Egger
[language].mo: [language].mo:
This file is a compiled version of [language.po] which will be This file is a compiled version of [language.po] which will be
automatically compiled by the Makefile and installed in the locale automatically compiled by the Makefile system and installed in the locale
directory of the system. It contains everything that the .po file directory of the system. It contains everything that the .po file
contains except not translated messages, comments and other overhead. contains except not translated messages, comments and other overhead.
For maximum speed it is also hashed to allow gettext a faster search. For maximum speed it is also hashed to allow gettext a faster search.
@ -120,15 +131,15 @@ Actually this one is maintained by me, that is Daniel Egger
As mentioned the to get translated string are extracted directly from the As mentioned the to get translated string are extracted directly from the
source and written to the template. source and written to the template.
I guess many of you will now ask if it is necessary to add new strings I guess many of you will now ask if it is necessary to add new strings
directly from the template or if there's a tool to achieve that. directly to the template or if there's a tool to achieve that.
I think I can calm down those one who fear of lots of had work just to I think I can calm down those of you who fear lots of had work just to
update the language files. There's a program called msgmerge which will update the language files. There's a program called msgmerge which will
add all strings that are in the template but not in the uncompiled catalog add all strings that are in the template but not in the uncompiled catalog
to it. Msgmerge does this job very nicely and also tries to apply some kind to it. Msgmerge does this job very nicely and also tries to use some kind
of fuzzy search method for already translated string for possible of fuzzy logic method for already translated strings for possible reduction
programmers work reduction: If a original string seems similar to a new one of programmers work: If a original string seems similar to a new one
and it already has a translation, it will be taken over to the new catalog and it already has a translation, it will be taken over to the new catalog
together with a remark that this one mustn't necessarily fit. together with a remark that this one may not necessarily fit.
6. And more? 6. And more?

View file

@ -1,3 +1,7 @@
Mon Sep 20 10:11:18 MEST 1999 Sven Neumann <sven@gimp.org>
* de.po: updated translation from Daniel Egger
Sun Sep 19 13:22:21 CDT 1999 James Mitchell <mitchell@gimp.org> Sun Sep 19 13:22:21 CDT 1999 James Mitchell <mitchell@gimp.org>
* it.po: Translations from Daniele Medri <madrid@linux.it> * it.po: Translations from Daniele Medri <madrid@linux.it>

888
po/de.po

File diff suppressed because it is too large Load diff