Titlu
Paragraf1
Paragraf2
Paragraf3
Subtitlu
i18n · once
Titlu
L10n · per locale
Titlu
Foundations
Subtitlu
Paragraf1
Paragraf2
Paragraf3
Paragraf1
Paragraf2
Paragraf3
Etichetele BCP 47, precum en-US sau zh-Hans-CN, codifică limba, alfabetul și regiunea. Acestea stau la baza oricărui sistem de internaționalizare (i18n) și determină ce traduceri, formate și reguli se aplică.
Unicode atribuie un punct de cod unic fiecărui caracter din fiecare alfabet. UTF-8 este codificarea predominantă pe internet și asigură afișarea corectă a textului, indiferent de limbă.
Cheile de traducere sunt identificatori stabili care corespund unor șiruri de caractere specifice setării de limbă. Acestea separă codul sursă de conținutul traducibil, permițând dezvoltarea și traducerea în paralel.
Limbile au reguli diferite privind pluralul — engleza are două forme, iar araba are șase. ICU MessageFormat gestionează pluralul, genul și anumite expresii printr-o singură sintaxă.
Limba arabă, ebraica și alte alfabete se citesc de la dreapta la stânga. Suportul pentru RTL necesită oglindirea aspectului paginii, inversarea pictogramelor și utilizarea proprietăților logice CSS în locul celor de tip stânga/dreapta.
Datele, numerele și monedele variază în funcție de setările regionale. API-ul Intl și bibliotecile precum date-fns oferă formatare adaptată la setările regionale, astfel încât valoarea 1.000,50 se afișează ca 1.000,50 în limba germană.
Insignă
Subtitlu
.json
React · Vue · Angular
Cel mai popular pentru aplicații web (React, Vue, Angular). Ușor de citit, acceptă imbricarea pentru structuri de chei organizate. Nu are un standard integrat de pluralizare, așa că biblioteci precum ICU MessageFormat acoperă această lacună.
.xlf
TMS interchange
Standard industrial bazat pe XML pentru schimbul de traduceri între instrumente. Compatibil cu toate platformele profesionale de gestionare a traducerilor (TMS). Detaliat, dar cu numeroase funcționalități, oferind suport integrat pentru note, urmărirea stării și metadate.
.po / .pot
Python · PHP · Ruby
Format clasic open-source utilizat în ecosistemele Python, PHP și Ruby. Suport integrat pentru plural, cu o sintaxă dedicată formelor de plural. Larg acceptat de traducători și de instrumentele de traducere.
.arb
Flutter · Dart
Application Resource Bundle este formatul standard pentru Flutter și Dart. Este bazat pe JSON și acceptă sintaxa mesajelor ICU, permițând utilizarea nativă a formelor de plural și a opțiunilor de selectare. Este utilizat de instrumentele gen-l10n ale Flutter.
.strings
iOS · macOS
Formate native ale platformei Apple pentru dezvoltarea aplicațiilor iOS și macOS. Fișierele .strings gestionează perechi simple cheie-valoare, în timp ce fișierele .stringsdict utilizează structura XML a fișierelor plist pentru regulile de pluralizare.
.resx
.NET · C#
Format de fișier de resurse .NET utilizat pentru aplicațiile C# și VB.NET. Bazat pe XML, cu o integrare puternică cu instrumentele Visual Studio. Suportă resurse tipizate pentru șiruri de caractere, imagini și alte elemente.
Insignă
Subtitlu
Subtitlu
Insignă
Subtitlu
Evaluați instrumentele CLI, suportul SDK, fluxurile de lucru bazate pe Git și hook-urile CI/CD. Cele mai bune platforme TMS se integrează direct în pipeline-ul dvs. de dezvoltare, astfel încât traducerile rămân sincronizate automat cu modificările de cod.
Memoria de traducere stochează traducerile aprobate anterior și le sugerează pentru șiruri similare sau identice. Aceasta reduce costul traducerii, accelerează termenele de livrare și menține consecvența în întregul produs.
Căutați fluxuri de lucru pentru recenzori, comentarii inline, glosare partajate și lanțuri de aprobare. Aceste funcționalități permit traducătorilor, recenzorilor și dezvoltatorilor să lucreze împreună fără blocaje sau neînțelegeri.
Platformele TMS moderne oferă sugestii de traducere automată, verificări automate ale calității, operațiuni în lot și rutare inteligentă. Fluxurile de lucru asistate de AI reduc efortul manual menținând în același timp calitatea traducerilor.
Quality
Subtitlu
Construirea propozițiilor prin concatenarea fragmentelor nu funcționează în limbile cu ordine diferită a cuvintelor. Folosiți în schimb ICU MessageFormat cu substituenți.
Includerea textului destinat utilizatorilor direct în codul sursă face traducerea imposibilă fără modificări ale codului. Extrageți fiecare șir de caractere încă din prima zi.
Structura simplă „if/else” pentru singular/plural funcționează doar în limba engleză. Multe limbi au mai multe forme de plural care necesită aplicarea regulilor corespunzătoare de plural din ICU.
Adăugarea funcționalității de internaționalizare (i18n) după lansare implică o refactorizare costisitoare. Proiectarea cu gândul la internaționalizare încă de la început economisește timp și previne acumularea datoriei arhitecturale.
Subtitlu
By framework
Subtitlu
Insignă
Subtitlu