구조 무결성을 유지하면서 JSON 콘텐츠를 번역합니다. 중첩된 객체와 배열을 처리하고 데이터 유형을 보존하여 원활한 국제화 구현을 지원합니다.
이 도구는 JSON 객체의 내용을 번역하면서 구조를 보존합니다. 왼쪽 패널에 JSON을 붙여넣고, 대상 언어를 선택한 후, 오른쪽에서 번역된 출력을 확인하세요.
JSON 구조 보존 번역기는 원래의 구조와 속성을 그대로 유지하면서 JSON 객체의 내용을 번역하도록 설계된 전문 도구입니다. 이 강력한 유틸리티는 개발자, 콘텐츠 관리자 및 현지화 전문가가 구조화된 데이터 형식을 로컬화할 때 발생하는 일반적인 문제를 제거하여 JSON 데이터를 원활하게 번역할 수 있도록 합니다. 번역 중 구조를 보존함으로써 이 도구는 다국적 개발 프로젝트 및 콘텐츠 로컬화 워크플로우에 필수적인 리소스가 됩니다.
전통적인 텍스트 번역기와 달리 이 도구는 JSON 객체를 지능적으로 처리하여 번역이 필요한 문자열 값을 식별하는 동시에 비문자 데이터 유형(숫자, 부울, null 값) 및 구조적 요소(키, 괄호, 콜론)는 변경하지 않습니다. 이러한 접근 방식은 번역된 JSON이 유효하고 원본과 기능적으로 동등하게 유지되도록 하여 구조 조정이나 디버깅 없이 다국어 애플리케이션에 직접 구현할 수 있게 합니다.
JSON(자바스크립트 객체 표기법)은 데이터 객체를 저장하고 전송하는 데 사용되는 경량 데이터 교환 형식으로, 사람이 읽을 수 있는 텍스트를 사용합니다. 일반적인 JSON 구조는 다음으로 구성됩니다:
"name": "John Doe"
)"address": { "street": "123 Main St", "city": "Anytown" }
)"hobbies": ["reading", "swimming", "hiking"]
)국제화 목적으로 JSON을 번역할 때는 문자열 값만 수정하고 나머지 구조를 유지하는 것이 중요합니다.
JSON 구조 보존 번역기는 구조적 무결성을 유지하면서 정확한 번역을 보장하기 위해 다음 단계를 따릅니다:
이 프로세스는 출력 JSON이 입력 JSON과 완벽하게 구조적으로 일치하도록 하며, 문자열 값의 내용만 번역됩니다.
도구에 접근하기: 웹 브라우저에서 JSON 구조 보존 번역기로 이동합니다.
JSON 입력하기: JSON 객체를 왼쪽의 "소스 JSON" 텍스트 영역에 붙여넣습니다. 이 도구는 중첩된 객체와 배열을 포함한 유효한 JSON을 수용합니다.
대상 언어 선택하기: 드롭다운 메뉴에서 원하는 대상 언어를 선택합니다. 이 도구는 스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 중국어, 일본어, 한국어 및 러시아어를 포함한 여러 언어를 지원합니다.
번역 보기: 번역된 JSON이 오른쪽 패널의 "번역된 JSON"에 자동으로 나타납니다. 원래 JSON의 정확한 구조를 유지합니다.
결과 복사하기: "복사" 버튼을 클릭하여 번역된 JSON을 클립보드에 복사하여 애플리케이션이나 프로젝트에 사용할 수 있습니다.
지우기 및 재설정: 새 번역을 시작해야 하는 경우 "모두 지우기" 버튼을 사용하여 입력 및 출력 필드를 재설정합니다.
번역기를 사용하는 동안 문제가 발생하면 도구에서 유용한 오류 메시지를 제공합니다:
유효하지 않은 JSON 형식: 입력 JSON에 구문 오류가 있는 경우 도구는 JSON 형식이 유효하지 않다는 오류 메시지를 표시합니다. 누락된 괄호, 쉼표 또는 기타 구문 문제를 확인하십시오.
번역 오류: 번역이 실패하는 경우 도구가 알림을 제공합니다. 이는 연결 문제 또는 번역 서비스의 문제로 인해 발생할 수 있습니다.
1// 유사한 기능을 JavaScript로 구현하는 방법의 예
2function translateJsonStructure(jsonObj, targetLanguage) {
3 // 문자열 번역을 위한 도우미 함수
4 function translateString(str, lang) {
5 // 실제 구현에서는 번역 API를 호출합니다
6 return `[${lang}] ${str}`;
7 }
8
9 // 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 // 숫자, 부울 등은 변경하지 않고 그대로 반환
30 return node;
31 }
32
33 return processNode(jsonObj);
34}
35
36// 사용 예
37const sourceJson = {
38 "product": {
39 "name": "무선 헤드폰",
40 "description": "소음 제거 기능이 있는 고품질 무선 헤드폰",
41 "features": ["블루투스 5.0", "40시간 배터리 수명", "접이식 디자인"],
42 "price": 99.99,
43 "inStock": true
44 }
45};
46
47const translatedJson = translateJsonStructure(sourceJson, "ko");
48console.log(JSON.stringify(translatedJson, null, 2));
49
1import json
2
3def translate_json_structure(json_obj, target_language):
4 """
5 JSON 객체의 문자열 값을 번역하면서 구조를 보존합니다.
6
7 Args:
8 json_obj: 파싱된 JSON 객체
9 target_language: 대상 언어 코드 (예: 'ko', 'fr')
10
11 Returns:
12 번역된 JSON 객체
13 """
14 def translate_string(text, lang):
15 # 실제 구현에서는 번역 API를 호출합니다
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 # 숫자, 부울 등은 변경하지 않고 그대로 반환
35 return node
36
37 return process_node(json_obj)
38
39# 사용 예
40source_json = {
41 "user": {
42 "name": "제인 스미스",
43 "bio": "소프트웨어 개발자 및 오픈 소스 기여자",
44 "skills": ["JavaScript", "Python", "React"],
45 "active": True,
46 "followers": 245
47 }
48}
49
50translated_json = translate_json_structure(source_json, "ko")
51print(json.dumps(translated_json, indent=2))
52
1<?php
2/**
3 * 원래 구조를 보존하면서 JSON 구조를 번역합니다.
4 *
5 * @param mixed $jsonObj 파싱된 JSON 객체
6 * @param string $targetLanguage 대상 언어 코드
7 * @return mixed 번역된 JSON 객체
8 */
9function translateJsonStructure($jsonObj, $targetLanguage) {
10 // 문자열 번역을 위한 도우미 함수
11 function translateString($text, $lang) {
12 // 실제 구현에서는 번역 API를 호출합니다
13 return "[$lang] $text";
14 }
15
16 // 각 노드를 처리하는 재귀 함수
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 // 연관 배열(객체)인지 인덱스 배열인지 확인
28 if (array_keys($node) !== range(0, count($node) - 1)) {
29 // 연관 배열(객체)
30 $result = [];
31 foreach ($node as $key => $value) {
32 $result[$key] = processNode($value, $lang);
33 }
34 return $result;
35 } else {
36 // 인덱스 배열
37 return array_map(function($item) use ($lang) {
38 return processNode($item, $lang);
39 }, $node);
40 }
41 }
42
43 // 숫자, 부울 등은 변경하지 않고 그대로 반환
44 return $node;
45 }
46
47 return processNode($jsonObj, $targetLanguage);
48}
49
50// 사용 예
51$sourceJson = [
52 "company" => [
53 "name" => "글로벌 기술 솔루션",
54 "description" => "혁신적인 소프트웨어 개발 회사",
55 "founded" => 2010,
56 "services" => ["웹 개발", "모바일 앱", "클라우드 솔루션"],
57 "active" => true
58 ]
59];
60
61$translatedJson = translateJsonStructure($sourceJson, "ko");
62echo json_encode($translatedJson, JSON_PRETTY_PRINT);
63?>
64
JSON 구조 보존 번역기는 웹 애플리케이션의 국제화에 특히 유용합니다. 현대 웹 애플리케이션은 종종 JSON 형식으로 로컬화 문자열을 저장하며, 이 도구를 사용하면 개발자가:
예를 들어, 일반적인 i18n JSON 파일은 다음과 같을 수 있습니다:
1{
2 "common": {
3 "welcome": "우리 애플리케이션에 오신 것을 환영합니다",
4 "login": "로그인",
5 "signup": "회원가입",
6 "errorMessages": {
7 "required": "이 필드는 필수입니다",
8 "invalidEmail": "유효한 이메일 주소를 입력하십시오"
9 }
10 }
11}
12
JSON 구조 보존 번역기를 사용하면 개발자는 애플리케이션에서 기대하는 중첩 구조를 유지하면서 여러 언어에 대한 동등한 파일을 빠르게 생성할 수 있습니다.
국제 사용자를 위한 API는 종종 로컬화된 응답을 제공해야 합니다. JSON 구조 보존 번역기는 다음을 용이하게 합니다:
콘텐츠 관리 시스템은 종종 콘텐츠를 구조화된 JSON 형식으로 저장합니다. 이 도구는 콘텐츠 관리자에게:
기술 문서는 종종 JSON을 구성 예제나 API 참조에 사용합니다. 번역기는 문서 팀이:
기능 | JSON 구조 보존 번역기 | 일반 텍스트 번역기 | 수동 번역 | 번역 관리 시스템 |
---|---|---|---|---|
구조 보존 | ✅ 완벽한 보존 | ❌ 종종 JSON 구조를 깨뜨림 | ✅ 번역가의 기술에 따라 다름 | ⚠️ 시스템에 따라 다름 |
번역 품질 | ⚠️ 자동화 (간단한 콘텐츠에 적합) | ⚠️ 자동화 (맥락 부족할 수 있음) | ✅ 높은 품질의 인간 번역 | ✅ 인간 검토로 높은 품질 |
속도 | ✅ 즉시 | ✅ 즉시 | ❌ 느림 | ⚠️ 보통 |
중첩 구조 처리 | ✅ 우수 | ❌ 불량 | ⚠️ 오류 발생 가능 | ⚠️ 시스템에 따라 다름 |
기술 지식 필요 | ⚠️ 기본 JSON 이해 필요 | ❌ 필요 없음 | ❌ 필요 없음 | ⚠️ 시스템 특정 지식 필요 |
대형 파일에 적합 | ✅ 예 | ⚠️ 제한이 있을 수 있음 | ❌ 시간 소모 | ✅ 예 |
기술적 지식 필요 | ⚠️ 기본 JSON 이해 필요 | ❌ 필요 없음 | ❌ 필요 없음 | ⚠️ 시스템 특정 지식 필요 |
JSON은 본래 순환 참조를 지원하지 않지만 일부 자바스크립트 객체에는 이를 포함할 수 있습니다. JSON으로 직렬화되면 이러한 참조는 오류를 발생시킵니다. JSON 구조 보존 번역기는 다음과 같이 처리합니다:
번역기는 다양한 데이터 유형을 지능적으로 처리합니다:
42
는 42
로 유지)true
는 true
로 유지)null
은 null
로 유지)번역기는 다음을 적절하게 처리합니다:
매우 큰 JSON 구조의 경우, 번역기는:
JSON 구조 보존 번역기는 JSON 객체 내의 텍스트 콘텐츠를 번역하면서 원래 구조, 형식 및 비문자 값을 그대로 유지하는 전문 도구입니다. 이 도구는 번역된 JSON이 원본 JSON과 유효하고 기능적으로 동등하게 유지되도록 하며, 문자열 내용만 대상 언어로 변경됩니다.
번역기는 재귀 탐색을 사용하여 중첩 JSON 객체를 처리합니다. 모든 중첩 수준을 탐색하면서 각 수준에서 문자열 값을 번역하고 구조, 객체 키 및 비문자 값을 보존합니다. 이를 통해 깊게 중첩된 JSON 객체도 번역 후 원래 구조를 유지합니다.
예, 번역기는 JSON의 배열을 완전히 지원합니다. 배열 내 각 요소를 개별적으로 처리하여 문자열 값을 번역하면서 배열 구조와 비문자 요소를 보존합니다. 이는 문자열의 단순 배열뿐만 아니라 혼합 데이터 유형 또는 중첩 객체를 포함하는 복잡한 배열에도 적용됩니다.
아니요, 번역기는 JSON의 구조를 보존하도록 설계되었으며, 모든 키는 변경되지 않습니다. 문자열 값만 번역되므로 코드가 번역 후에도 동일한 속성 이름을 참조할 수 있습니다.
JSON 구조 보존 번역기는 i18next를 위해 특별히 구축된 것은 아니지만, i18next 및 유사한 국제화 프레임워크와 호환되는 출력을 생성합니다. 번역된 JSON은 이러한 프레임워크에서 기대하는 중첩 구조를 유지하므로 i18next 기반 애플리케이션의 로컬화 파일을 생성하는 데 적합합니다.
번역기는 자동화된 번역 서비스를 사용하여 일반 콘텐츠에 대해 좋은 결과를 제공하지만, 미묘한 의미나 맥락 특정 용어를 완벽하게 포착하지 못할 수 있습니다. 전문적인 번역 품질을 위해서는 고객 대면 콘텐츠의 경우 인간 번역가가 출력을 검토하고 수정하는 것이 권장됩니다.
예, 번역기는 혼합 콘텐츠를 지능적으로 처리합니다. 문자열 값만 번역하고 숫자, 부울, null 값 및 구조적 요소는 원래 JSON에서 나타나는 그대로 보존합니다. 이를 통해 데이터 무결성이 번역 프로세스 전반에 걸쳐 유지됩니다.
번역 오류가 발생하면 먼저 입력이 유효한 JSON인지 확인하십시오. 도구는 유효하지 않은 JSON 구문에 대한 오류 메시지를 제공합니다. JSON이 유효하지만 번역이 실패하는 경우 복잡한 구조를 더 작은 부분으로 나누거나 문제가 발생할 수 있는 특이한 문자나 형식을 확인하십시오.
웹 기반 도구는 적당한 크기의 JSON 객체를 처리할 수 있지만, 매우 큰 파일(수 MB)은 브라우저에서 성능 문제를 일으킬 수 있습니다. 매우 큰 JSON 구조의 경우, 번역을 위해 더 작은 논리 단위로 나누는 것을 고려하거나 유사한 기능의 서버 측 구현을 사용할 수 있습니다.
현재 구현은 한 번에 하나의 대상 언어로 번역합니다. 여러 언어에 대해서는 각 대상 언어에 대해 별도의 번역을 수행해야 합니다. 그러나 이 과정은 빠르며 필요한 각 언어에 대해 쉽게 반복할 수 있습니다.
"JSON (자바스크립트 객체 표기법)." json.org. 2025년 7월 10일 접속.
Ecma International. "표준 ECMA-404: JSON 데이터 교환 구문." ecma-international.org. 2025년 7월 10일 접속.
"i18next: 국제화 프레임워크." i18next.com. 2025년 7월 10일 접속.
Mozilla Developer Network. "JSON으로 작업하기." developer.mozilla.org. 2025년 7월 10일 접속.
W3C. "국제화 (i18n)." w3.org. 2025년 7월 10일 접속.
구조를 보존하면서 JSON을 번역할 준비가 되셨나요? 지금 JSON 구조 보존 번역기 도구를 사용하여 데이터 구조의 무결성을 유지하면서 정확한 번역을 빠르게 생성하십시오. JSON을 붙여넣고 대상 언어를 선택한 후 다국어 애플리케이션에 직접 구현할 수 있는 즉각적인 결과를 얻으십시오.
귀하의 워크플로에 유용할 수 있는 더 많은 도구를 발견하세요.