Przejdź do treści
Wszystkie narzędzia Cennik Blog

Czaty i wiadomości głosowe

Dokumenty

Audio i wideo

Zaloguj się

Język

Przetłumacz plik JSON i18n z zachowaniem każdego klucza, symbolu zastępczego i formy liczby mnogiej

Prześlij plik en.json (albo kilka plików przestrzeni nazw) i odbierz es.json z tymi samymi zagnieżdżonymi kluczami, w tej samej kolejności i z takimi samymi wcięciami. Tłumaczone są tylko wartości, a każde {name}, {{count}} i każdy plural ICU jest sprawdzany w każdym stringu. Pierwsze stringi są za darmo, bez rejestracji; całe zlecenie, do 5,000 stringów, kosztuje $5, jednorazowa płatność.

Przetłumacz pliki z tekstami

Ton
Słownik i nazwy do zachowania (opcjonalnie)

Nazwy marek i produktów, oddzielone przecinkami. Każda jest sprawdzana w każdym tłumaczeniu.

Jeden termin w wierszu: termin = tłumaczenie.

Bez rejestracji. Do Liczba ciągów tekstowych: 300 w całości za darmo. Dłuższe: pierwsze teksty za darmo, wszystkie pliki w zleceniu za $5, jedna płatność.

Kontynuując, akceptujesz: Regulamin i Polityka prywatności.

  • Klucze i zagnieżdżenia nigdy nie są tłumaczone; tablice, liczby i wartości logiczne zostają bez zmian
  • Sprawdzane placeholdery: {name}, {{count}}, %s, :attribute, $t(key), @:key
  • Plurale ICU zachowują swoją strukturę i dostają kategorie potrzebne w języku docelowym
  • Flutter ARB: @metadata zostaje zachowane i służy jako kontekst, @@locale jest aktualizowane
  • Nazwa pliku zgodna z językiem: en.json zmienia się w es.json, app_en.arb w app_es.arb
Otwórz demo

Zobacz przykładowy PDF

85 ciągów · klucze bez zmian

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

Żółty: placeholdery i składnia liczby mnogiej ICU, sprawdzane w każdym ciągu. Turkusowy: tagi, znaki ucieczki i emoji, bez zmian.

Te same klucze. Te same placeholdery. Nowy język.

Zmieniają się tylko wartości. Plik wraca z tym samym zagnieżdżeniem i kolejnością, pod nazwą es.json, a każdy ciąg, który zgubi placeholder, jest tłumaczony ponownie, zanim trafi do Twojego builda.

Aplikacja demo wymyślona na potrzeby tej strony; hiszpańskie teksty to prawdziwy wynik działania narzędzia, z pliku z 85 ciągami.

Co jest tłumaczone, a co nie

Każda wartość tekstowa jest wysyłana do tłumaczenia razem z pełnym kluczem jako kontekstem, dzięki czemu "settings.save" i "cart.save" mogą wrócić jako różne słowa. Same klucze nie są nigdy wysyłane. Wartości, które nie są tekstem, na przykład adres URL, adres e-mail albo wartość złożona wyłącznie z placeholderów, jak "{count}", zostają bez zmian.

Tagi rich text używane przez react-intl i podobne biblioteki, takie jak <b>{name}</b> czy <link>Undo</link>, są przed tłumaczeniem zamieniane na znaczniki, a po nim przywracane. Dosłowne sekwencje \n i emoji też muszą przetrwać; string, który cokolwiek z tego straci, jest tłumaczony ponownie, a jeśli i drugi raz się nie uda, zostaje angielski tekst, a klucz trafia na listę dla Ciebie.

Liczba mnoga

Komunikat ICU, taki jak {count, plural, one {# trail} other {# trails}}, jest tłumaczony jako jeden string. Tłumacz dostaje informację, jakich kategorii liczby mnogiej używa język docelowy, na przykład one, few, many i other dla rosyjskiego lub polskiego, a wynik jest sprawdzany pod kątem zachowania nazwy zmiennej i słowa kluczowego plural. Pliki i18next z osobnymi kluczami, takimi jak trail_one i trail_other, są tłumaczone klucz po kluczu; klucze, których brakuje w języku docelowym (trail_few, trail_many), nie są dodawane.

Jak działa narzędzie, ile kosztuje i jak traktujemy Twoje pliki, znajdziesz na stronie narzędzia: Tłumacz plików lokalizacyjnych. Ceny wszystkich narzędzi znajdziesz w dziale cennik.

Ostatnia aktualizacja:

Pytania i odpowiedzi

Czy wynik zachowa moje formatowanie?

Tak. Wcięcia (dwie spacje, cztery spacje lub tabulatory), kolejność kluczy, spacja po dwukropku i końcowy znak nowej linii są kopiowane z Twojego pliku. Plik zminifikowany zostaje w jednej linii.

Czy mogę przesłać kilka plików przestrzeni nazw naraz?

Tak, do 20 plików w jednym zleceniu, na przykład common.json, cart.json i errors.json. Pobierzesz je razem jako jeden plik ZIP.

A co ze stringami, których nie należy tłumaczyć?

Wpisz nazwy produktów i marek w polu „Nigdy nie tłumacz”; każdy string, który którąś zawiera, jest sprawdzany pod kątem jej zachowania. Wartości będące tylko adresem URL, adresem e-mail lub placeholderami są pomijane automatycznie.

Ile to kosztuje?

Pierwsze ciągi tekstu są za darmo. Całe zlecenie, do 5,000 ciągów, kosztuje $5 (jednorazowa płatność). Unlimited obejmuje do 15,000 ciągów na zlecenie. Małe zlecenia to wyjątek: zlecenie do 300 ciągów jest za darmo w całości, razem z pobieraniem plików.

Powiązane zlecenia

Używamy analitycznych plików cookie, by sprawdzać, które strony są pomocne. Zgadzasz się?