[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-i18n-doc
Subject:    Re: Question on docs
From:       Lauri Watts <lauri () kde ! org>
Date:       2004-08-31 13:49:36
Message-ID: 200408311549.40650.lauri () kde ! org
[Download RAW message or body]


On Tuesday 31 August 2004 15.11, Funda Wang wrote:
> Hello,
>
> I want to translate the docs of kde and its apps. The PO files seem fine to
> me. But, how can I get the entities translated?
>
> i.e.: msgid "The &kcontrolcenter;"

There are two sets of entities: Those that should not be translated (they are 
the name of the application, contain trademarks, or for some other reason 
must appear exactly as written) and those that should.

The ones that are not translated are defined here: 
kdelibs/kdoctools/customization/entities/general.entities
In general things in this file are untranslateable on purpose. 

The ones that should be translated:
kdelibs/kdoctools/customization/<LANG>/user.entities
You may translate this file in place, and it's ok to update this one in the 
BRANCH as well as HEAD (I recommend you alter HEAD and backport it, so you 
don't forget to do the HEAD one, as has happened a couple of times before.)

You may define any additional entities you like in /<yourlang>/user.entities, 
for anything that you regularly find yourself using, even if we don't have an 
equivalent entity in English.  There are many cases where a common phrase in 
one language, is better said several ways in another.
You are not in any way bound to use an entity just because there is one in the 
original doc. 
Even if you do want to use the entities, you don't have to use the same 
declaration as in English.

Example 1:
&kcontrolcenter; is the name of the application.   Most languages don't 
translate these, so it is a global entity.  If you do translate it in your 
language, you could define a different entity in user.entities (for instance, 
&zhkcontrolcenter; and in your translation, use that instead) or you can 
simply type in the whole name of the application in your own language (don't 
forget to mark it <application>....</application>.  Make sure the name is 
unique, unexpected things may happen if there are two definitions with the 
same name.

Example 2:
In english, we say "e.g., ..." and have an &eg; (because even though it's only 
a couple of letters, it's also an abbreviation and there are multiple ways to 
punctuate it, so we made an entity so it's easy to be consistent in all the 
docs.    "For example" isn't always abbreviated to "e.g." in every language, 
so there's two ways to deal with it:
In the danish user.entities file, it is instead:
<!ENTITY eg     "<abbrev>f.eks.</abbrev>">
so &eg; will generate f.eks in Danish.
The french team have taken another approach, by translating both sides of the 
equation.  
<!ENTITY pex                    "par exemple"> 
In French docs therefore, instead of using &eg; they would put &pex; and the 
text generated would be par exemple.
Either way works perfectly well, pick whichever suits you.

The French team also define a lot of their own entities, so they are a good 
example to learn from.  That file is pretty much entirely your own 
playground, you can add anything that is useful to you. 

The only caveat is that once you have defined an entity there, you can't 
remove it.  You can deprecate it, but it must stay in the file until the 
next+1 DTD version, for reasons of backward compatibility.   Look at general 
entities (near the bottom) for how we deal with that.

Regards,
-- 
Lauri Watts
KDE Documentation: http://docs.kde.org
KDE on FreeBSD: http://freebsd.kde.org

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic