Internaționalizare
Adaugă suport multi-limbă în aplicația ta. Folosește Proyecta Content API pentru localizarea conținutului editorial, sau cere AI-ului să configureze un framework i18n direct în cod.
Proyecta suportă două abordări complementare pentru internaționalizarea aplicațiilor pe care le construiești:
- Localizarea conținutului prin Proyecta Content API — pentru conținut editorial (articole de blog, FAQ-uri, texte de marketing) care trebuie tradus în mai multe limbi
- i18n la nivel de cod printr-un framework de traducere — pentru șirurile din interfața utilizator, date, valute și schimbarea limbii în timp real
Ambele funcționează acum. Pe care o alegi depinde de ce anume traduci.
Proyecta în sine vine cu 24 de locale, deci produsul este bine familiarizat cu i18n. Aceleași tipare se aplică și aplicațiilor pe care le construiești în el.
Opțiunea 1: Localizarea conținutului (Proyecta Content API)
Section titled “Opțiunea 1: Localizarea conținutului (Proyecta Content API)”Dacă construiești un site cu mult conținut — blog, bază de cunoștințe, pagini de marketing, catalog de produse — folosește suportul nativ pentru locale din Content API.
// Create the locales you supportawait proyecta.content.locales.create({ /* code: 'en', name: 'English' */});await proyecta.content.locales.create({ /* code: 'es', name: 'Español' */});await proyecta.content.locales.create({ /* code: 'fr', name: 'Français' */});
// Then create entries that exist in multiple locales — fetch the right// translation per request based on the user's locale.Aceasta este soluția potrivită atunci când:
- Editorii care nu scriu cod au nevoie să traducă conținut
- Vrei ca traducerile să fie versionabile
- Ai nevoie de publicare specifică pentru fiecare locale (publicarea programată urmează în curând — intrările necesită în prezent publicare manuală prin API)
Vezi Gestionarea conținutului pentru întregul Content API.
Opțiunea 2: Framework i18n la nivel de cod
Section titled “Opțiunea 2: Framework i18n la nivel de cod”Pentru șirurile din interfață — etichete, butoane, mesaje de eroare, date, valute — cere AI-ului să configureze un framework i18n direct în proiectul tău:
Add internationalization to my app.Support English, Spanish, French, and Arabic.Add message catalogs in src/locales/.Add a language switcher in the header.Use locale-prefixed URLs like /en/about and /es/about.Make sure RTL layout works correctly for Arabic.AI-ul va:
- Alege un framework — AI-ul folosește
i18nextcureact-i18next(standardul Proyecta) - Crea fișierele catalog în
src/locales/(câte un JSON per limbă) - Înfășura textele în apeluri
t()(din hook-uluseTranslational react-i18next) - Adăuga o componentă de schimbare a limbii
- Configura rutarea URL cu prefixe de locale
- Gestiona layout-urile RTL (
dir="rtl") pentru arabă, ebraică etc. - Formata numerele, datele și valutele conform locale-ului
Auto-traducere cu AI-ul
Section titled “Auto-traducere cu AI-ul”Odată ce limba de bază este pusă la punct, AI-ul este excelent la generarea celorlalte fișiere catalog:
"Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names.""My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."
Pentru conținut cu miză ridicată (texte juridice, medicale, financiare), solicită unui traducător uman să revizuiască rezultatul AI-ului înainte de a-l publica.
Combinarea ambelor abordări
Section titled “Combinarea ambelor abordări”Majoritatea aplicațiilor reale le folosesc pe amândouă: i18n la nivel de cod pentru elementele de interfață (butoane, erori, navigare) și Content API pentru conținut editorial (articole, descrieri de produse). Cele două coexistă fără probleme — framework-ul tău i18n gestionează fișierele catalog la build time, iar Content API servește intrările localizate la runtime.
Bune practici
Section titled “Bune practici”- Alege limba de bază și finalizează textele mai întâi. Traducerea unui target în continuă schimbare este extrem de anevoioasă.
- Grupează traducerile. Nu traduce pe măsură ce avansezi — așteaptă ca o funcționalitate să fie stabilă.
- Testează RTL devreme dacă suporți arabă sau ebraică. Problemele RTL rămân ascunse până când chiar te uiți la ele.
- Include
langșidirpe<html>. Browserele și cititoarele de ecran depind de ele. - Folosește
Intlpentru formatare. Nu scrie manual formatarea datelor sau a valutelor — foloseșteIntl.DateTimeFormat,Intl.NumberFormat.
În curând
Section titled “În curând”- UI de gestionare a locale-urilor în Builder — alege locale, vizualizează acoperirea traducerilor, editează cataloage fără să părăsești Proyecta
- Auto-traducere la salvare pentru șiruri noi
- Șabloane de proiect pregătite pentru i18n cu framework-ul pre-configurat