From 4c65b525dc1e3c62336b223d200a46fb30dc7e52 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 12 Aug 2007 18:00:00 +0200 Subject: =?UTF-8?q?Version=201.5.7=20-=20All=20logging=20now=20goes=20to?= =?UTF-8?q?=20LOG=5FERR,=20because=20some=20systems=20split=20error,=20inf?= =?UTF-8?q?o=20and=20=20=20debug=20messages=20into=20separate=20files,=20w?= =?UTF-8?q?hich=20repeatedly=20caused=20extra=20efforts=20to=20=20=20find?= =?UTF-8?q?=20out=20when=20incomplete=20log=20excerpts=20were=20attached?= =?UTF-8?q?=20to=20problem=20reports=20in=20=20=20the=20past.=20-=20Update?= =?UTF-8?q?d=20the=20Estonian=20OSD=20texts=20(thanks=20to=20Arthur=20Kono?= =?UTF-8?q?valov).=20-=20Fixed=20a=20problem=20with=20characters=20>0x7F?= =?UTF-8?q?=20in=20the=20modified=20version=20of=20skipspace()=20=20=20(th?= =?UTF-8?q?anks=20to=20Marco=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20a=20bug?= =?UTF-8?q?=20I=20introduced=20when=20simplifying=20the=20original=20patch?= =?UTF-8?q?=20for=20detecting=20=20=20Premiere=20NVOD=20channel=20links=20?= =?UTF-8?q?(crash=20reported=20by=20Malte=20Schr=C3=B6der).=20-=20Internat?= =?UTF-8?q?ionalization=20is=20now=20done=20with=20'gettext'=20(following?= =?UTF-8?q?=20a=20suggestion=20by=20=20=20Lucian=20Muresan).=20Plugin=20au?= =?UTF-8?q?thors=20may=20want=20to=20use=20the=20Perl=20script=20=20=20'i1?= =?UTF-8?q?8n-to-gettext.pl'=20to=20convert=20their=20internationalized=20?= =?UTF-8?q?texts=20to=20the=20gettext=20=20=20format=20(see=20the=20instru?= =?UTF-8?q?ctions=20inside=20that=20script=20file).=20The=20function=20=20?= =?UTF-8?q?=20cPlugin::RegisterI18n()=20is=20still=20present=20for=20compa?= =?UTF-8?q?tibility,=20but=20doesn't=20=20=20have=20any=20more=20functiona?= =?UTF-8?q?lity.=20So=20plugins=20that=20don't=20convert=20their=20texts?= =?UTF-8?q?=20to=20=20=20the=20gettext=20format=20will=20only=20present=20?= =?UTF-8?q?English=20texts.=20=20=20See=20PLUGINS.html,=20section=20"Inter?= =?UTF-8?q?nationalization",=20for=20instructions=20on=20how=20=20=20to=20?= =?UTF-8?q?make=20strings=20in=20arrays=20translatable.=20=20=20See=20READ?= =?UTF-8?q?ME.i18n=20for=20information=20on=20how=20to=20create=20new=20or?= =?UTF-8?q?=20maintain=20existing=20=20=20translations.=20-=20The=20three?= =?UTF-8?q?=20letter=20language=20codes=20and=20their=20aliases=20are=20st?= =?UTF-8?q?ored=20in=20i18n.c,=20and=20=20=20each=20translation=20file=20o?= =?UTF-8?q?nly=20contains=20one=20of=20them=20to=20link=20that=20language?= =?UTF-8?q?=20name=20=20=20to=20the=20code.=20-=20The=20'newplugin'=20scri?= =?UTF-8?q?pt=20has=20been=20extended=20to=20generate=20the=20Makefile=20s?= =?UTF-8?q?ection=20=20=20for=20i18n=20support.=20-=20The=20parameter=20OS?= =?UTF-8?q?DLanguage=20in=20'setup.conf'=20is=20now=20a=20string=20and=20h?= =?UTF-8?q?olds=20the=20locale=20=20=20code=20of=20the=20selected=20OSD=20?= =?UTF-8?q?language=20(e.g.=20en=5FUS).=20If=20Setup.OSDLanguage=20is=20no?= =?UTF-8?q?t=20=20=20set=20to=20a=20particular=20locale=20that=20is=20foun?= =?UTF-8?q?d=20in=20VDR's=20locale=20directory,=20the=20=20=20locale=20as?= =?UTF-8?q?=20defined=20in=20the=20system=20environment=20is=20used=20by?= =?UTF-8?q?=20default.=20-=20The=20list=20of=20tracks=20given=20in=20cStat?= =?UTF-8?q?us::SetAudioTrack()=20is=20now=20NULL=20terminated,=20=20=20so?= =?UTF-8?q?=20that=20plugins=20can=20actually=20use=20all=20the=20strings?= =?UTF-8?q?=20in=20the=20list,=20not=20just=20the=20=20=20one=20pointed=20?= =?UTF-8?q?to=20by=20Index=20(thanks=20to=20Alexander=20Rieger).=20-=20Fix?= =?UTF-8?q?ed=20handling=20kLeft=20in=20the=20calls=20to=20cStatus::MsgOsd?= =?UTF-8?q?TextItem()=20(thanks=20to=20=20=20Alexander=20Rieger).=20-=20Ad?= =?UTF-8?q?ded=20the=20"...or=20(at=20your=20option)=20any=20later=20versi?= =?UTF-8?q?on"=20phrase=20to=20the=20license=20=20=20information=20of=20al?= =?UTF-8?q?l=20plugins,=20and=20also=20the=20'newplugin'=20script=20(sugge?= =?UTF-8?q?sted=20by=20=20=20Ville=20Skytt=C3=A4).=20Plugin=20authors=20ma?= =?UTF-8?q?y=20want=20to=20consider=20doing=20the=20same.=20-=20Fixed=20th?= =?UTF-8?q?e=20link=20to=20the=20GPL2=20at=20http://www.gnu.org=20in=20vdr?= =?UTF-8?q?.c=20(thanks=20to=20Ville=20=20=20Skytt=C3=A4).=20-=20cBitmap::?= =?UTF-8?q?SetXpm()=20now=20checks=20whether=20the=20given=20Xpm=20pointer?= =?UTF-8?q?=20is=20not=20NULL,=20to=20=20=20avoid=20a=20crash=20with=20fil?= =?UTF-8?q?es=20that=20only=20contain=20"/*=20XPM=20*/"=20(suggested=20by?= =?UTF-8?q?=20Andreas=20=20=20Mair).=20-=20Added=20a=20debug=20error=20mes?= =?UTF-8?q?sage=20to=20cReceiver::~cReceiver()=20in=20case=20it=20is=20sti?= =?UTF-8?q?ll=20=20=20attached=20to=20a=20device=20(thanks=20to=20Reinhard?= =?UTF-8?q?=20Nissl).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.i18n | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README.i18n (limited to 'README.i18n') diff --git a/README.i18n b/README.i18n new file mode 100644 index 0000000..2df5848 --- /dev/null +++ b/README.i18n @@ -0,0 +1,42 @@ +Video Disk Recorder ('VDR') - Internationalization +-------------------------------------------------- + +The internationalized texts of VDR and its plugins use the 'gettext' +functionality. This file provides information on how to maintain +these texts. The instructions apply equally to VDR itself or any +plugin. + + +How to translate to a new language +---------------------------------- + +- Change into the source directory. +- Do a 'make i18n' to have the current *.pot file created. +- Make sure your locale is set to the language you want to + translate to. +- Change into the 'po' subdirectory and run 'msginit'. This + will create a new *.po file for your language. +- Edit the new *.po file and translate the texts. + You can do this either with your favorite text editor, or + with a specialited tool like POEdit, GTranslator, KBabel + or whatever you have. + +How to maintain an existing language file +----------------------------------------- + +- Do a 'make i18n' to have the *.po files brought up-to-date + with the texts in the source code. +- Edit the new *.po file and translate the texts. + If you are using a plain text editor, you should search for + empty strings ("") to find new, untranslated texts. Also, + look for the "fuzzy" keyword to find translations that have + been "guessed" from other, similar texts, and make sure they + are correct. After that you may want to remove the "fuzzy" + keyword. Specialized tools for maintaining translation + files may provide particular functions to guide you through + updating translations. + +Once you have created or updated a translation file, please +send it to the maintainer of the respective plugin (in case +it belongs to a plugin) or to kls@cadsoft.de (for core VDR +language files). -- cgit v1.2.3