<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
		<id>http://l10n.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.38.7.2&amp;*</id>
		<title>l10n.ro - Contribuții utilizator [ro]</title>
		<link rel="self" type="application/atom+xml" href="http://l10n.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.38.7.2&amp;*"/>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Special:Contribu%C8%9Bii/89.38.7.2"/>
		<updated>2026-04-19T09:49:01Z</updated>
		<subtitle>Contribuții utilizator</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=276</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=276"/>
				<updated>2007-12-13T09:57:52Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
msginit &amp;quot;The command line options are:\n&amp;quot;&lt;br /&gt;
&amp;quot;       &amp;lt;var&amp;gt;--quick&amp;lt;/var&amp;gt;         speeds up the processing\n&amp;quot;&lt;br /&gt;
&amp;quot;       &amp;lt;var&amp;gt;--slow&amp;lt;/var&amp;gt;          slows everything down.&amp;quot;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=275</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=275"/>
				<updated>2007-12-13T09:56:38Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 msginit &amp;quot;The command line options are:\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--quick&amp;lt;/var&amp;gt;         speeds up the processing\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--slow&amp;lt;/var&amp;gt;          slows everything down.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;var&amp;gt;es_te&amp;lt;/var&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=274</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=274"/>
				<updated>2007-12-13T09:56:23Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 msginit &amp;quot;The command line options are:\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--quick&amp;lt;/var&amp;gt;         speeds up the processing\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--slow&amp;lt;/var&amp;gt;          slows everything down.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;var&amp;gt;es_te&amp;lt;/var&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=273</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=273"/>
				<updated>2007-12-13T09:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
 msginit &amp;quot;The command line options are:\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--quick&amp;lt;/var&amp;gt;         speeds up the processing\n&amp;quot;&lt;br /&gt;
 &amp;quot;       &amp;lt;var&amp;gt;--slow&amp;lt;/var&amp;gt;          slows everything down.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;var&amp;gt;es_te&amp;lt;/var&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=272</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=272"/>
				<updated>2007-12-13T09:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;var&amp;gt;es_te&amp;lt;/var&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=271</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=271"/>
				<updated>2007-12-13T09:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;ins&amp;gt;es_te&amp;lt;/ins&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=270</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=270"/>
				<updated>2007-12-13T09:34:44Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Texte ce conțin marcaje pentru de taste rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;ins&amp;gt;este&amp;lt;/ins&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Traduceri&amp;diff=269</id>
		<title>Traduceri</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Traduceri&amp;diff=269"/>
				<updated>2007-12-13T09:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: Pagină nouă: Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exempl...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aici este singura zonă unde un traducător trebuie să înțeleagă niște concepte de programare pentru a putea face o traducere corectă. Și dupa cum noi credem în puterea exemplului vom abuza de ele:&lt;br /&gt;
&lt;br /&gt;
== Texte ce conțin marcaje pentru de taste rapide ==&lt;br /&gt;
Dacă nu era clar, taste rapide = keyboard shortcuts. În denumirea unor texte din meniuri sau din dialoguri se introduc unele caractere care marchează tasta rapidă cu care se accesează opțiunea respectivă.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Acesta &amp;lt;div&amp;gt;este&amp;lt;/div&amp;gt; un text&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Ghidul_traduc%C4%83torului_de_software&amp;diff=268</id>
		<title>Ghidul traducătorului de software</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Ghidul_traduc%C4%83torului_de_software&amp;diff=268"/>
				<updated>2007-12-13T09:19:22Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;În primul rând ca traducător ar trebui să te asiguri că cunoști foarte bine limba română.&lt;br /&gt;
&lt;br /&gt;
* [[Recunoașterea secvențelor de text ce nu trebuie tradus]]&lt;br /&gt;
&lt;br /&gt;
=== Diacritice ===&lt;br /&gt;
Sunt obligatorii.&lt;br /&gt;
&lt;br /&gt;
=== Neologisme versus traduceri forțate ===&lt;br /&gt;
&lt;br /&gt;
=== Persoana ===&lt;br /&gt;
* Calculatorul se adresează mereu utilizatorului cu formulă de politețe (ca unui stăpân) '''Doriți să șterg fișierul?'''&lt;br /&gt;
* Utilizatorul se adresează mereu calculatorului nepoliticos (ca unui sclav) ... '''Șterge fișierul!'''&lt;br /&gt;
&lt;br /&gt;
=== Pluralul ===&lt;br /&gt;
Limba română, deşi mulţi nu suntem conştienţi de acest lucru, are două forme de plural şi una de singular, deci în total ar trebui 3 traduceri la mesajele cu forme de plural. 1 ou, 2 ouă, 3 ouă, ... 10 ouă, 20 de ouă, ..., 101 ouă, 102 ouă.&lt;br /&gt;
&lt;br /&gt;
Aceasta presupune să efectuați dacă este nevoie și niște setări în fișierul [[gettext PO]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
Acest articol are la bază alte articole mai vechi&lt;br /&gt;
* http://gnomero.sourceforge.net/sugestii.txt (Dan Damian, 2001)&lt;br /&gt;
* http://wiki.ubuntu.ro/GhidTraduceri&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=home&amp;diff=195</id>
		<title>home</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=home&amp;diff=195"/>
				<updated>2007-12-07T16:19:57Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== i18n.ro ==&lt;br /&gt;
Acest sit este in stadiu beta, foloseste acelasi motor ca si Wikipedia si are ca scop informarea tuturor celor interesaţi de în legătură cu modalitatea de localizare/internaţionalizare a aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
Recomandăm să studiaţi atât sintaxa MediaWiki cât şi Semantic-MediaWiki pentru a putea redacta articolele de pe acest sit.&lt;br /&gt;
&lt;br /&gt;
* [[Help:Contents]] - Cum se foloseste situl (chiar conţine chestii utile!)&lt;br /&gt;
* [[Todo]] - Ce avem de făcut&lt;br /&gt;
* [[:Category:Project]] - Proiecte&lt;br /&gt;
* [[:Category:Term]] - Termeni din glosar&lt;br /&gt;
* [[Statistici]]&lt;br /&gt;
* [[Localizarea in Visual C++]]&lt;br /&gt;
* [[Fonturi româneşti]]&lt;br /&gt;
* http://pootle.i18n.ro:8080 - Server pootle destinat traducerii aplicatiilor in română&lt;br /&gt;
&lt;br /&gt;
=== De ce atâta complexitate pentru glosar? ===&lt;br /&gt;
Glosarul actual (tmlug) este foarte uşor de folosit dar are câteva probleme majore pe care le-am identificat în timp şi care îl impiedică să devină un sistem de referinţă. Lipsurile:&lt;br /&gt;
* securitate: orice poate altera înregistrările&lt;br /&gt;
* nu se pot diferenţia termenii acceptaţi/fixaţi&lt;br /&gt;
* nu se poate obţine o listă cu termenii în dezbatere&lt;br /&gt;
* nu se poate obţine o listă a termenilor netraduşi&lt;br /&gt;
* nu se poate vota pentru anumite variante&lt;br /&gt;
* nu se pot lega termeni între ei: exemplu - perechi de termni cut/copy/paste sau undo/redo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Acţiuni rapide ===&lt;br /&gt;
* [[Form:Project|Adauga proiect]]&lt;br /&gt;
* [[Form:Term|Adauga termen la glosar]]&lt;br /&gt;
* [[Template:Project|Editează şablon proiect]]&lt;br /&gt;
* [[Template:Term|Editează şablon termen]]&lt;br /&gt;
* [[Template:Term Preload]]&lt;br /&gt;
&lt;br /&gt;
=== Legături utile ===&lt;br /&gt;
* http://www.tmlug.ro/glosar/ - Glosarul curent utilizat pentru traducerea aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poll&amp;gt;&lt;br /&gt;
Ce părere aveţi despre acest sit?&lt;br /&gt;
Interesant&lt;br /&gt;
Cam greu de înţeles şi folosit&lt;br /&gt;
Prea greu de folosit&lt;br /&gt;
&amp;lt;/poll&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=194</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=194"/>
				<updated>2007-12-07T16:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Introducere */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut să renunţ la suportul pentru Win9x şi am început portarea aplicaţiei, scrisă în MFC, pe Unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricui vrea sa internationalizeze/localizeze să folosească libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanţa fişierelor de localizare este incomparabil mai uşoară&lt;br /&gt;
* există orice fel de unelte de localizare pentru fişiere gettext (.PO)&lt;br /&gt;
* poate fi folosită şi în aplicaţii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location \&lt;br /&gt;
--keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION \&lt;br /&gt;
--language=Tcl -o resources.po project.rc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=193</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=193"/>
				<updated>2007-12-07T16:16:35Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Introducere */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanţa fişierelor de localizare este incomparabil mai uşoară&lt;br /&gt;
* poate fi folosită şi în aplicaţii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location \&lt;br /&gt;
--keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION \&lt;br /&gt;
--language=Tcl -o resources.po project.rc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=192</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=192"/>
				<updated>2007-12-07T16:14:49Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Extragerea textelor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location \&lt;br /&gt;
--keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION \&lt;br /&gt;
--language=Tcl -o resources.po project.rc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=191</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=191"/>
				<updated>2007-12-07T16:12:56Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Extragerea textelor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=190</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=190"/>
				<updated>2007-12-07T16:12:29Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Gettext */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=189</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=189"/>
				<updated>2007-12-07T16:11:55Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa că adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=188</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=188"/>
				<updated>2007-12-07T15:53:42Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Introducere */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Faza 1 - trecerea la unicode... fără a renuţa la versiunea veche! ==&lt;br /&gt;
Unii o pot considera inutila dar experienta mea spune ca merita sa renunti la Win9x si sa treci la unicode. &lt;br /&gt;
&lt;br /&gt;
Incepeti prin a inlocui tipurile de date si accesele la functii cu urmatoarele. Aceasta faza nu vă va 'strica' aplicaţia şi veţi putea să faceţi build-uri separate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
char	    _TCHAR&lt;br /&gt;
LPSTR       LPTSTR&lt;br /&gt;
LPCSTR      LPCTSTR&lt;br /&gt;
&lt;br /&gt;
strcpy	    _tcscpy &lt;br /&gt;
strcmp      _tcscmp&lt;br /&gt;
strncmp	    _tcsmcmp&lt;br /&gt;
stricmp     _tcsicmp&lt;br /&gt;
strchr      _tcschr&lt;br /&gt;
strncmp     _tcsncmp&lt;br /&gt;
sprintf     _tsprintf /* Vezi mai jos */&lt;br /&gt;
strstr      _tcsstr&lt;br /&gt;
wsprintf    _tcs&lt;br /&gt;
atoi	    _tstoi&lt;br /&gt;
sscanf	    _stscanf&lt;br /&gt;
vsprintf    _vstprintf&lt;br /&gt;
fopen	    _tfopen&lt;br /&gt;
fputs       _fputs&lt;br /&gt;
fclose	    _tfclose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Cum Bill cam uită să ducă treaba la bun sfârşit a uitat de (w)sprintf aşa dă adăugaţi şi asta într-un H*/&lt;br /&gt;
#ifdef UNICODE&lt;br /&gt;
#define _tsprintf wsprintf&lt;br /&gt;
#else&lt;br /&gt;
#define _tsprintf sprintf&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ceva mai puţin evident despre ..prinf(...) ===&lt;br /&gt;
funcţiile din gama printf pot primi ca parametrii atât char, w_char cât şi t_char aşa că **trebuie** ajutate să-şi dea sema ce primesc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Apel                  build unicode          build ne-unicode        alias&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
sprintf &amp;quot;%s&amp;quot;          LPWSTR                 LPSTR                   normal&lt;br /&gt;
sprintf &amp;quot;%S&amp;quot;          LPSTR     	     LPWSTR                  inverse  &lt;br /&gt;
sprintf &amp;quot;%hs&amp;quot;         LPSTR                  LPSTR                   single-byte&lt;br /&gt;
sprintf &amp;quot;&amp;amp;ls&amp;quot;         LPWSTR                 LPWSTR                  double-byte&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cum convertesc dintr-un string in altul ==&lt;br /&gt;
Puteti folosi niste macrocomenzi gen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W2A&lt;br /&gt;
CA2T  - const ANSI to TCHAR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu uitati ca întorc un buffer static deci trebuie să copiaţi valoarea dacă nu o folosiţi imediat.&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=186</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=186"/>
				<updated>2007-12-06T14:05:15Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Windows XP SP2 + Europen Expansion Pack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele mai putin ultimele din grupele de 3&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ===&lt;br /&gt;
* L5 - Arial, Lucida Sans, Microsoft Sans Serif, Serif, SansSerif, Tahoma, Times New Roman, Trebuchet MS, Verdana&lt;br /&gt;
* L3 - Monospaced - diacriticele cu virgula apar cu o forma total diferita ! (hidos), Comic Sans MS - L3&lt;br /&gt;
* L1 - Courier New, Bitstream Vera *, Georgia, Impact, Lucida Console, Lucida Sans Unicode&lt;br /&gt;
&lt;br /&gt;
=== Fonturi gratuite distribuibile ===&lt;br /&gt;
* L5 - Rina - http://www.myfonts.com/fonts/larabie/rina/&lt;br /&gt;
* DejaVu - o modificare a fonturile Bitstream Vera speciala pentru aduce completari&lt;br /&gt;
&lt;br /&gt;
=== Comentarii ===&lt;br /&gt;
Defi OpenOffice.org instaleaza fonturile Bitstream Vera trebuie să menţionez faptul că acestea nu au bine poziţionate caracterele diacritice dar suita ştie să le simuleze bine.&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=185</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=185"/>
				<updated>2007-12-06T13:51:34Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Windows XP SP2 + Europen Expansion Pack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele mai putin ultimele din grupele de 3&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ===&lt;br /&gt;
* L5 - Arial, Lucida Sans, Microsoft Sans Serif, Serif, SansSerif, Tahoma, Times New Roman, Trebuchet MS, Verdana&lt;br /&gt;
* L3 - Monospaced - diacriticele cu virgula apar cu o forma total diferita ! (hidos), Comic Sans MS - L3&lt;br /&gt;
* L1 - Courier New, Bitstream Vera *, Georgia, Impact, Lucida Console, Lucida Sans Unicode&lt;br /&gt;
&lt;br /&gt;
=== Comentarii ===&lt;br /&gt;
Defi OpenOffice.org instaleaza fonturile Bitstream Vera trebuie să menţionez faptul că acestea nu au bine poziţionate caracterele diacritice dar suita ştie să le simuleze bine.&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=184</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=184"/>
				<updated>2007-12-06T13:49:20Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Windows XP SP2 + Europen Expansion Pack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele mai putin ultimele din grupele de 3&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ===&lt;br /&gt;
* L5&lt;br /&gt;
** Arial&lt;br /&gt;
** Lucida Sans&lt;br /&gt;
** Microsoft Sans Serif&lt;br /&gt;
** Serif&lt;br /&gt;
** SansSerif&lt;br /&gt;
** Tahoma&lt;br /&gt;
** Times New Roman&lt;br /&gt;
** Trebuchet MS&lt;br /&gt;
** Verdana&lt;br /&gt;
* L3&lt;br /&gt;
** Monospaced - diacriticele cu virgula apar cu o forma total diferita ! (hidos)&lt;br /&gt;
** Comic Sans MS - L3&lt;br /&gt;
* L1&lt;br /&gt;
** Courier New&lt;br /&gt;
** Bitstream Vera *&lt;br /&gt;
** Georgia&lt;br /&gt;
** Impact&lt;br /&gt;
** Lucida Console&lt;br /&gt;
** Lucida Sans Unicode&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=183</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=183"/>
				<updated>2007-12-06T13:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Analiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele mai putin ultimele din grupele de 3&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ===&lt;br /&gt;
* L5&lt;br /&gt;
** Arial&lt;br /&gt;
** Lucida Sans&lt;br /&gt;
** Microsoft Sans Serif&lt;br /&gt;
* L3&lt;br /&gt;
** Monospaced - diacriticele cu virgula apar cu o forma total diferita ! (hidos)&lt;br /&gt;
** Comic Sans MS - L3&lt;br /&gt;
* L1&lt;br /&gt;
** Courier New&lt;br /&gt;
** Bitstream Vera *&lt;br /&gt;
** Georgia&lt;br /&gt;
** Impact&lt;br /&gt;
** Lucida Console&lt;br /&gt;
** Lucida Sans Unicode&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=182</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=182"/>
				<updated>2007-12-06T13:42:17Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* = Windows XP SP2 + Europen Expansion Pack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă se &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ===&lt;br /&gt;
*L5&lt;br /&gt;
** Arial - L5&lt;br /&gt;
* L3&lt;br /&gt;
** Comic Sans MS - L3&lt;br /&gt;
** Courier New&lt;br /&gt;
* Altele&lt;br /&gt;
** Bitstream Vera * - NU !&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=181</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=181"/>
				<updated>2007-12-06T13:38:34Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Analiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
* L1 se văd toate literele&lt;br /&gt;
* L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
* L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă se &lt;br /&gt;
* L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
* L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ==&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=180</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=180"/>
				<updated>2007-12-06T13:38:09Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Analiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu va mirati daca nu vedeti toate caracterele (22) din sirul respectiv, inseamna doar ca browserul dumneavoastra foloseste un font incomplet.&lt;br /&gt;
&lt;br /&gt;
Ce trebuie verificat:&lt;br /&gt;
- L1 se văd toate literele&lt;br /&gt;
- L2 toate literele, mai puţin prima din fiecare grup au diacritice&lt;br /&gt;
- L3 in grupurile de trei litere, care conţin întâi varianta cu sedilă şi apoi cea cu virgulă se &lt;br /&gt;
- L4 nu se observă diferenţe la prima vedere între forma literelor cu diacritice şi a celor fără&lt;br /&gt;
- L5 forma literelor este identică pentru caracterele cu diacritice şi fară (faceţi zoom pe litere pentru a observa)&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ==&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=179</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=179"/>
				<updated>2007-12-06T13:28:14Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Analiza */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşş tţţ aăâ iî SŞ TŢ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;sşș tţț aăâ iî SŞȘ TŢȚ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ==&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=178</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=178"/>
				<updated>2007-12-06T13:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;br /&gt;
&lt;br /&gt;
== Analiza ==&lt;br /&gt;
Pentru a testa vă recomand să folosiţi aplicaţia multiplatforma si open-source [http://opcion.sourceforge.net/ Opicon Font Viewer]&lt;br /&gt;
&lt;br /&gt;
Textul cu care trebuie sa testati este &amp;lt;tt&amp;gt;sşş tţţ aăâ iî SŞ TŢ AĂÂ IÎ&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Windows XP SP2 + Europen Expansion Pack ==&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=177</id>
		<title>Fonturi Româneşti</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Fonturi_Rom%C3%A2ne%C5%9Fti&amp;diff=177"/>
				<updated>2007-12-06T13:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: New page: Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.  Exista mai multe feluri de fonturi din acest punct de vedere: * G0 - nu suportă  * ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fonturile româneşti sunt acele fonturi care conţin toate caracterele diacritice ale limbii române.&lt;br /&gt;
&lt;br /&gt;
Exista mai multe feluri de fonturi din acest punct de vedere:&lt;br /&gt;
* G0 - nu suportă &lt;br /&gt;
* G1 - fonturi modificate la care au fost mapate alte caractere cu diacritice - se utilizează încă în tipografie - pe scurt fugiţi de ele ca de dracu.&lt;br /&gt;
* G2 - fonturi care au mapate diacriticele dar nu tin cont de sedilă-virgulă &lt;br /&gt;
* G3 - fonturi care merg perfect cu limba română&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=home&amp;diff=176</id>
		<title>home</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=home&amp;diff=176"/>
				<updated>2007-12-06T13:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* i18n.ro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== i18n.ro ==&lt;br /&gt;
Acest sit este in stadiu beta, foloseste acelasi motor ca si Wikipedia si are ca scop informarea tuturor celor interesaţi de în legătură cu modalitatea de localizare/internaţionalizare a aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
Recomandăm să studiaţi atât sintaxa MediaWiki cât şi Semantic-MediaWiki pentru a putea redacta articolele de pe acest sit.&lt;br /&gt;
&lt;br /&gt;
* [[Help:Contents]] - Cum se foloseste situl (chiar conţine chestii utile!)&lt;br /&gt;
* [[Todo]] - Ce avem de făcut&lt;br /&gt;
* [[:Category:Project]] - Proiecte&lt;br /&gt;
* [[:Category:Term]] - Termeni din glosar&lt;br /&gt;
* [[Statistici]]&lt;br /&gt;
* [[Localizarea in Visual C++]]&lt;br /&gt;
* [[Fonturi româneşti]]&lt;br /&gt;
* http://pootle.i18n.ro:8080 - Server pootle destinat traducerii aplicatiilor in română&lt;br /&gt;
&lt;br /&gt;
=== De ce atâta complexitate pentru glosar? ===&lt;br /&gt;
Glosarul actual (tmlug) este foarte uşor de folosit dar are câteva probleme majore pe care le-am identificat în timp şi care îl impiedică să devină un sistem de referinţă. Lipsurile:&lt;br /&gt;
* securitate: orice poate altera înregistrările&lt;br /&gt;
* nu se pot diferenţia termenii acceptaţi/fixaţi&lt;br /&gt;
* nu se poate obţine o listă cu termenii în dezbatere&lt;br /&gt;
* nu se poate obţine o listă a termenilor netraduşi&lt;br /&gt;
* nu se poate vota pentru anumite variante&lt;br /&gt;
* nu se pot lega termeni între ei: exemplu - perechi de termni cut/copy/paste sau undo/redo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Acţiuni rapide ===&lt;br /&gt;
* [[Form:Project|Adauga proiect]]&lt;br /&gt;
* [[Form:Term|Adauga termen la glosar]]&lt;br /&gt;
* [[Template:Project|Editează şablon proiect]]&lt;br /&gt;
* [[Template:Term|Editează şablon termen]]&lt;br /&gt;
* [[Template:Term Preload]]&lt;br /&gt;
&lt;br /&gt;
=== Legături utile ===&lt;br /&gt;
* http://www.tmlug.ro/glosar/ - Glosarul curent utilizat pentru traducerea aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poll&amp;gt;&lt;br /&gt;
Ce părere aveţi despre acest sit?&lt;br /&gt;
Interesant&lt;br /&gt;
Cam greu de înţeles şi folosit&lt;br /&gt;
Prea greu de folosit&lt;br /&gt;
&amp;lt;/poll&amp;gt;&lt;br /&gt;
s&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=home&amp;diff=175</id>
		<title>home</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=home&amp;diff=175"/>
				<updated>2007-12-05T20:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* i18n.ro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== i18n.ro ==&lt;br /&gt;
Acest sit este in stadiu beta, foloseste acelasi motor ca si Wikipedia si are ca scop informarea tuturor celor interesaţi de în legătură cu modalitatea de localizare/internaţionalizare a aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
Recomandăm să studiaţi atât sintaxa MediaWiki cât şi Semantic-MediaWiki pentru a putea redacta articolele de pe acest sit.&lt;br /&gt;
&lt;br /&gt;
* [[Help:Contents]] - Cum se foloseste situl (chiar conţine chestii utile!)&lt;br /&gt;
* [[Todo]] - Ce avem de făcut&lt;br /&gt;
* [[:Category:Project]] - Proiecte&lt;br /&gt;
* [[:Category:Term]] - Termeni din glosar&lt;br /&gt;
* [[Statistici]]&lt;br /&gt;
* [[Localizarea in Visual C++]]&lt;br /&gt;
* http://pootle.i18n.ro:8080 - Server pootle destinat traducerii aplicatiilor in română&lt;br /&gt;
&lt;br /&gt;
=== De ce atâta complexitate pentru glosar? ===&lt;br /&gt;
Glosarul actual (tmlug) este foarte uşor de folosit dar are câteva probleme majore pe care le-am identificat în timp şi care îl impiedică să devină un sistem de referinţă. Lipsurile:&lt;br /&gt;
* securitate: orice poate altera înregistrările&lt;br /&gt;
* nu se pot diferenţia termenii acceptaţi/fixaţi&lt;br /&gt;
* nu se poate obţine o listă cu termenii în dezbatere&lt;br /&gt;
* nu se poate obţine o listă a termenilor netraduşi&lt;br /&gt;
* nu se poate vota pentru anumite variante&lt;br /&gt;
* nu se pot lega termeni între ei: exemplu - perechi de termni cut/copy/paste sau undo/redo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Acţiuni rapide ===&lt;br /&gt;
* [[Form:Project|Adauga proiect]]&lt;br /&gt;
* [[Form:Term|Adauga termen la glosar]]&lt;br /&gt;
* [[Template:Project|Editează şablon proiect]]&lt;br /&gt;
* [[Template:Term|Editează şablon termen]]&lt;br /&gt;
* [[Template:Term Preload]]&lt;br /&gt;
&lt;br /&gt;
=== Legături utile ===&lt;br /&gt;
* http://www.tmlug.ro/glosar/ - Glosarul curent utilizat pentru traducerea aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poll&amp;gt;&lt;br /&gt;
Ce părere aveţi despre acest sit?&lt;br /&gt;
Interesant&lt;br /&gt;
Cam greu de înţeles şi folosit&lt;br /&gt;
Prea greu de folosit&lt;br /&gt;
&amp;lt;/poll&amp;gt;&lt;br /&gt;
s&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=home&amp;diff=174</id>
		<title>home</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=home&amp;diff=174"/>
				<updated>2007-12-05T18:00:36Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* i18n.ro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== i18n.ro ==&lt;br /&gt;
Acest sit este in stadiu beta, foloseste acelasi motor ca si Wikipedia si are ca scop informarea tuturor celor interesaţi de în legătură cu modalitatea de localizare/internaţionalizare a aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
Recomandăm să studiaţi atât sintaxa MediaWiki cât şi Semantic-MediaWiki pentru a putea redacta articolele de pe acest sit.&lt;br /&gt;
&lt;br /&gt;
* [[Help:Contents]] - Cum se foloseste situl (chiar conţine chestii utile!)&lt;br /&gt;
* [[Todo]] - Ce avem de făcut&lt;br /&gt;
* [[:Category:Project]] - Proiecte&lt;br /&gt;
* [[:Category:Term]] - Termeni din glosar&lt;br /&gt;
* [[Statistici]]&lt;br /&gt;
* [[Localizarea in Visual C++]]&lt;br /&gt;
* http://pootle.i18n.ro - Server pootle destinat traducerii aplicatiilor in română&lt;br /&gt;
&lt;br /&gt;
=== De ce atâta complexitate pentru glosar? ===&lt;br /&gt;
Glosarul actual (tmlug) este foarte uşor de folosit dar are câteva probleme majore pe care le-am identificat în timp şi care îl impiedică să devină un sistem de referinţă. Lipsurile:&lt;br /&gt;
* securitate: orice poate altera înregistrările&lt;br /&gt;
* nu se pot diferenţia termenii acceptaţi/fixaţi&lt;br /&gt;
* nu se poate obţine o listă cu termenii în dezbatere&lt;br /&gt;
* nu se poate obţine o listă a termenilor netraduşi&lt;br /&gt;
* nu se poate vota pentru anumite variante&lt;br /&gt;
* nu se pot lega termeni între ei: exemplu - perechi de termni cut/copy/paste sau undo/redo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Acţiuni rapide ===&lt;br /&gt;
* [[Form:Project|Adauga proiect]]&lt;br /&gt;
* [[Form:Term|Adauga termen la glosar]]&lt;br /&gt;
* [[Template:Project|Editează şablon proiect]]&lt;br /&gt;
* [[Template:Term|Editează şablon termen]]&lt;br /&gt;
* [[Template:Term Preload]]&lt;br /&gt;
&lt;br /&gt;
=== Legături utile ===&lt;br /&gt;
* http://www.tmlug.ro/glosar/ - Glosarul curent utilizat pentru traducerea aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poll&amp;gt;&lt;br /&gt;
Ce părere aveţi despre acest sit?&lt;br /&gt;
Interesant&lt;br /&gt;
Cam greu de înţeles şi folosit&lt;br /&gt;
Prea greu de folosit&lt;br /&gt;
&amp;lt;/poll&amp;gt;&lt;br /&gt;
s&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=171</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=171"/>
				<updated>2007-12-04T09:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Extragerea textelor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=170</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=170"/>
				<updated>2007-12-04T09:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extragerea textelor ==&lt;br /&gt;
Extragerea textelor din fisierele .C si .CPP este extrem de usoara folosing &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;, dar cand veti ajunge la fisierele &amp;lt;tt&amp;gt;.RC&amp;lt;/tt&amp;gt; o sa descoperiti ca nu sunt suportate. Din fericire dupa multe incercari nereusite am gasit singur o solutie simpla &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;xgettext --from-code=UTF-8 --add-comments --omit-header --no-location --keyword=MENUITEM --keyword=LTEXT --keyword=DEFPUSHBUTTON --keyword=PUSHBUTTON --keyword=CAPTION --language=Tcl -o resources.po project.rc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sau pe scurt: intrucat sintaxa Tcl e destul de compatibila cu cea din .RC, folosind keyword-urile respective obtinei un parser de .RC in xgettext. Cool?... o sa trimit si un mail ca sa modifice sa recunoasca fisierele rc direct.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=169</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=169"/>
				<updated>2007-12-01T15:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Legături */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
* http://taossa.com/index.php/2007/01/09/string-theory-for-windows/ - cum se lucreaza cu siruri in windows&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=168</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=168"/>
				<updated>2007-11-30T09:30:27Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* Gettext */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Descarcati:&lt;br /&gt;
* &amp;lt;tt&amp;gt;gettext-runtime&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/gettext)&lt;br /&gt;
* &amp;lt;tt&amp;gt;libiconv&amp;lt;/tt&amp;gt; (ex: ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/libiconv)&lt;br /&gt;
&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=167</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=167"/>
				<updated>2007-11-30T09:04:40Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
== Gettext ==&lt;br /&gt;
Ar trebui sa stiti ca implicit gettext intoarce textele in UTF-8 ceea ce este foarte bine, mai putin pentru Windows care foloseste in modul Unicode (UTF16-LE), asa ca trebuie sa le convertiti la runtime (oricum e suficient de rapida conversia)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Legături ==&lt;br /&gt;
* http://www.gnu.org/software/gettext/ - de citit cu atenţie&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Categorie:Tutorial&amp;diff=166</id>
		<title>Categorie:Tutorial</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Categorie:Tutorial&amp;diff=166"/>
				<updated>2007-11-30T08:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: New page: Această categorie este destinată ghidurilor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Această categorie este destinată ghidurilor.&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=165</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=165"/>
				<updated>2007-11-30T08:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=164</id>
		<title>Localizarea in Visual C++</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=Localizarea_in_Visual_C%2B%2B&amp;diff=164"/>
				<updated>2007-11-30T08:45:13Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: New page: == Introducere == Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode.   Acum pot sa recomand oricum vrea sa inter...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
Dupa 7 ani de zile am putut sa renuntam la suportul pentru Win9x si am inceput portarea aplicatiei, scrisa in MFC, pe unicode. &lt;br /&gt;
&lt;br /&gt;
Acum pot sa recomand oricum vrea sa internationalizeze/localizeze sa foloseasca libraria gettext din urmatoarele motive:&lt;br /&gt;
* mentenanta fisierelor de localizare este net superioara&lt;br /&gt;
* poate fi folosita si in aplicatii comerciale (este LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../contrib/gettext-runtime/include/libintl.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CString strDomain=CString(textdomain(&amp;quot;myproject&amp;quot;)); // if you put &amp;quot;&amp;quot; will default to &amp;quot;messages&amp;quot;&lt;br /&gt;
CString strBinded = CString(bindtextdomain(&amp;quot;myproject&amp;quot;,&amp;quot;d:\\dev\\pbxtools\\src\\debug\\locale\\&amp;quot;)); // put you path here&lt;br /&gt;
&lt;br /&gt;
// later&lt;br /&gt;
AfxMessageBox(_(&amp;quot;Hello World!&amp;quot;), (UINT)MB_OK, (UINT)0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	<entry>
		<id>http://l10n.ro/index.php?title=home&amp;diff=163</id>
		<title>home</title>
		<link rel="alternate" type="text/html" href="http://l10n.ro/index.php?title=home&amp;diff=163"/>
				<updated>2007-11-30T08:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;89.38.7.2: /* i18n.ro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== i18n.ro ==&lt;br /&gt;
Acest sit este in stadiu beta, foloseste acelasi motor ca si Wikipedia si are ca scop informarea tuturor celor interesaţi de în legătură cu modalitatea de localizare/internaţionalizare a aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
Recomandăm să studiaţi atât sintaxa MediaWiki cât şi Semantic-MediaWiki pentru a putea redacta articolele de pe acest sit.&lt;br /&gt;
&lt;br /&gt;
* [[Help:Contents]] - Cum se foloseste situl (chiar conţine chestii utile!)&lt;br /&gt;
* [[Todo]] - Ce avem de făcut&lt;br /&gt;
* [[:Category:Project]] - Proiecte&lt;br /&gt;
* [[:Category:Term]] - Termeni din glosar&lt;br /&gt;
* [[Statistici]]&lt;br /&gt;
* [[Localizarea in Visual C++]]&lt;br /&gt;
&lt;br /&gt;
=== De ce atâta complexitate pentru glosar? ===&lt;br /&gt;
Glosarul actual (tmlug) este foarte uşor de folosit dar are câteva probleme majore pe care le-am identificat în timp şi care îl impiedică să devină un sistem de referinţă. Lipsurile:&lt;br /&gt;
* securitate: orice poate altera înregistrările&lt;br /&gt;
* nu se pot diferenţia termenii acceptaţi/fixaţi&lt;br /&gt;
* nu se poate obţine o listă cu termenii în dezbatere&lt;br /&gt;
* nu se poate obţine o listă a termenilor netraduşi&lt;br /&gt;
* nu se poate vota pentru anumite variante&lt;br /&gt;
* nu se pot lega termeni între ei: exemplu - perechi de termni cut/copy/paste sau undo/redo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Acţiuni rapide ===&lt;br /&gt;
* [[Form:Project|Adauga proiect]]&lt;br /&gt;
* [[Form:Term|Adauga termen la glosar]]&lt;br /&gt;
* [[Template:Project|Editează şablon proiect]]&lt;br /&gt;
* [[Template:Term|Editează şablon termen]]&lt;br /&gt;
* [[Template:Term Preload]]&lt;br /&gt;
&lt;br /&gt;
=== Legături utile ===&lt;br /&gt;
* http://www.tmlug.ro/glosar/ - Glosarul curent utilizat pentru traducerea aplicaţiilor în limba română.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;poll&amp;gt;&lt;br /&gt;
Ce părere aveţi despre acest sit?&lt;br /&gt;
Interesant&lt;br /&gt;
Cam greu de înţeles şi folosit&lt;br /&gt;
Prea greu de folosit&lt;br /&gt;
&amp;lt;/poll&amp;gt;&lt;br /&gt;
s&lt;/div&gt;</summary>
		<author><name>89.38.7.2</name></author>	</entry>

	</feed>