Tłumacz JSON Zachowujący Strukturę | Darmowe Narzędzie i18n
Darmowy tłumacz JSON, który zachowuje nienaruszną strukturę. Tłumacz pliki i18n, odpowiedzi API oraz zagnieżdżone JSONy, zachowując klucze, typy danych i formatowanie. Idealny dla i18next i aplikacji wielojęzycznych.
Tłumacz Zachowujący Strukturę JSON
To narzędzie tłumaczy zawartość obiektów JSON, zachowując ich strukturę. Wklej swój JSON w lewym panelu, wybierz język docelowy i zobacz przetłumaczone dane po prawej stronie.
Tutaj pojawi się przetłumaczone dane...
Jak używać
- Wklej obiekt JSON w polu Źródłowy JSON.
- Wybierz język docelowy z menu rozwijanego.
- Przetłumaczony JSON automatycznie pojawi się w prawym panelu.
- Kliknij przycisk Kopiuj, aby skopiować przetłumaczony JSON do schowka.
Dokumentacja
Co to jest Tłumacz Zachowujący Strukturę JSON?
Czy kiedykolwiek próbowałeś skopiować JSON do Google Translate i kończyłeś z uszkodzonymi kluczami, brakującymi nawiasami lub zniekształconą składnią? Dokładnie taki problem rozwiązuje to narzędzie.
Tłumacz zachowujący strukturę JSON konwertuje wartości ciągów znaków wewnątrz obiektów JSON na inny język, pozostawiając wszystko inne nienaruszonym — klucze pozostają takie same, liczby pozostają liczbami, wartości logiczne pozostają logiczne, a zagnieżdżona struktura nie ulega rozpadowi.
Oto, co wyróżnia to narzędzie spośród zwykłych narzędzi do tłumaczeń: podczas tłumaczenia typowego pliku i18n z ponad 50 zagnieżdżonymi kluczami, musisz zachować identyczną strukturę, aby Twój kod nadal mógł odwoływać się do user.profile.displayName po hiszpańsku, francusku lub japońsku. Zerwanie tej struktury oznacza debugowanie przez godziny.
To narzędzie automatycznie obsługuje rekurencyjne przechodzenie, identyfikując, które ciągi znaków wymagają tłumaczenia, a które elementy (takie jak klucze API, wartości konfiguracyjne lub numeryczne identyfikatory) powinny pozostać dokładnie takie, jakie są.
Jak działa zachowanie struktury JSON
Dlaczego zachowanie struktury ma znaczenie
Podczas pracy z tłumaczeniem JSON zazwyczaj masz do czynienia z jednym z tych scenariuszy:
- Pliki i18n, gdzie aplikacja oczekuje, że
en.jsonifr.jsonbędą miały identyczne klucze - Odpowiedzi API, które wymagają spójnej struktury we wszystkich językach dla parsowania klienta
- Pliki konfiguracyjne, gdzie zmiana nazwy klucza może zerwać całą aplikację
- Eksporty bazy danych, gdzie relacje zależą od konkretnych nazw pól
Wyzwanie: JSON to nie tylko tekst. To dane strukturalne z systemem, na którym opiera się kod. Zmiana "userName" na "nombreUsuario" podczas tłumaczenia spowoduje błąd undefined w aplikacji.
Jak działa proces tłumaczenia
Oto co dzieje się pod maską podczas tłumaczenia JSON:
1. Parsowanie i Walidacja Narzędzie najpierw sprawdza poprawność składni JSON. Jeśli brakuje przecinka lub jest dodatkowy nawias, otrzymasz jasny komunikat o błędzie przed rozpoczęciem tłumaczenia — chroniąc przed uszkodzonym wynikiem.
2. Rekurencyjna Traversacja Rozpoczynając od korzenia, algorytm przechodzi przez każdy węzeł w drzewie JSON. Dla każdego elementu sprawdza typ danych:
- Ciąg znaków? Dodaj do kolejki tłumaczeń
- Liczba, boolean, null? Pomiń całkowicie
- Obiekt lub tablica? Rekurencyjnie przejdź dalej
3. Tłumaczenie Bezpieczne Typowo
Tylko wartości tekstowe są wysyłane do interfejsu API tłumaczeń. Twoje "quantity": 42 pozostaje jako 42, nie "czterdzieści dwa". Twoje "isActive": true pozostaje true, nie "prawda".
4. Zachowanie Kluczy
Wszystkie klucze obiektów pozostają w oryginalnym języku. Jest to kluczowe, ponieważ translations.header.welcomeMessage musi być tą samą ścieżką w każdym pliku językowym.
5. Ponowne Złożenie Struktury Przetłumaczone ciągi znaków są wstawiane z powrotem dokładnie w tych samych pozycjach, zachowując wszystkie poziomy zagnieżdżenia, indeksy tablic i hierarchie obiektów.
Częsty błąd: Niektórzy programiści próbują JSON.stringify() obiektu, przetłumaczyć cały ciąg, a następnie sparsować go z powrotem. To powoduje problemy, ponieważ tłumacz modyfikuje klucze, nawiasy i składnię. Podejście rekurencyjne całkowicie tego unika.
Korzystanie z Translatora Zachowującego Strukturę JSON
Przewodnik Krok po Kroku
1. Wklej Swój JSON Skopiuj obiekt JSON i wklej go do lewego panelu. Narzędzie obsługuje dowolny prawidłowy JSON — czy to prosty obiekt z 5 kluczami, czy głęboko zagnieżdżona struktura z tablicami i wieloma poziomami.
2. Wybierz Język Docelowy Wybierz z listy rozwijanej: hiszpański, francuski, niemiecki, włoski, portugalski, chiński, japoński, koreański, rosyjski i więcej. Jeśli tłumaczysz projekt dla i18next, dopasuj kod języka oczekiwany przez twój framework.
3. Uzyskaj Natychmiastowe Tłumaczenie Przetłumaczone dane wyjściowe pojawiają się automatycznie w prawym panelu. Bez przycisku „Tłumacz" — przetwarza się zaraz po wprowadzeniu prawidłowego JSONa i wybraniu języka.
4. Skopiuj i Użyj Kliknij przycisk „Kopiuj", aby pobrać przetłumaczony JSON. Jest gotowy do wklejenia bezpośrednio do projektu — bez konieczności czyszczenia.
5. Wyczyść dla Następnego Tłumaczenia Naciśnij „Wyczyść wszystko", gdy będziesz gotowy do przetłumaczenia kolejnego pliku. Narzędzie natychmiast resetuje oba panele.
Typowe Problemy i Rozwiązania
Błąd „Nieprawidłowy Format JSON" Zobaczysz go, gdy wystąpi problem składniowy. Typowe przyczyny:
- Brak przecinka między parami klucz-wartość
- Końcowy przecinek po ostatnim elemencie (dozwolony w JavaScript, niedozwolony w JSON)
- Pojedyncze cudzysłowy zamiast podwójnych
- Niezabezpieczone znaki specjalne w ciągach znaków
Szybkie rozwiązanie: Przepuść swój JSON przez validator, taki jak JSONLint przed wklejeniem.
Tłumaczenie Kończy się Cicho Jeśli panel wyjściowy pozostaje pusty:
- Sprawdź połączenie internetowe — tłumaczenie wymaga dostępu do API
- Sprawdź, czy wybrano język docelowy
- Spróbuj z mniejszym fragmentem JSONa, aby wyizolować problem
Nieoczekiwane Wyniki Tłumaczenia Tłumaczenie maszynowe dobrze radzi sobie ze standardowymi frazami, ale ma trudności z:
- Terminologią techniczną lub terminami specyficznymi dla danej dziedziny
- Nazwami marek (które często powinny pozostać nietłumaczone)
- Składnią zastępczą, taką jak
{{username}}lub%s
W przypadku aplikacji produkcyjnych używaj tego narzędzia jako pierwszego podejścia, a następnie poproś native speakera o przejrzenie treści specyficznych dla domeny lub skierowanych do klienta.
Profesjonalne Porady dla Lepszych Rezultatów
Zachowaj Osobno Ciągi Techniczne Jeśli Twój JSON miesza tekst skierowany do użytkownika z identyfikatorami technicznymi, rozważ ich rozdzielenie. Na przykład:
1{
2 "display": {"welcome": "Witaj ponownie"},
3 "config": {"apiKey": "abc123", "endpoint": "https://api.example.com"}
4}
5Przetłumacz osobno obiekt display, aby uniknąć przypadkowego przetwarzania wartości config.
Używaj Kontekstu w Swoich Ciągach „Wyślij" może być przetłumaczone inaczej w zależności od kontekstu. „Wyślij formularz" lub „Wyślij płatność" daje tłumaczom (ludzkim lub maszynowym) lepszy kontekst dla dokładnego tłumaczenia.
Testuj na Prawdziwych Danych Przed przetłumaczeniem całego pliku i18n z 500+ kluczami, przetestuj na małej próbce obejmującej wszystkie typy danych — ciągi znaków, liczby, zagnieżdżone obiekty, tablice.
Przykłady kodu
Tłumaczenie JSON za pomocą JavaScript
1// Przykład implementacji podobnej funkcjonalności w JavaScript
2function translateJsonStructure(jsonObj, targetLanguage) {
3 // Funkcja pomocnicza do tłumaczenia ciągu znaków
4 function translateString(str, lang) {
5 // W rzeczywistej implementacji wywołałoby to API tłumaczeniowe
6 return `[${lang}] ${str}`;
7 }
8
9 // Rekurencyjna funkcja do przechodzenia i tłumaczenia JSON
10 function processNode(node) {
11 if (node === null) return null;
12
13 if (typeof node === 'string') {
14 return translateString(node, targetLanguage);
15 }
16
17 if (Array.isArray(node)) {
18 return node.map(item => processNode(item));
19 }
20
21 if (typeof node === 'object') {
22 const result = {};
23 for (const key in node) {
24 result[key] = processNode(node[key]);
25 }
26 return result;
27 }
28
29 // Zwróć liczby, wartości logiczne itp. bez zmian
30 return node;
31 }
32
33 return processNode(jsonObj);
34}
35
36// Przykład użycia
37const sourceJson = {
38 "product": {
39 "name": "Bezprzewodowe słuchawki",
40 "description": "Wysokiej jakości bezprzewodowe słuchawki z redukcją szumów",
41 "features": ["Bluetooth 5.0", "Czas pracy baterii 40 godzin", "Składana konstrukcja"],
42 "price": 99.99,
43 "inStock": true
44 }
45};
46
47const translatedJson = translateJsonStructure(sourceJson, "es");
48console.log(JSON.stringify(translatedJson, null, 2));
49Tłumaczenie JSON za pomocą Python
1import json
2
3def translate_json_structure(json_obj, target_language):
4 """
5 Tłumaczy wartości ciągów znaków w obiekcie JSON, zachowując strukturę.
6
7 Args:
8 json_obj: Przeanalizowany obiekt JSON
9 target_language: Kod języka docelowego (np. 'es', 'fr')
10
11 Returns:
12 Przetłumaczony obiekt JSON z zachowaną strukturą
13 """
14 def translate_string(text, lang):
15 # W rzeczywistej implementacji wywołałoby to API tłumaczeniowe
16 return f"[{lang}] {text}"
17
18 def process_node(node):
19 if node is None:
20 return None
21
22 if isinstance(node, str):
23 return translate_string(node, target_language)
24
25 if isinstance(node, list):
26 return [process_node(item) for item in node]
27
28 if isinstance(node, dict):
29 result = {}
30 for key, value in node.items():
31 result[key] = process_node(value)
32 return result
33
34 # Zwróć liczby, wartości logiczne itp. bez zmian
35 return node
36
37 return process_node(json_obj)
38
39# Przykład użycia
40source_json = {
41 "user": {
42 "name": "Jane Smith",
43 "bio": "Programistka i współtwórczyni oprogramowania open source",
44 "skills": ["JavaScript", "Python", "React"],
45 "active": True,
46 "followers": 245
47 }
48}
49
50translated_json = translate_json_structure(source_json, "fr")
51print(json.dumps(translated_json, indent=2))
52Tłumaczenie JSON za pomocą PHP
1<?php
2/**
3 * Tłumaczy strukturę JSON, zachowując oryginalną strukturę
4 *
5 * @param mixed $jsonObj Przeanalizowany obiekt JSON
6 * @param string $targetLanguage Kod języka docelowego
7 * @return mixed Przetłumaczony obiekt JSON
8 */
9function translateJsonStructure($jsonObj, $targetLanguage) {
10 // Funkcja pomocnicza do tłumaczenia ciągu znaków
11 function translateString($text, $lang) {
12 // W rzeczywistej implementacji wywołałoby to API tłumaczeniowe
13 return "[$lang] $text";
14 }
15
16 // Rekurencyjna funkcja do przetwarzania każdego węzła
17 function processNode($node, $lang) {
18 if ($node === null) {
19 return null;
20 }
21
22 if (is_string($node)) {
23 return translateString($node, $lang);
24 }
25
26 if (is_array($node)) {
27 // Sprawdź, czy to tablica asocjacyjna (obiekt) czy indeksowana
28 if (array_keys($node) !== range(0, count($node) - 1)) {
29 // Tablica asocjacyjna (obiekt)
30 $result = [];
31 foreach ($node as $key => $value) {
32 $result[$key] = processNode($value, $lang);
33 }
34 return $result;
35 } else {
36 // Tablica indeksowana
37 return array_map(function($item) use ($lang) {
38 return processNode($item, $lang);
39 }, $node);
40 }
41 }
42
43 // Zwróć liczby, wartości logiczne itp. bez zmian
44 return $node;
45 }
46
47 return processNode($jsonObj, $targetLanguage);
48}
49
50// Przykład użycia
51$sourceJson = [
52 "company" => [
53 "name" => "Global Tech Solutions",
54 "description" => "Innowacyjna firma zajmująca się tworzeniem oprogramowania",
55 "founded" => 2010,
56 "services" => ["Tworzenie stron internetowych", "Aplikacje mobilne", "Rozwiązania chmurowe"],
57 "active" => true
58 ]
59];
60
61$translatedJson = translateJsonStructure($sourceJson, "de");
62echo json_encode($translatedJson, JSON_PRETTY_PRINT);
63?>
64Rzeczywiste Przypadki Użycia
Pliki i18n Aplikacji Webowych
Większość nowoczesnych frameworków takich jak Next.js, React czy Vue przechowuje tłumaczenia w formacie JSON. Kiedy chcesz dodać nowy język do swojej aplikacji, stajesz przed wyborem: ręcznie kopiować i tłumaczyć każdy klucz (ryzykowne), lub użyć tego narzędzia, aby wygenerować pierwszą wersję w kilka minut.
Rzeczywisty scenariusz: Twoja aplikacja posiada en.json z ponad 200 kluczami tłumaczeń w zagnieżdżonych kategoriach — nawigacja, formularze, komunikaty o błędach, tooltips. Potrzebujesz wersji francuskiej i niemieckiej do następnego sprintu.
Wejście (en.json):
1{
2 "common": {
3 "welcome": "Witaj w naszej aplikacji",
4 "login": "Zaloguj się",
5 "signup": "Zarejestruj się",
6 "errorMessages": {
7 "required": "To pole jest wymagane",
8 "invalidEmail": "Proszę wprowadzić poprawny adres email"
9 }
10 }
11}
12Przetłumacz na francuski, uzyskaj fr.json o identycznej strukturze. Twój kod nadal odwołuje się do t('common.errorMessages.required') bez zmian.
Co, moim zdaniem, sprawdza się dobrze: Wygeneruj tłumaczenia za pomocą tego narzędzia, a następnie poproś członka zespołu władającego dwoma językami o sprawdzenie terminów technicznych i etykiet przycisków. Pozwala to wychwycić przypadki, gdzie "Wyślij" może wymagać różnych tłumaczeń dla "Wyślij formularz" vs "Wyślij płatność."
Lokalizacja Odpowiedzi API
Budujesz API obsługujące wiele krajów? Potrzebujesz spójnych struktur odpowiedzi we wszystkich językach. API powiadomień może zwracać:
1{
2 "status": "sukces",
3 "notification": {
4 "title": "Zamówienie Wysłane",
5 "message": "Twoje zamówienie #12345 zostało wysłane",
6 "priority": 1,
7 "timestamp": 1678901234
8 }
9}
10Twoja aplikacja mobilna parsuje notification.title i notification.message. Jeśli francuskie tłumaczenie zmieni strukturę kluczy, aplikacja przestanie działać dla użytkowników francuskich.
To narzędzie gwarantuje, że notification.title pozostanie notification.title w każdym języku, zmieniając tylko wartości ciągów znaków. Twój kod kliencki działa identycznie we wszystkich lokalizacjach.
Jedna ograniczona uwaga: Automatyczne tłumaczenie nie rozumie twojej domeny. "Wysłane" w kontekście e-commerce może tłumaczyć się inaczej niż w logistyce lub żegludze. W przypadku API skierowanych do klienta, przejrzyj wynik przed wdrożeniem.
Tłumaczenie Treści Headless CMS
Platformy Headless CMS jak Contentful czy Strapi często eksportują treści jako JSON. Gdy masz 50 wpisów blogowych ze strukturalnymi metadanymi (autor, tagi, URL obrazu wyróżniającego, daty publikacji), chcesz przetłumaczyć treść i tytuł bez ingerencji w metadane.
Typowy eksport obejmuje zarówno ciągi treści, jak i konfigurację:
- Treść: treść artykułu, nagłówek, fragment
- Struktura: identyfikatory autorów, ścieżki obrazów, slugi kategorii, znaczniki czasu
Ręczne tłumaczenie ryzykuje zmianę slug'a z technologia na tecnología, uszkadzając routing. Tłumaczenie zachowujące strukturę obsługuje tylko pola treści.
Pliki Konfiguracyjne dla Wdrożeń Wieloregionalnych
Wdrażasz w różnych regionach? Twoje pliki konfiguracyjne mogą wymagać zlokalizowanych ciągów znaków przy zachowaniu niezmiennych punktów końcowych, poświadczeń i flag funkcji:
1{
2 "region": "eu-west",
3 "welcomeMessage": "Witaj w naszej usłudze",
4 "endpoint": "https://api.eu.example.com",
5 "retryAttempts": 3,
6 "features": {"darkMode": true}
7}
8Przetłumacz welcomeMessage na niemiecki, pozostawiając endpoint, retryAttempts i features bez zmian.
Porównanie Podejść Tłumaczeniowych
| Metoda | Najlepsze dla | Szybkość | Dokładność | Bezpieczeństwo Struktury | Koszt |
|---|---|---|---|---|---|
| To Narzędzie | Szybkie generowanie plików i18n, prototypy, narzędzia wewnętrzne | Natychmiastowe | Dobre dla standardowej treści | 100% zachowana | Darmowe |
| Google Translate (kopiuj/wklej) | Pojedyncze frazy, tekst nietechniczny | Natychmiastowe | Różna | Niszczy JSON | Darmowe |
| Tłumaczenie Profesjonalne | Treści dla klientów, dokumenty prawne, marketing | Dni | Doskonała | Wymagana praca ręczna | $0.08-0.15/słowo |
| Systemy Zarządzania Tłumaczeniami (Lokalise, Phrase) | Aplikacje korporacyjne, przepływy pracy zespołowej | Godziny-Dni | Doskonała z weryfikacją | Wbudowana obsługa JSON | $$$+ |
Kiedy używać tego narzędzia: Projekty we wczesnej fazie, generowanie wersji roboczych do przeglądu, aplikacje wewnętrzne, gdzie idealne tłumaczenie nie jest krytyczne.
Kiedy inwestować w tłumaczenie profesjonalne: Treści dla klientów, teksty prawne/compliance, komunikacja marki lub gdy niuanse kulturowe są ważniejsze niż szybkość.
Rozważania techniczne i przypadki skrajne
Co jest tłumaczone (a co nie)
Narzędzie używa sprawdzania typów, aby określić, co przetłumaczyć:
✅ Tłumaczone:
- Wartości ciągów znaków:
"Welcome"→"Witaj" - Ciągi znaków w tablicach:
["Hello", "World"]→["Cześć", "Świat"] - Ciągi znaków na dowolnym poziomie zagnieżdżenia
❌ Nie tłumaczone:
- Liczby:
42,3.14,-10pozostają niezmienione - Wartości logiczne:
trueifalsepozostają bez zmian - Null:
nullpozostajenull - Klucze obiektów:
"userName"jako klucz pozostaje"userName" - Puste ciągi znaków:
""pozostaje""
Obsługa znaków specjalnych
Unicode i emoji Narzędzie poprawnie obsługuje UTF-8, więc emoji i znaki spoza alfabetu łacińskiego działają bez problemu:
1{"greeting": "👋 Hello"}
2Tłumaczone na język polski jako:
1{"greeting": "👋 Cześć"}
2Sekwencje specjalne
Sekwencje specjalne JSON (\n, \t, \") są zachowywane:
1{"message": "Line 1\nLine 2"}
2\n pozostaje niezmienione podczas tłumaczenia.
Symbole zastępcze
Oto potencjalny problem: Jeśli ciągi znaków zawierają symbole zastępcze jak {username} lub %s, mogą zostać przetłumaczone lub przestawione. W językach takich jak arabski lub hebrajski z tekstem od prawej do lewej, pozycje symboli zastępczych mogą ulec zmianie. Należy to dokładnie sprawdzić.
Wydajność dużych plików JSON
Narzędzie internetowe radzi sobie z typowymi plikami i18n (poniżej 500 KB) bez problemów. Dla większych zbiorów danych:
- 500 KB - 2 MB: Działa, ale może być wolne w przeglądarce
- Powyżej 2 MB: Rozważ podział na logiczne części (np. osobne pliki dla poszczególnych funkcji lub sekcji)
Pamięć przeglądarki jest czynnikiem ograniczającym, a nie sam algorytm.
Często zadawane pytania
Czym to się różni od wklejania JSON-a do Google Translate?
Google Translate traktuje JSON jako zwykły tekst, co oznacza, że próbuje przetłumaczyć wszystko — w tym klucze, znaki składni i wartości numeryczne. Otrzymasz wyjście w stylu:
1{ "nom d'utilisateur": "Jean Dupont", "âge": "vingt-cinq" }
2Zauważ, jak "username" stało się "nom d'utilisateur", a liczba 25 zamieniła się w ciąg znaków "vingt-cinq"? Twój kod natychmiast się psuje.
To narzędzie rozumie strukturę JSON i tłumaczy tylko wartości tekstowe, pozostawiając klucze i inne typy danych nienaruszone.
Czy poradzi sobie z głęboko zagnieżdżonym JSON-em z tablicami?
Tak. Rekurencyjny algorytm przetwarza każdy poziom zagnieżdżenia:
1{
2 "users": [
3 {"name": "John", "roles": ["admin", "editor"]},
4 {"name": "Jane", "roles": ["viewer"]}
5 ]
6}
7Tłumaczy wszystkie wartości tekstowe ("John", "Jane", "admin", "editor", "viewer"), zachowując dokładną strukturę.
Co jeśli mój JSON zawiera zarówno angielski, jak i już przetłumaczoną treść?
Narzędzie tłumaczy każdy napotkany ciąg znaków, nawet jeśli niektóre są już w docelowym języku. Jeśli dodajesz nowe klucze do istniejącego pliku tłumaczenia, przetłumacz tylko nową sekcję osobno, a następnie scal wyniki.
Czy mogę użyć tego dla plików i18next lub react-intl?
Absolutnie. Struktura wyjściowa odpowiada temu, czego oczekują te frameworki. Plik JSON i18next w stylu:
1{"translation": {"welcome": "Hello", "goodbye": "Goodbye"}}
2Staje się:
1{"translation": {"welcome": "Hola", "goodbye": "Adiós"}}
2Twoje wywołania t('translation.welcome') pozostają niezmienione.
Jak dokładne jest automatyczne tłumaczenie treści technicznych?
Zależy od kontekstu:
- Ogólny tekst interfejsu: "Zapisz", "Anuluj", "Wyślij" → Zazwyczaj dokładne
- Terminologia techniczna: "webhook", "OAuth2", "idempotent" → Może być błędnie przetłumaczone lub pozostawione bez zmian
- Terminy specyficzne dla dziedziny: "patient record" (medycyna) vs "patient" (cierpliwość) → Kontekst często pomijany
W przypadku aplikacji produkcyjnych użyj tego jako pierwszego podejścia, a następnie poproś kogoś o sprawdzenie terminów technicznych i specyficznych dla danej dziedziny.
A co z językami o różnych zestawach znaków (chiński, arabski, rosyjski)?
Narzędzie poprawnie obsługuje Unicode, więc wszystkie zestawy znaków działają. Na co zwrócić uwagę: arabski i hebrajski są pisane od prawej do lewej (RTL), co może wpływać na wygląd symboli zastępczych w przetłumaczonych ciągach. Struktura JSON pozostaje poprawna, ale sprawdź przetłumaczony tekst pod kątem czytelności.
Czy zachowa moje formatowanie (wcięcia, podziały linii)?
Wyjście jest poprawnym JSONem, ale formatowanie (białe znaki, wcięcia) może różnić się od wejścia. Jeśli potrzebujesz określonego formatowania, przepuść wyjście przez formatera JSON z preferowanymi ustawieniami.
Czy mogę tłumaczyć wartości konfiguracyjne, takie jak adresy URL lub klucze API?
Narzędzie tłumaczy wszystkie ciągi znaków, w tym adresy URL i wartości konfiguracyjne. Aby temu zapobiec:
- Podziel swój JSON na treści widoczne dla użytkownika i konfigurację
- Przetłumacz tylko sekcję treści
- Pozostaw konfigurację bez tłumaczenia
Jeszcze lepiej — od samego początku strukturyzuj pliki, aby oddzielić treści podlegające tłumaczeniu od wartości technicznych.
Czy to jest darmowe? Czy są jakieś limity?
Narzędzie internetowe jest darmowe do typowego użytku. Bardzo duża objętość tłumaczeń (setki plików na minutę) może napotkać limity w bazowej usłudze tłumaczeniowej. W większości przepływów pracy programistycznych nie napotkasz limitów.
Referencje i Dalsza Lektura
Dla głębszego zrozumienia struktury JSON, standardów internacjonalizacji i najlepszych praktyk:
-
ECMA-404: Składnia Wymiany Danych JSON - Oficyfikacja JSON przez Ecma International definiująca standardowy format: ecma-international.org/publications-and-standards/standards/ecma-404/
-
MDN Web Docs: Praca z JSON - Kompleksowy przewodnik Mozilli dotyczący parsowania, stringifikacji i struktury JSON: developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON
-
Działalność Internacjonalizacji W3C (i18n) - Standardy i najlepsze praktyki dla internacjonalizacji stron internetowych: w3.org/International/
-
RFC 8259: Format Wymiany Danych JSON - Specyfikacja IETF dla składni i semantyki JSON: datatracker.ietf.org/doc/html/rfc8259
Zacznij tłumaczyć swoje pliki JSON
Potrzebujesz szybko wygenerować pliki tłumaczeń dla wielojęzycznej aplikacji? Wklej swój JSON, wybierz język docelowy i natychmiast uzyskaj tłumaczenia zachowujące strukturę. Działa z i18next, react-intl, vue-i18n i każdym frameworkiem wymagającym spójnej struktury JSON między językami.
Rozpocznij tłumaczenie teraz: