Internacjonalizacja
Dodaj obsługę wielu języków do swojej aplikacji. Użyj Proyecta Content API do lokalizacji treści redakcyjnych lub poproś AI o skonfigurowanie frameworka i18n bezpośrednio w kodzie.
Proyecta obsługuje dwa uzupełniające się podejścia do internacjonalizacji tworzonych aplikacji:
- Lokalizacja treści za pomocą Proyecta Content API — dla treści redakcyjnych (wpisy na blogu, FAQ, teksty marketingowe), które muszą być przetłumaczone na wiele języków
- i18n na poziomie kodu za pomocą frameworka tłumaczeń — dla ciągów interfejsu użytkownika, dat, walut i przełączania języka w czasie rzeczywistym
Oba podejścia działają już dziś. To, którego potrzebujesz, zależy od tego, co tłumaczysz.
Sam builder Proyecta obsługuje 24 języki regionalne, więc produkt doskonale zna temat i18n. Te same wzorce mają zastosowanie do aplikacji tworzonych w jego obrębie.
Opcja 1: Lokalizacja treści (Proyecta Content API)
Dział zatytułowany „Opcja 1: Lokalizacja treści (Proyecta Content API)”Jeśli budujesz witrynę z dużą ilością treści — blog, bazę wiedzy, strony marketingowe, katalog produktów — skorzystaj z wbudowanej obsługi języków regionalnych w 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.To właściwe rozwiązanie, gdy:
- Redaktorzy nieznający kodu muszą tłumaczyć treści
- Chcesz, aby tłumaczenia były wersjonowane
- Potrzebujesz publikowania specyficznego dla danego języka regionalnego (planowane publikowanie jest wkrótce — wpisy wymagają obecnie ręcznego opublikowania przez API)
Zobacz Content Management, aby zapoznać się z pełną dokumentacją Content API.
Opcja 2: Framework i18n na poziomie kodu
Dział zatytułowany „Opcja 2: Framework i18n na poziomie kodu”W przypadku ciągów interfejsu użytkownika — etykiet, przycisków, komunikatów o błędach, dat i walut — poproś AI o skonfigurowanie frameworka i18n bezpośrednio w projekcie:
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 wykona następujące kroki:
- Wybierze framework — AI używa
i18nextzreact-i18next(standard Proyecta) - Utworzy pliki katalogów w
src/locales/(jeden plik JSON na język) - Opakuje tekst w wywołania
t()(z hookauseTranslationbiblioteki react-i18next) - Doda komponent przełącznika języka
- Skonfiguruje routing URL z prefiksami językowymi
- Obsłuży układy RTL (
dir="rtl") dla arabskiego, hebrajskiego itp. - Sformatuje liczby, daty i waluty zgodnie z ustawieniami językowymi
Automatyczne tłumaczenie z pomocą AI
Dział zatytułowany „Automatyczne tłumaczenie z pomocą AI”Gdy bazowy język jest już gotowy, AI świetnie radzi sobie z generowaniem pozostałych plików katalogów:
"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."
W przypadku treści o wysokiej stawce (teksty prawne, medyczne, finansowe) przed wdrożeniem poproś człowieka-tłumacza o przejrzenie wyników AI.
Łączenie obu podejść
Dział zatytułowany „Łączenie obu podejść”Większość prawdziwych aplikacji korzysta z obu metod: i18n na poziomie kodu dla elementów interfejsu (przyciski, błędy, nawigacja) oraz Content API dla treści redakcyjnych (artykuły, opisy produktów). Obie metody współistnieją bez problemów — framework i18n obsługuje pliki katalogów podczas budowania, a Content API serwuje zlokalizowane wpisy w czasie rzeczywistym.
Dobre praktyki
Dział zatytułowany „Dobre praktyki”- Najpierw wybierz język bazowy i dopracuj treści. Tłumaczenie ruchomego celu jest uciążliwe.
- Tłumacz partiami. Nie tłumacz na bieżąco — poczekaj, aż funkcja będzie stabilna.
- Testuj RTL wcześnie, jeśli obsługujesz arabski lub hebrajski. Błędy RTL ukrywają się, dopóki naprawdę nie spojrzysz.
- Dodaj
langidirdo<html>. Przeglądarki i czytniki ekranu są od tego zależne. - Używaj
Intldo formatowania. Nie twórz własnego formatowania dat ani walut — używajIntl.DateTimeFormatiIntl.NumberFormat.
Wkrótce
Dział zatytułowany „Wkrótce”- Interfejs zarządzania językami w builderze — wybierz języki regionalne, sprawdź pokrycie tłumaczeń, edytuj katalogi bez opuszczania Proyecta
- Automatyczne tłumaczenie po zapisaniu dla nowych ciągów
- Szablony projektów gotowe na i18n z wstępnie skonfigurowanym frameworkiem