[]) {
157 | return chunks.reduce((acc, chunk) => {
158 | function deepMerge(target: any, source: any) {
159 | for (const key in source) {
160 | if (typeof source[key] === 'object' && source[key] !== null) {
161 | target[key] = target[key] || {};
162 | deepMerge(target[key], source[key]);
163 | } else {
164 | target[key] = source[key];
165 | }
166 | }
167 | return target;
168 | }
169 | return deepMerge(acc, chunk);
170 | }, {});
171 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JSON i18n Translation Tool
2 |
3 |
4 |
5 |
6 |
7 |
8 | 🌐 AI-Powered JSON Internationalization Translation Tool
9 |
10 |
11 |
12 | 🔗 json.uiboy.com
13 | Free online JSON translation tool powered by AI, supporting 40+ languages
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | English |
33 | 简体中文
34 |
35 |
36 |
37 | 🎯 An Open-Source AI Development Journey
38 |
39 |
40 |
41 | This project showcases a complete AI-assisted development process, from product design to implementation
42 |
43 |
44 |
45 | What's Included:
46 |
47 |
48 |
49 | 🔸 Product Requirements Document - Complete PRD created with AI assistance
50 | 🔸 Source Code - Full codebase with AI-powered features
51 |
52 |
53 | ## ✨ Features
54 |
55 | - 🤖 Smart translation powered by OpenAI GPT models
56 | - 🔄 Maintains JSON structure integrity
57 | - 🌍 Supports 40+ languages
58 | - 🌐 Multi-language interface
59 | - ⚡️ Real-time translation preview
60 | - 🛡️ Local API key usage for security
61 | - 📦 Export translation results
62 | - 🎯 Accurate technical term translation
63 | - 💻 Fully open source, transparent code
64 |
65 | ## 📖 AI-Driven Product Design
66 |
67 | This project includes complete Product Requirements Documents in both English and Chinese:
68 | - [English PRD](./json-translator-prd.md)
69 | - [中文 PRD](./json-translator-prd.zh.md)
70 |
71 | ## 🚀 Quick Start
72 |
73 | ### Requirements
74 |
75 | - Node.js >= 16.0.0
76 | - npm or yarn or pnpm
77 | - OpenAI API key
78 |
79 | ### Installation
80 |
81 | ```bash
82 | git clone https://github.com/ViggoZ/json-translate.git
83 | ```
84 |
85 | ```bash
86 | cd json-translate
87 | ```
88 |
89 | ```bash
90 | npm install
91 | ```
92 |
93 | ### Development
94 |
95 | ```bash
96 | npm run dev
97 | ```
98 | Visit http://localhost:3000 to view the development environment.
99 |
100 | ### Build
101 |
102 | ```bash
103 | npm run build
104 | ```
105 |
106 | ```bash
107 | npm run start
108 | ```
109 |
110 | ## 📖 Usage Guide
111 |
112 | 1. **Preparation**
113 | - Prepare your JSON file for translation
114 | - Get your OpenAI API key (https://platform.openai.com)
115 |
116 | 2. **Getting Started**
117 | - Visit the website
118 | - Upload JSON file (drag & drop supported)
119 | - Select target language
120 | - Enter API key
121 | - Start translation
122 |
123 | 3. **Features**
124 | - Single JSON file translation
125 | - Real-time translation preview
126 | - Export in JSON format
127 |
128 | ## 💡 Best Practices
129 |
130 | - Split large files into smaller ones for translation
131 | - Verify JSON format before translation
132 | - Use preview feature to confirm translation quality
133 | - Regularly backup important translation files
134 |
135 | ## 🛠 Tech Stack
136 |
137 | - **Development Tool**:
138 | - Cursor (AI-assisted development)
139 | - **Framework**: Next.js 14
140 | - **UI**:
141 | - React 18
142 | - Tailwind CSS
143 | - Radix UI
144 | - HeadlessUI
145 | - **Language**: TypeScript
146 | - **API**: OpenAI API
147 | - **Libraries**:
148 | - JSZip (file handling)
149 | - React Syntax Highlighter
150 | - React Window (virtual list)
151 |
152 | ## 🤝 Contributing
153 |
154 | I welcome all forms of contributions, whether it's new features, bug fixes, or documentation improvements.
155 |
156 | 1. Fork the project
157 | 2. Create your feature branch (`git checkout -b feature/YourFeature`)
158 | 3. Commit your changes (`git commit -m 'Add some feature'`)
159 | 4. Push to the branch (`git push origin feature/YourFeature`)
160 | 5. Open a Pull Request
161 |
162 | ### Development Guidelines
163 | - Follow existing code style
164 | - Ensure code passes `npm run lint`
165 | - Test functionality before submitting
166 |
167 | ## 📝 License
168 |
169 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
170 |
171 | ## 🙋 FAQ
172 |
173 | **Q: Is the API key secure?**
174 | A: Yes. API keys are only used temporarily in the browser and are never saved or transmitted to servers.
175 |
176 | **Q: Which languages are supported?**
177 | A: 40+ major languages including but not limited to:
178 | - Chinese (Simplified/Traditional)
179 | - English
180 | - Japanese
181 | - Korean
182 | - French
183 | - German
184 | - Spanish
185 | - Russian
186 | etc.
187 |
188 | **Q: Is there a file size limit?**
189 | A: Single files are limited to 10MB.
190 |
191 | ## 📞 Contact
192 |
193 | - Author: Viggo
194 | - Email: viggo.zw@gmail.com
195 | - Twitter: [@viggo](https://twitter.com/decohack)
196 |
197 | ## 🌟 Acknowledgments
198 |
199 | Thanks to all users who provided feedback. Special thanks to:
200 |
201 | - OpenAI team for their powerful API
202 | - Next.js team for the excellent framework
203 | - All project contributors
204 |
205 | ---
206 |
207 | If this project helps you, please give it a star ⭐️!
208 |
209 | Made with ❤️ by [@viggo](https://twitter.com/decohack)
--------------------------------------------------------------------------------
/src/components/ui/select.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as SelectPrimitive from "@radix-ui/react-select"
5 | import { Check, ChevronDown, ChevronUp } from "lucide-react"
6 |
7 | import { cn } from "@/lib/utils"
8 |
9 | const Select = SelectPrimitive.Root
10 |
11 | const SelectGroup = SelectPrimitive.Group
12 |
13 | const SelectValue = SelectPrimitive.Value
14 |
15 | const SelectTrigger = React.forwardRef<
16 | React.ElementRef,
17 | React.ComponentPropsWithoutRef
18 | >(({ className, children, ...props }, ref) => (
19 | span]:line-clamp-1",
23 | className
24 | )}
25 | {...props}
26 | >
27 | {children}
28 |
29 |
30 |
31 |
32 | ))
33 | SelectTrigger.displayName = SelectPrimitive.Trigger.displayName
34 |
35 | const SelectScrollUpButton = React.forwardRef<
36 | React.ElementRef,
37 | React.ComponentPropsWithoutRef
38 | >(({ className, ...props }, ref) => (
39 |
47 |
48 |
49 | ))
50 | SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName
51 |
52 | const SelectScrollDownButton = React.forwardRef<
53 | React.ElementRef,
54 | React.ComponentPropsWithoutRef
55 | >(({ className, ...props }, ref) => (
56 |
64 |
65 |
66 | ))
67 | SelectScrollDownButton.displayName =
68 | SelectPrimitive.ScrollDownButton.displayName
69 |
70 | const SelectContent = React.forwardRef<
71 | React.ElementRef,
72 | React.ComponentPropsWithoutRef
73 | >(({ className, children, position = "popper", ...props }, ref) => (
74 |
75 |
86 |
87 |
94 | {children}
95 |
96 |
97 |
98 |
99 | ))
100 | SelectContent.displayName = SelectPrimitive.Content.displayName
101 |
102 | const SelectLabel = React.forwardRef<
103 | React.ElementRef,
104 | React.ComponentPropsWithoutRef
105 | >(({ className, ...props }, ref) => (
106 |
111 | ))
112 | SelectLabel.displayName = SelectPrimitive.Label.displayName
113 |
114 | const SelectItem = React.forwardRef<
115 | React.ElementRef,
116 | React.ComponentPropsWithoutRef
117 | >(({ className, children, ...props }, ref) => (
118 |
126 |
127 |
128 |
129 |
130 |
131 | {children}
132 |
133 | ))
134 | SelectItem.displayName = SelectPrimitive.Item.displayName
135 |
136 | const SelectSeparator = React.forwardRef<
137 | React.ElementRef,
138 | React.ComponentPropsWithoutRef
139 | >(({ className, ...props }, ref) => (
140 |
145 | ))
146 | SelectSeparator.displayName = SelectPrimitive.Separator.displayName
147 |
148 | export {
149 | Select,
150 | SelectGroup,
151 | SelectValue,
152 | SelectTrigger,
153 | SelectContent,
154 | SelectLabel,
155 | SelectItem,
156 | SelectSeparator,
157 | SelectScrollUpButton,
158 | SelectScrollDownButton,
159 | }
160 |
--------------------------------------------------------------------------------
/src/components/FileUpload.tsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { Input } from "@/components/ui/input"
4 | import { useTranslate } from "@/context/TranslateContext"
5 | import { useToast } from "@/hooks/use-toast"
6 | import { parseJson } from "@/lib/json-utils"
7 | import { UploadIcon, FileJson2Icon, KeyIcon, Languages, FileIcon } from "lucide-react"
8 | import { useState } from "react"
9 |
10 | interface FileUploadProps {
11 | dict: {
12 | title: string;
13 | description: string;
14 | dragText: string;
15 | supportText: string;
16 | apiKeyTip: string;
17 | apiKeyTitle: string;
18 | apiKeyPlaceholder: string;
19 | errorTitle: string;
20 | successTitle: string;
21 | errors?: {
22 | selectFile: string;
23 | jsonExtension: string;
24 | fileSize: string;
25 | jsonFormat: string;
26 | emptyJson: string;
27 | };
28 | success?: {
29 | uploaded: string;
30 | };
31 | }
32 | }
33 |
34 | export function FileUpload({ dict }: FileUploadProps) {
35 | const [isUploaded, setIsUploaded] = useState(false)
36 | const [fileInfo, setFileInfo] = useState<{ name: string; size: string } | null>(null)
37 | const { toast } = useToast()
38 | const { setFile, apiKey, setApiKey, resetTranslation } = useTranslate()
39 |
40 | const handleUpload = async (event: React.ChangeEvent) => {
41 | const files = event.target.files
42 |
43 | if (!files || !files[0]) {
44 | toast({
45 | variant: "destructive",
46 | title: dict.errorTitle || "Error",
47 | description: dict.errors?.selectFile || "Please select a file"
48 | })
49 | return
50 | }
51 |
52 | const file = files[0]
53 |
54 | if (!file.name.endsWith('.json')) {
55 | toast({
56 | variant: "destructive",
57 | title: "Error",
58 | description: dict.errors?.jsonExtension || "Please upload a file with a .json extension"
59 | })
60 | return
61 | }
62 |
63 | if (file.size > 10 * 1024 * 1024) {
64 | toast({
65 | variant: "destructive",
66 | title: "Error",
67 | description: dict.errors?.fileSize || "File size cannot exceed 10MB"
68 | })
69 | return
70 | }
71 |
72 | try {
73 | const text = await file.text()
74 | const result = parseJson(text.trim())
75 |
76 | if (!result.success) {
77 | throw new Error(result.error || dict.errors?.jsonFormat || 'Invalid JSON format')
78 | }
79 |
80 | if (Object.keys(result.data).length === 0) {
81 | throw new Error(dict.errors?.emptyJson || 'JSON file cannot be empty')
82 | }
83 |
84 | setFile(file)
85 | setIsUploaded(true)
86 | setFileInfo({
87 | name: file.name,
88 | size: formatFileSize(file.size)
89 | })
90 | resetTranslation()
91 | toast({
92 | title: dict.successTitle || "Success",
93 | description: dict.success?.uploaded || "File uploaded successfully"
94 | })
95 |
96 | } catch (err) {
97 | setIsUploaded(false)
98 | setFileInfo(null)
99 | toast({
100 | variant: "destructive",
101 | title: "JSON Format Error",
102 | description: err instanceof Error ? err.message : dict.errors?.jsonFormat || "Invalid file format"
103 | })
104 | }
105 | }
106 |
107 | const handleDragOver = (e: React.DragEvent) => {
108 | e.preventDefault()
109 | e.stopPropagation()
110 | }
111 |
112 | const handleDrop = async (e: React.DragEvent) => {
113 | e.preventDefault()
114 | e.stopPropagation()
115 |
116 | const files = e.dataTransfer.files
117 | if (files && files[0]) {
118 | const event = { target: { files } } as React.ChangeEvent
119 | handleUpload(event)
120 | }
121 | }
122 |
123 | const formatFileSize = (bytes: number): string => {
124 | if (bytes === 0) return '0 Bytes'
125 | const k = 1024
126 | const sizes = ['Bytes', 'KB', 'MB', 'GB']
127 | const i = Math.floor(Math.log(bytes) / Math.log(k))
128 | return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]
129 | }
130 |
131 | return (
132 |
133 |
134 |
178 |
179 |
180 |
181 |
182 |
183 | {dict.apiKeyTitle || "OpenAI API Key"}
184 |
185 |
186 | {dict.apiKeyTip || "Tips: OpenAI API Key is required for translation."}
187 |
188 |
setApiKey(e.target.value)}
194 | />
195 |
196 |
197 | )
198 | }
--------------------------------------------------------------------------------
/src/dictionaries/zh.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI 驱动",
4 | "title": "i18n JSON 国际化翻译工具",
5 | "description": "使用 AI 技术快速翻译您的 JSON 语言文件。快速、准确、易用。",
6 | "features": {
7 | "multilanguage": "多语言支持",
8 | "realtime": "实时翻译"
9 | }
10 | },
11 | "workflow": {
12 | "title": "四个简单步骤完成翻译",
13 | "description": "我们简化了 JSON 文件翻译流程,帮助您快速获得高质量的翻译结果",
14 | "steps": [
15 | {
16 | "title": "上传 JSON 文件",
17 | "description": "支持拖拽上传或点击选择文件"
18 | },
19 | {
20 | "title": "选择目标语言",
21 | "description": "选择需要翻译的目标语言"
22 | },
23 | {
24 | "title": "开始翻译",
25 | "description": "输入 API Key 并开始 AI 翻译"
26 | },
27 | {
28 | "title": "下载结果",
29 | "description": "下载翻译完成的 JSON 文件"
30 | }
31 | ]
32 | },
33 | "features": {
34 | "title": "强大的翻译功能",
35 | "items": [
36 | {
37 | "title": "保持 JSON 结构",
38 | "description": "智能识别并保持原始 JSON 文件的结构、缩进和格式"
39 | },
40 | {
41 | "title": "多语言支持",
42 | "description": "支持包括英语、中文、日语等多种语言之间的翻译"
43 | },
44 | {
45 | "title": "AI 驱动翻译",
46 | "description": "使用 OpenAI GPT 模型确保专业术语的准确性和自然表达"
47 | },
48 | {
49 | "title": "安全可靠",
50 | "description": "API Key 仅在浏览器临时使用,从不保存或传输到服务器"
51 | }
52 | ]
53 | },
54 | "uploadSection": {
55 | "title": "上传 JSON 文件",
56 | "description": "上传需要翻译的 JSON 文件",
57 | "dragText": "拖拽文件到此处或点击上传",
58 | "supportText": "支持 .json 格式文件,最大 10MB",
59 | "apiKeyTitle": "OpenAI API 密钥",
60 | "apiKeyPlaceholder": "sk-...",
61 | "errors": {
62 | "selectFile": "请选择文件",
63 | "jsonExtension": "请上传 .json 格式的文件",
64 | "fileSize": "文件大小不能超过 10MB",
65 | "jsonFormat": "无效的 JSON 格式,请检查文件内容",
66 | "emptyJson": "JSON 文件不能为空"
67 | },
68 | "success": {
69 | "uploaded": "文件上传成功"
70 | },
71 | "errorTitle": "错误",
72 | "successTitle": "成功",
73 | "apiKeyTip": "提示:翻译功能需要 OpenAI API 密钥"
74 | },
75 | "translateSection": {
76 | "title": "选择目标语言",
77 | "description": "选择需要翻译的目标语言"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "开始翻译",
81 | "translating": "翻译中...",
82 | "cancel": "取消",
83 | "uploadFirst": "请先上传文件",
84 | "enterApiKey": "请输入 API Key",
85 | "foundUnfinished": "发现未完成的翻译",
86 | "continueTranslation": "继续翻译",
87 | "translationCancelled": "翻译已取消",
88 | "invalidApiKey": "无效的 API Key 格式",
89 | "errorTitle": "错误",
90 | "successTitle": "成功",
91 | "translationCompleted": "翻译完成!",
92 | "showMoreLanguages": "显示更多语言",
93 | "hideMoreLanguages": "隐藏更多语言",
94 | "overallProgress": "总体进度",
95 | "completedSegments": "已完成片段",
96 | "translatingLanguage": "正在翻译",
97 | "tip": "提示",
98 | "allLanguagesTranslated": "所有选择的语言已翻译完成",
99 | "pleaseSelectLanguage": "请选择至少一种目标语言",
100 | "pleaseUploadAndEnterKey": "请上传文件并输入 API Key",
101 | "cancelled": "已取消",
102 | "translationFailed": "翻译失败",
103 | "bytes": "字节",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "无效的 API 密钥格式",
109 | "invalidOrExpired": "无效或已过期的 API 密钥",
110 | "rateLimitReached": "API 调用次数已达上限",
111 | "validationFailed": "API 密钥验证失败"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "预览",
116 | "empty": "JSON 预览将显示在这里",
117 | "copied": "已复制到剪贴板",
118 | "originalJson": "原始 JSON",
119 | "translatedJson": "翻译后的 JSON",
120 | "tips": "提示:支持实时预览和格式化 JSON 文件,您可以直接复制内容",
121 | "placeholder": {
122 | "upload": "请上传 JSON 文件",
123 | "translation": "翻译结果将显示在这里"
124 | },
125 | "actions": {
126 | "copy": "复制",
127 | "download": "下载",
128 | "downloadAll": "下载所有翻译",
129 | "downloadFormat": "下载{lang}翻译"
130 | },
131 | "toast": {
132 | "copySuccess": "内容已复制到剪贴板",
133 | "copyError": "复制失败,请手动复制",
134 | "downloadSuccess": "{lang}翻译文件已下载",
135 | "downloadAllSuccess": "所有翻译文件已下载",
136 | "downloadError": "下载失败,请重试"
137 | },
138 | "languages": {
139 | "en": "英语",
140 | "ru": "俄语",
141 | "es": "西班牙语",
142 | "de": "德语",
143 | "tr": "土耳其语",
144 | "fr": "法语",
145 | "ja": "日语",
146 | "pt": "葡萄牙语",
147 | "zh": "简体中文",
148 | "zh-TW": "繁体中文",
149 | "it": "意大利语",
150 | "ar": "阿拉伯语",
151 | "pl": "波兰语",
152 | "el": "希腊语",
153 | "nl": "荷兰语",
154 | "id": "印尼语",
155 | "ko": "韩语",
156 | "th": "泰",
157 | "vi": "越南语",
158 | "fa": "波斯语",
159 | "uk": "乌克兰语",
160 | "he": "希伯来语",
161 | "sv": "瑞典语",
162 | "ro": "罗马尼亚语",
163 | "hu": "匈牙利语",
164 | "da": "丹麦语",
165 | "sk": "斯洛伐克语",
166 | "sr": "塞尔维亚语",
167 | "bg": "保加利亚语",
168 | "fi": "芬兰语",
169 | "hr": "克罗地亚语",
170 | "lt": "立陶宛语",
171 | "nb": "挪威语(书面语)",
172 | "sl": "斯洛文尼亚语",
173 | "lv": "拉脱维亚语",
174 | "et": "爱沙尼亚语",
175 | "cs": "捷克语",
176 | "ca": "加泰罗尼亚语",
177 | "hi": "印地语",
178 | "bn": "孟加拉语",
179 | "ta": "泰米尔语",
180 | "ur": "乌尔都语",
181 | "gu": "古吉拉特语",
182 | "kn": "卡纳达语",
183 | "ml": "马拉雅拉姆语",
184 | "mr": "马拉地语",
185 | "ms": "马来语",
186 | "my": "缅甸语",
187 | "km": "柬埔寨语",
188 | "lo": "老挝语",
189 | "mn": "蒙古语",
190 | "az": "阿塞拜疆语",
191 | "ka": "格鲁吉亚语",
192 | "hy": "亚美尼亚语",
193 | "sw": "斯瓦希里语",
194 | "af": "南非荷兰语",
195 | "am": "阿姆哈拉语"
196 | }
197 | },
198 | "faq": {
199 | "title": "常见问题",
200 | "description": "关于 JSON 翻译工具的常见问题",
201 | "items": [
202 | {
203 | "question": "这个工具是做什么的?",
204 | "answer": "这是一个 AI 驱动的 JSON 国际化翻译工具,帮助开发者在保持 JSON 结构完整性的同时快速将 JSON 语言文件翻译成多种语言。"
205 | },
206 | {
207 | "question": "如何使用这个工具?",
208 | "answer": "1. 上传需要翻译的 JSON 文件\n2. 选择目标语言\n3. 输入 OpenAI API Key\n4. 点击开始翻译\n5. 翻译完成后下载结果"
209 | },
210 | {
211 | "question": "支持哪些语言?",
212 | "answer": "目前支持包括英语、简体中文、繁体中文、日语、韩语、法语、德、西班牙语、俄语等多种语言。"
213 | },
214 | {
215 | "question": "我的 API Key 会被保存吗?",
216 | "answer": "不会。您的 API Key 仅在浏览器中临时使用,不会被保存或传输到任何服务器。"
217 | },
218 | {
219 | "question": "如何保证翻译质量?",
220 | "answer": "我们使用 OpenAI 的 GPT 模型进行翻译,确保专业术语的准确性和语言表达的自然性。我们还支持自定义词典功能来保持特定术语的一致性。"
221 | },
222 | {
223 | "question": "文件大小有限制吗?",
224 | "answer": "单个 JSON 文件大小限制为 10MB。对于更大的文件,建议分批翻译。"
225 | }
226 | ]
227 | },
228 | "cta": {
229 | "title": "立即使用 AI 翻译工具",
230 | "description": "快速准确地将您的 JSON 语言文件翻译成多种语言",
231 | "button": "立即尝试",
232 | "features": [
233 | "无需注册",
234 | "完全免费",
235 | "实时翻译"
236 | ]
237 | },
238 | "footer": {
239 | "creator": "由 Viggo 用 ❤️ 创建",
240 | "twitter": "@viggo",
241 | "coffee": "请我喝咖啡",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON翻译工具 - AI驱动的多语言翻译解决方案",
246 | "description": "使用AI技术快速准确地将JSON语言文件翻译成多种语言。支持保持JSON结构、变量占位符和HTML标签。",
247 | "keywords": "JSON翻译,AI翻译,国际化,i18n,多语言翻译,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/zh-TW.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI 驅動",
4 | "title": "i18n JSON 翻譯工具",
5 | "description": "使用 AI 技術快速翻譯您的 JSON 語言文件。快速、準確且易於使用。",
6 | "features": {
7 | "multilanguage": "多語言支持",
8 | "realtime": "實時翻譯"
9 | }
10 | },
11 | "workflow": {
12 | "title": "四個簡單步驟完成翻譯",
13 | "description": "我們簡化了 JSON 文件翻譯過程,幫助您快速獲得高質量的翻譯結果",
14 | "steps": {
15 | "0": {
16 | "title": "上傳 JSON 文件",
17 | "description": "支持拖放或點擊選擇文件"
18 | },
19 | "1": {
20 | "title": "選擇目標語言",
21 | "description": "選擇翻譯的目標語言"
22 | },
23 | "2": {
24 | "title": "開始翻譯",
25 | "description": "輸入 API 密鑰並開始 AI 翻譯"
26 | },
27 | "3": {
28 | "title": "下載結果",
29 | "description": "下載翻譯後的 JSON 文件"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "強大的翻譯功能",
35 | "items": {
36 | "0": {
37 | "title": "保留 JSON 結構",
38 | "description": "智能識別並保持原始 JSON 文件的結構、縮排和格式"
39 | },
40 | "1": {
41 | "title": "多語言支持",
42 | "description": "支持多種語言之間的翻譯,包括英語、中文、日語等"
43 | },
44 | "2": {
45 | "title": "AI 驅動的翻譯",
46 | "description": "利用 OpenAI GPT 模型確保技術術語的準確性和自然表達"
47 | },
48 | "3": {
49 | "title": "安全可靠",
50 | "description": "API 密鑰僅在瀏覽器中暫時使用,從不保存或傳輸到伺服器"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "上傳 JSON 文件",
56 | "description": "上傳您的 JSON 文件以進行翻譯",
57 | "dragText": "將文件拖到這裡或點擊上傳",
58 | "supportText": "支持 .json 格式文件,最大 10MB",
59 | "apiKeyTip": "提示:翻譯需要 OpenAI API 密鑰",
60 | "errors": {
61 | "selectFile": "請選擇一個文件",
62 | "jsonExtension": "請上傳一個 .json 擴展名的文件",
63 | "fileSize": "文件大小不能超過 10MB",
64 | "jsonFormat": "無效的 JSON 格式,請檢查文件內容",
65 | "emptyJson": "JSON 文件不能為空"
66 | },
67 | "success": {
68 | "uploaded": "文件上傳成功"
69 | },
70 | "apiKeyTitle": "OpenAI API 密鑰",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "錯誤",
73 | "successTitle": "成功"
74 | },
75 | "translateSection": {
76 | "title": "選擇目標語言",
77 | "description": "選擇要翻譯的語言"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "開始翻譯",
81 | "translating": "翻譯中...",
82 | "cancel": "取消",
83 | "uploadFirst": "請先上傳文件",
84 | "enterApiKey": "請輸入 API 密鑰",
85 | "foundUnfinished": "發現未完成的翻譯",
86 | "continueTranslation": "繼續翻譯",
87 | "translationCancelled": "翻譯已取消",
88 | "invalidApiKey": "無效的 API 密鑰格式",
89 | "errorTitle": "錯誤",
90 | "successTitle": "成功",
91 | "translationCompleted": "翻譯完成!",
92 | "showMoreLanguages": "顯示更多語言",
93 | "hideMoreLanguages": "隱藏更多語言",
94 | "overallProgress": "整體進度",
95 | "completedSegments": "已完成段落",
96 | "translatingLanguage": "翻譯中",
97 | "allLanguagesTranslated": "所有選擇的語言已翻譯",
98 | "pleaseUploadAndEnterKey": "請上傳文件並輸入 API 金鑰",
99 | "tip": "提示",
100 | "cancelled": "已取消",
101 | "translationFailed": "翻譯失敗",
102 | "pleaseSelectLanguage": "請至少選擇一種目標語言",
103 | "bytes": "位元組",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "無效的 API 密鑰格式",
109 | "invalidOrExpired": "無效或已過期的 API 密鑰",
110 | "rateLimitReached": "API 調用次數已達上限",
111 | "validationFailed": "API 密鑰驗證失敗"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "預覽",
116 | "empty": "JSON 預覽將顯示在這裡",
117 | "copied": "已複製到剪貼簿",
118 | "originalJson": "原始 JSON",
119 | "translatedJson": "翻譯後的 JSON",
120 | "tips": "提示:支持 JSON 文件的即時預覽和格式化,您可以直接複製內容",
121 | "placeholder": {
122 | "upload": "請上傳一個 JSON 文件",
123 | "translation": "翻譯結果將顯示在這裡"
124 | },
125 | "actions": {
126 | "copy": "複製",
127 | "download": "下載",
128 | "downloadAll": "下載所有翻譯",
129 | "downloadFormat": "下載 {lang} 翻譯"
130 | },
131 | "toast": {
132 | "copySuccess": "內容已複製到剪貼簿",
133 | "copyError": "複製失敗,請手動複製",
134 | "downloadSuccess": "{lang} 翻譯文件已下載",
135 | "downloadAllSuccess": "所有翻譯文件已下載",
136 | "downloadError": "下載失敗,請再試一次"
137 | },
138 | "languages": {
139 | "en": "英語",
140 | "zh": "中文(簡體)",
141 | "zh-TW": "中文(繁體)",
142 | "ja": "日語",
143 | "ko": "韓語",
144 | "fr": "法語",
145 | "de": "德語",
146 | "es": "西班牙語",
147 | "pt": "葡萄牙語",
148 | "it": "意大利語",
149 | "ru": "俄語",
150 | "ar": "阿拉伯語",
151 | "hi": "印地語",
152 | "bn": "孟加拉語",
153 | "th": "泰語",
154 | "vi": "越南語",
155 | "id": "印尼語",
156 | "ms": "馬來語",
157 | "tr": "土耳其語",
158 | "nl": "荷蘭語",
159 | "pl": "波蘭語",
160 | "uk": "烏克蘭語",
161 | "el": "希臘語",
162 | "he": "希伯來語",
163 | "sv": "瑞典語",
164 | "da": "丹麥語",
165 | "fi": "芬蘭語",
166 | "cs": "捷克語",
167 | "ro": "羅馬尼亞語",
168 | "hu": "匈牙利語",
169 | "sk": "斯洛伐克語",
170 | "bg": "保加利亞語",
171 | "hr": "克羅地亞語",
172 | "lt": "立陶宛語",
173 | "sl": "斯洛文尼亞語",
174 | "et": "愛沙尼亞語",
175 | "lv": "拉脫維亞語",
176 | "sr": "塞爾維亞語",
177 | "mt": "馬耳他語",
178 | "fa": "波斯語",
179 | "ur": "烏爾都語",
180 | "ta": "泰米爾語",
181 | "te": "泰盧固語",
182 | "ml": "馬拉雅拉姆語",
183 | "kn": "卡納達語",
184 | "mr": "馬拉地語",
185 | "gu": "古吉拉特語",
186 | "my": "緬甸語",
187 | "km": "高棉語",
188 | "lo": "老撾語",
189 | "mn": "蒙古語",
190 | "ka": "喬治亞語",
191 | "hy": "亞美尼亞語",
192 | "az": "阿塞拜疆語",
193 | "sw": "斯瓦希里語",
194 | "af": "南非荷蘭語",
195 | "am": "阿姆哈拉語"
196 | }
197 | },
198 | "faq": {
199 | "title": "常見問題",
200 | "description": "有關 JSON 翻譯工具的常見問題",
201 | "items": {
202 | "0": {
203 | "question": "這個工具是做什麼的?",
204 | "answer": "這是一個由 AI 驅動的 JSON 國際化翻譯工具,幫助開發者快速將 JSON 語言文件翻譯成多種語言,同時保持 JSON 結構的完整性。"
205 | },
206 | "1": {
207 | "question": "如何使用這個工具?",
208 | "answer": "1. 上傳您的 JSON 文件進行翻譯\n2. 選擇目標語言\n3. 輸入您的 OpenAI API 密鑰\n4. 點擊開始翻譯\n5. 翻譯完成後下載結果"
209 | },
210 | "2": {
211 | "question": "支持哪些語言?",
212 | "answer": "目前支持多種語言,包括英語、中文(簡體)、中文(繁體)、日語、韓語、法語、德語、西班牙語、俄語等。"
213 | },
214 | "3": {
215 | "question": "我的 API 金鑰會被保存嗎?",
216 | "answer": "不會。您的 API 金鑰僅在瀏覽器中暫時使用,不會被保存或傳輸到任何伺服器。"
217 | },
218 | "4": {
219 | "question": "如何確保翻譯質量?",
220 | "answer": "我們使用 OpenAI 的 GPT 模型進行翻譯,確保技術術語的準確性和自然語言表達。我們還支持自定義字典功能,以保持特定術語的一致性。"
221 | },
222 | "5": {
223 | "question": "是否有檔案大小限制?",
224 | "answer": "單個 JSON 檔案大小限制為 10MB。對於較大的檔案,建議將其拆分並分批翻譯。"
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "立即開始使用 AI 翻譯工具",
230 | "description": "快速準確地將您的 JSON 語言檔案翻譯成多種語言",
231 | "button": "立即試用",
232 | "features": {
233 | "0": "無需註冊",
234 | "1": "完全免費",
235 | "2": "即時翻譯"
236 | }
237 | },
238 | "footer": {
239 | "creator": "由 Viggo ❤️ 創建",
240 | "twitter": "@viggo",
241 | "coffee": "請我喝杯咖啡",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON翻譯工具 - AI驅動的多語言翻譯解決方案",
246 | "description": "使用AI技術快速準確地將JSON語言文件翻譯成多種語言。支持保持JSON結構、變量佔位符和HTML標籤。",
247 | "keywords": "JSON翻譯,AI翻譯,國際化,i18n,多語言翻譯,OpenAI,線上工具"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/ja.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI搭載",
4 | "title": "i18n JSON国際化翻訳ツール",
5 | "description": "AI技術で素早くJSONファイルを翻訳。高速、正確、使いやすい。",
6 | "features": {
7 | "multilanguage": "多言語対応",
8 | "realtime": "リアルタイム翻訳"
9 | }
10 | },
11 | "workflow": {
12 | "title": "4つの簡単なステップで翻訳完了",
13 | "description": "JSONファイルの翻訳プロセスを簡素化し、高品質な翻訳結果を素早く取得できます",
14 | "steps": [
15 | {
16 | "title": "JSONファイルをアップロード",
17 | "description": "ドラッグ&ドロップまたはクリックでファイルを選択"
18 | },
19 | {
20 | "title": "対象言語を選択",
21 | "description": "翻訳したい言語を選択"
22 | },
23 | {
24 | "title": "翻訳開始",
25 | "description": "APIキーを入力してAI翻訳を開始"
26 | },
27 | {
28 | "title": "結果をダウンロード",
29 | "description": "翻訳されたJSONファイルをダウンロード"
30 | }
31 | ]
32 | },
33 | "features": {
34 | "title": "パワフルな翻訳機能",
35 | "items": [
36 | {
37 | "title": "JSON構造を保持",
38 | "description": "元のJSONファイルの構造、インデント、フォーマットを維持"
39 | },
40 | {
41 | "title": "多言語対応",
42 | "description": "英語、中国語、日本語など、多数の言語間の翻訳をサポート"
43 | },
44 | {
45 | "title": "AI駆動の翻訳",
46 | "description": "OpenAI GPTモデルを使用し、専門用語の正確性と自然な表現を確保"
47 | },
48 | {
49 | "title": "安全性と信頼性",
50 | "description": "APIキーはブラウザで一時的に使用するのみで、保存や送信は行いません"
51 | }
52 | ]
53 | },
54 | "uploadSection": {
55 | "title": "JSONファイルをアップロード",
56 | "description": "翻訳したいJSONファイルをアップロードしてください",
57 | "dragText": "ファイルをドラッグ&ドロップまたはクリックしてアップロード",
58 | "supportText": ".json形式のファイル(最大10MB)に対応",
59 | "apiKeyTip": "ヒント:翻訳にはOpenAI API Keyが必要です",
60 | "errors": {
61 | "selectFile": "ファイルを選択してください",
62 | "jsonExtension": ".json形式のファイルをアップロードしてください",
63 | "fileSize": "ファイルサイズは10MB以下にしてください",
64 | "jsonFormat": "無効なJSON形式です。ファイルの内容を確認してください",
65 | "emptyJson": "JSONファイルが空です"
66 | },
67 | "success": {
68 | "uploaded": "ファイルのアップロードが完了しました"
69 | },
70 | "apiKeyTitle": "OpenAI API Key",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "エラー",
73 | "successTitle": "成功"
74 | },
75 | "translateSection": {
76 | "title": "対象言語を選択",
77 | "description": "翻訳したい言語を選んでください"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "翻訳開始",
81 | "translating": "翻訳中...",
82 | "cancel": "キャンセル",
83 | "uploadFirst": "ファイルをアップロードしてください",
84 | "enterApiKey": "API Keyを入力してください",
85 | "foundUnfinished": "未完了の翻訳が見つかりました",
86 | "continueTranslation": "翻訳を続ける",
87 | "translationCancelled": "翻訳がキャンセルされました",
88 | "invalidApiKey": "無効なAPI Keyフォーマット",
89 | "errorTitle": "エラー",
90 | "successTitle": "成功",
91 | "translationCompleted": "翻訳が完了しました!",
92 | "showMoreLanguages": "他の言語を表示",
93 | "hideMoreLanguages": "言語を隠す",
94 | "overallProgress": "全体の進捗",
95 | "completedSegments": "完了セグメント",
96 | "translatingLanguage": "翻訳中の言語",
97 | "allLanguagesTranslated": "選択された全ての言語が翻訳済みです",
98 | "pleaseUploadAndEnterKey": "ファイルをアップロードしAPI Keyを入力してください",
99 | "tip": "ヒント",
100 | "cancelled": "キャンセル済み",
101 | "translationFailed": "翻訳に失敗しました",
102 | "pleaseSelectLanguage": "翻訳する言語を1つ以上選択してください",
103 | "bytes": "バイト",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "APIキーの形式が無効です",
109 | "invalidOrExpired": "APIキーが無効または期限切れです",
110 | "rateLimitReached": "APIレート制限に達しました",
111 | "validationFailed": "APIキーの検証に失敗しました"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "プレビュー",
116 | "empty": "JSONプレビューがここに表示されます",
117 | "copied": "クリップボードにコピーしました",
118 | "originalJson": "元のJSON",
119 | "translatedJson": "翻訳されたJSON",
120 | "tips": "ヒント:JSONファイルのリアルタイムプレビューと整形をサポートし、内容を直接コピーできます",
121 | "placeholder": {
122 | "upload": "JSONファイルをアップロードしてください",
123 | "translation": "翻訳結果がここに表示されます"
124 | },
125 | "actions": {
126 | "copy": "コピー",
127 | "download": "ダウンロード",
128 | "downloadAll": "すべての翻訳をダウンロード",
129 | "downloadFormat": "{lang}の翻訳をダウンロード"
130 | },
131 | "toast": {
132 | "copySuccess": "内容をクリップボードにコピーしました",
133 | "copyError": "コピーに失敗しました。手動でコピーしてください",
134 | "downloadSuccess": "{lang}の翻訳ファイルをダウンロードしました",
135 | "downloadAllSuccess": "すべての翻訳ファイルをダウンロードしました",
136 | "downloadError": "ダウンロードに失敗しました。もう一度お試しください"
137 | },
138 | "languages": {
139 | "en": "英語",
140 | "zh": "中国語(簡体字)",
141 | "zh-TW": "中国語(繁体字)",
142 | "ja": "日本語",
143 | "ko": "韓国語",
144 | "fr": "フランス語",
145 | "de": "ドイツ語",
146 | "es": "スペイン語",
147 | "pt": "ポルトガル語",
148 | "it": "イタリア語",
149 | "ru": "ロシア語",
150 | "ar": "アラビア語",
151 | "hi": "ヒンディー語",
152 | "bn": "ベンガル語",
153 | "th": "タイ語",
154 | "vi": "ベトナム語",
155 | "id": "インドネシア語",
156 | "ms": "マレー語",
157 | "tr": "トルコ語",
158 | "nl": "オランダ語",
159 | "pl": "ポーランド語",
160 | "uk": "ウクライナ語",
161 | "el": "ギリシャ語",
162 | "he": "ヘブライ語",
163 | "sv": "スウェーデン語",
164 | "da": "デンマーク語",
165 | "fi": "フィンランド語",
166 | "cs": "チェコ語",
167 | "ro": "ルーマニア語",
168 | "hu": "ハンガリー語",
169 | "sk": "スロバキア語",
170 | "bg": "ブルガリア語",
171 | "hr": "クロアチア語",
172 | "lt": "リトアニア語",
173 | "sl": "スロベニア語",
174 | "et": "エストニア語",
175 | "lv": "ラトビア語",
176 | "sr": "セルビア語",
177 | "mt": "マルタ語",
178 | "fa": "ペルシャ語",
179 | "ur": "ウルドゥー語",
180 | "ta": "タミル語",
181 | "te": "テルグ語",
182 | "ml": "マラヤーラム語",
183 | "kn": "カンナダ語",
184 | "mr": "マラーティー語",
185 | "gu": "グジャラート語",
186 | "my": "ミャンマー語",
187 | "km": "クメール語",
188 | "lo": "ラオス語",
189 | "mn": "モンゴル語",
190 | "ka": "グルジア語",
191 | "hy": "アルメニア語",
192 | "az": "アゼルバイジャン語",
193 | "sw": "スワヒリ語",
194 | "af": "アフリカーンス語",
195 | "am": "アムハラ語"
196 | }
197 | },
198 | "faq": {
199 | "title": "よくある質問",
200 | "description": "JSON翻訳ツールに関するよくある質問",
201 | "items": [
202 | {
203 | "question": "このツールは何ができますか?",
204 | "answer": "これはAI搭載のJSON国際化翻訳ツールで、開発者がJSONファイルの構造を維持しながら、複数の言語に素早く翻訳することができます。"
205 | },
206 | {
207 | "question": "使い方を教えてください",
208 | "answer": "1. 翻訳したいJSONファイルをアップロード\n2. 対象言語を選択\n3. OpenAI APIキーを入力\n4. 翻訳を開始\n5. 翻訳完了後、結果をダウンロード"
209 | },
210 | {
211 | "question": "対応している言語は?",
212 | "answer": "現在、英語、簡体字中国語、繁体字中国語、日本語、韓国語、フランス語、ドイツ語、スペイン語、ロシア語など、多数の言語に対応しています。"
213 | },
214 | {
215 | "question": "APIキーは保存されますか?",
216 | "answer": "いいえ。APIキーはブラウザで一時的に使用されるだけで、サーバーに保存や送信されることはありません。"
217 | },
218 | {
219 | "question": "翻訳品質はどのように保証されていますか?",
220 | "answer": "OpenAIのGPTモデルを使用して翻訳を行い、専門用語の正確性と自然な表現を確保しています。また、特定の用語の一貫性を保つためのカスタム辞書機能もサポートしています。"
221 | },
222 | {
223 | "question": "ファイルサイズの制限はありますか?",
224 | "answer": "1つのJSONファイルのサイズ制限は10MBです。より大きなファイルの場合は、分割して翻訳することをお勧めします。"
225 | }
226 | ]
227 | },
228 | "cta": {
229 | "title": "今すぐAI翻訳ツールを使用開始",
230 | "description": "JSONファイルを素早く正確に多言語翻訳",
231 | "button": "今すぐ試す",
232 | "features": [
233 | "登録不要",
234 | "完全無料",
235 | "リアルタイム翻訳"
236 | ]
237 | },
238 | "footer": {
239 | "creator": "Viggoが❤️を込めて作成",
240 | "twitter": "@viggo",
241 | "coffee": "コーヒーを奢る",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON翻訳ツール - AI搭載の多言語翻訳ソリューション",
246 | "description": "AI技術で素早く正確にJSONファイルを多言語に翻訳。JSON構造、変数プレースホルダー、HTMLタグをサポート。",
247 | "keywords": "JSON翻訳,AI翻訳,国際化,i18n,多言語翻訳,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/ko.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI 기반",
4 | "title": "i18n JSON 번역 도구",
5 | "description": "AI 기술을 사용하여 JSON 언어 파일을 빠르게 번역하세요. 빠르고 정확하며 사용하기 쉽습니다.",
6 | "features": {
7 | "multilanguage": "다국어 지원",
8 | "realtime": "실시간 번역"
9 | }
10 | },
11 | "workflow": {
12 | "title": "네 가지 간단한 단계로 완전한 번역",
13 | "description": "JSON 파일 번역 프로세스를 간소화하여 고품질 번역 결과를 신속하게 얻을 수 있도록 도와드립니다.",
14 | "steps": {
15 | "0": {
16 | "title": "JSON 파일 업로드",
17 | "description": "드래그 앤 드롭 또는 클릭하여 파일 선택 지원"
18 | },
19 | "1": {
20 | "title": "대상 언어 선택",
21 | "description": "번역할 대상 언어를 선택하세요"
22 | },
23 | "2": {
24 | "title": "번역 시작",
25 | "description": "API 키를 입력하고 AI 번역을 시작하세요"
26 | },
27 | "3": {
28 | "title": "결과 다운로드",
29 | "description": "번역된 JSON 파일을 다운로드하세요"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "강력한 번역 기능",
35 | "items": {
36 | "0": {
37 | "title": "JSON 구조 유지",
38 | "description": "원본 JSON 파일의 구조, 들여쓰기 및 형식을 지능적으로 인식하고 유지합니다."
39 | },
40 | "1": {
41 | "title": "다국어 지원",
42 | "description": "영어, 중국어, 일본어 등 여러 언어 간 번역 지원"
43 | },
44 | "2": {
45 | "title": "AI 기반 번역",
46 | "description": "기술 용어의 정확성과 자연스러운 표현을 보장하기 위해 OpenAI GPT 모델을 활용합니다."
47 | },
48 | "3": {
49 | "title": "안전하고 신뢰할 수 있음",
50 | "description": "API 키는 브라우저에서만 일시적으로 사용되며 서버에 저장되거나 전송되지 않습니다."
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "JSON 파일 업로드",
56 | "description": "번역을 위해 JSON 파일을 업로드하세요",
57 | "dragText": "여기에 파일을 드래그하거나 클릭하여 업로드",
58 | "supportText": ".json 형식 파일 지원, 최대 10MB",
59 | "apiKeyTip": "팁: 번역을 위해 OpenAI API 키가 필요합니다",
60 | "errors": {
61 | "selectFile": "파일을 선택하세요",
62 | "jsonExtension": ".json 확장자를 가진 파일을 업로드하세요",
63 | "fileSize": "파일 크기는 10MB를 초과할 수 없습니다",
64 | "jsonFormat": "유효하지 않은 JSON 형식입니다. 파일 내용을 확인하세요",
65 | "emptyJson": "JSON 파일은 비어 있을 수 없습니다"
66 | },
67 | "success": {
68 | "uploaded": "파일이 성공적으로 업로드되었습니다."
69 | },
70 | "apiKeyTitle": "OpenAI API 키",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "오류",
73 | "successTitle": "성공"
74 | },
75 | "translateSection": {
76 | "title": "대상 언어 선택",
77 | "description": "번역할 언어를 선택하세요"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "번역 시작",
81 | "translating": "번역 중...",
82 | "cancel": "취소",
83 | "uploadFirst": "먼저 파일을 업로드하세요",
84 | "enterApiKey": "API 키를 입력하세요",
85 | "foundUnfinished": "완료되지 않은 번역이 발견되었습니다",
86 | "continueTranslation": "번역 계속하기",
87 | "translationCancelled": "번역이 취소되었습니다",
88 | "invalidApiKey": "유효하지 않은 API 키 형식",
89 | "errorTitle": "오류",
90 | "successTitle": "성공",
91 | "translationCompleted": "번역이 완료되었습니다!",
92 | "showMoreLanguages": "더 많은 언어 보기",
93 | "hideMoreLanguages": "더 많은 언어 숨기기",
94 | "overallProgress": "전체 진행 상황",
95 | "completedSegments": "완료된 세그먼트",
96 | "translatingLanguage": "번역 중",
97 | "allLanguagesTranslated": "선택한 모든 언어가 번역되었습니다",
98 | "pleaseUploadAndEnterKey": "파일을 업로드하고 API 키를 입력해 주세요",
99 | "tip": "팁",
100 | "cancelled": "취소됨",
101 | "translationFailed": "번역 실패",
102 | "pleaseSelectLanguage": "최소한 하나의 대상 언어를 선택해 주세요",
103 | "bytes": "바이트",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "잘못된 API 키 형식",
109 | "invalidOrExpired": "유효하지 않거나 만료된 API 키",
110 | "rateLimitReached": "API 호출 한도에 도달했습니다",
111 | "validationFailed": "API 키 검증 실패"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "미리보기",
116 | "empty": "여기에 JSON 미리보기가 표시됩니다",
117 | "copied": "클립보드에 복사됨",
118 | "originalJson": "원본 JSON",
119 | "translatedJson": "번역된 JSON",
120 | "tips": "팁: JSON 파일의 실시간 미리보기 및 형식을 지원하며, 내용을 직접 복사할 수 있습니다",
121 | "placeholder": {
122 | "upload": "JSON 파일을 업로드해 주세요",
123 | "translation": "번역 결과가 여기에 표시됩니다"
124 | },
125 | "actions": {
126 | "copy": "복사",
127 | "download": "다운로드",
128 | "downloadAll": "모든 번역 다운로드",
129 | "downloadFormat": "{lang} 번역 다운로드"
130 | },
131 | "toast": {
132 | "copySuccess": "내용이 클립보드에 복사되었습니다",
133 | "copyError": "복사 실패, 수동으로 복사해 주세요",
134 | "downloadSuccess": "{lang} 번역 파일이 다운로드되었습니다",
135 | "downloadAllSuccess": "모든 번역 파일이 다운로드되었습니다",
136 | "downloadError": "다운로드 실패, 다시 시도해 주세요"
137 | },
138 | "languages": {
139 | "en": "영어",
140 | "zh": "중국어 (간체)",
141 | "zh-TW": "중국어 (번체)",
142 | "ja": "일본어",
143 | "ko": "한국어",
144 | "fr": "프랑스어",
145 | "de": "독일어",
146 | "es": "스페인어",
147 | "pt": "포르투갈어",
148 | "it": "이탈리아어",
149 | "ru": "러시아어",
150 | "ar": "아랍어",
151 | "hi": "힌디어",
152 | "bn": "벵골어",
153 | "th": "태국어",
154 | "vi": "베트남어",
155 | "id": "인도네시아어",
156 | "ms": "말레이어",
157 | "tr": "터키어",
158 | "nl": "네덜란드어",
159 | "pl": "폴란드어",
160 | "uk": "우크라이나어",
161 | "el": "그리스어",
162 | "he": "히브리어",
163 | "sv": "스웨덴어",
164 | "da": "덴마크어",
165 | "fi": "핀란드어",
166 | "cs": "체코어",
167 | "ro": "루마니아어",
168 | "hu": "헝가리어",
169 | "sk": "슬로바키아어",
170 | "bg": "불가리아어",
171 | "hr": "크로아티아어",
172 | "lt": "리투아니아어",
173 | "sl": "슬로베니아어",
174 | "et": "에스토니아어",
175 | "lv": "라트비아어",
176 | "sr": "세르비아어",
177 | "mt": "몰타어",
178 | "fa": "페르시아어",
179 | "ur": "우르두어",
180 | "ta": "타밀어",
181 | "te": "텔루구어",
182 | "ml": "말라얄람어",
183 | "kn": "칸나다어",
184 | "mr": "마라티어",
185 | "gu": "구자라티어",
186 | "my": "버마어",
187 | "km": "크메르어",
188 | "lo": "라오어",
189 | "mn": "몽골어",
190 | "ka": "조지아어",
191 | "hy": "아르메니아어",
192 | "az": "아제르바이잔어",
193 | "sw": "스와힐리어",
194 | "af": "아프리칸스어",
195 | "am": "암하라어"
196 | }
197 | },
198 | "faq": {
199 | "title": "자주 묻는 질문",
200 | "description": "JSON 번역 도구에 대한 일반적인 질문",
201 | "items": {
202 | "0": {
203 | "question": "이 도구는 무엇을 하나요?",
204 | "answer": "이 도구는 개발자가 JSON 구조의 무결성을 유지하면서 JSON 언어 파일을 여러 언어로 신속하게 번역할 수 있도록 돕는 AI 기반 JSON 국제화 번역 도구입니다."
205 | },
206 | "1": {
207 | "question": "이 도구를 어떻게 사용하나요?",
208 | "answer": "1. 번역할 JSON 파일을 업로드합니다.\n2. 대상 언어를 선택합니다.\n3. OpenAI API 키를 입력합니다.\n4. 번역 시작을 클릭합니다.\n5. 번역이 완료된 후 결과를 다운로드합니다."
209 | },
210 | "2": {
211 | "question": "어떤 언어가 지원되나요?",
212 | "answer": "현재 영어, 중국어(간체), 중국어(번체), 일본어, 한국어, 프랑스어, 독일어, 스페인어, 러시아어 등 여러 언어를 지원합니다."
213 | },
214 | "3": {
215 | "question": "내 API 키가 저장되나요?",
216 | "answer": "아니요. 귀하의 API 키는 브라우저에서 임시로만 사용되며 저장되거나 서버로 전송되지 않습니다."
217 | },
218 | "4": {
219 | "question": "번역 품질은 어떻게 보장되나요?",
220 | "answer": "우리는 번역을 위해 OpenAI의 GPT 모델을 사용하여 기술 용어의 정확성과 자연어 표현을 보장합니다. 또한 특정 용어의 일관성을 유지하기 위해 사용자 정의 사전 기능을 지원합니다."
221 | },
222 | "5": {
223 | "question": "파일 크기 제한이 있나요?",
224 | "answer": "단일 JSON 파일 크기는 10MB로 제한됩니다. 더 큰 파일의 경우, 파일을 분할하여 배치로 번역하는 것이 권장됩니다."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "지금 AI 번역 도구 사용 시작하기",
230 | "description": "귀하의 JSON 언어 파일을 여러 언어로 빠르고 정확하게 번역합니다",
231 | "button": "지금 사용해 보기",
232 | "features": {
233 | "0": "등록 필요 없음",
234 | "1": "완전히 무료",
235 | "2": "실시간 번역"
236 | }
237 | },
238 | "footer": {
239 | "creator": "❤️로 만든 Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "커피 한 잔 사주세요",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON 번역 도구 - AI 기반 다국어 번역 솔루션",
246 | "description": "AI 기술을 사용하여 JSON 언어 파일을 여러 언어로 빠르고 정확하게 번역합니다. JSON 구조, 변수 자리 표시자 및 HTML 태그를 지원합니다.",
247 | "keywords": "JSON번역,AI번역,국제화,i18n,다국어번역,OpenAI,온라인도구"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/ar.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "مدعوم بالذكاء الاصطناعي",
4 | "title": "i18n أداة ترجمة JSON",
5 | "description": "ترجم ملفات لغة JSON الخاصة بك بسرعة باستخدام تقنية الذكاء الاصطناعي. سريع ودقيق وسهل الاستخدام.",
6 | "features": {
7 | "multilanguage": "دعم متعدد اللغات",
8 | "realtime": "ترجمة في الوقت الحقيقي"
9 | }
10 | },
11 | "workflow": {
12 | "title": "إكمال الترجمة في أربع خطوات بسيطة",
13 | "description": "لقد قمنا بتبسيط عملية ترجمة ملفات JSON لمساعدتك في الحصول بسرعة على نتائج ترجمة عالية الجودة",
14 | "steps": {
15 | "0": {
16 | "title": "تحميل ملف JSON",
17 | "description": "يدعم السحب والإفلات أو النقر لاختيار الملف"
18 | },
19 | "1": {
20 | "title": "اختر اللغة المستهدفة",
21 | "description": "اختر اللغة المستهدفة للترجمة"
22 | },
23 | "2": {
24 | "title": "ابدأ الترجمة",
25 | "description": "أدخل مفتاح API وابدأ الترجمة بالذكاء الاصطناعي"
26 | },
27 | "3": {
28 | "title": "تحميل النتائج",
29 | "description": "قم بتنزيل ملف JSON المترجم"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "ميزات ترجمة قوية",
35 | "items": {
36 | "0": {
37 | "title": "الحفاظ على بنية JSON",
38 | "description": "التعرف الذكي والحفاظ على البنية والمسافة البادئة والتنسيق لملف JSON الأصلي"
39 | },
40 | "1": {
41 | "title": "دعم متعدد اللغات",
42 | "description": "دعم الترجمة بين عدة لغات بما في ذلك الإنجليزية والصينية واليابانية والمزيد"
43 | },
44 | "2": {
45 | "title": "ترجمة مدعومة بالذكاء الاصطناعي",
46 | "description": "استخدام نماذج OpenAI GPT لضمان دقة المصطلحات الفنية والتعبير الطبيعي"
47 | },
48 | "3": {
49 | "title": "آمن وموثوق",
50 | "description": "تستخدم مفاتيح API مؤقتًا فقط في المتصفح ولا يتم حفظها أو نقلها إلى الخوادم"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "تحميل ملف JSON",
56 | "description": "قم بتحميل ملف JSON الخاص بك للترجمة",
57 | "dragText": "اسحب الملفات هنا أو انقر لتحميل",
58 | "supportText": "يدعم ملفات بتنسيق .json، حتى 10MB",
59 | "apiKeyTip": "نصائح: مفتاح OpenAI API مطلوب للترجمة",
60 | "errors": {
61 | "selectFile": "يرجى اختيار ملف",
62 | "jsonExtension": "يرجى تحميل ملف بامتداد .json",
63 | "fileSize": "لا يمكن أن يتجاوز حجم الملف 10MB",
64 | "jsonFormat": "تنسيق JSON غير صالح، يرجى التحقق من محتوى الملف",
65 | "emptyJson": "لا يمكن أن يكون ملف JSON فارغًا"
66 | },
67 | "success": {
68 | "uploaded": "تم تحميل الملف بنجاح"
69 | },
70 | "apiKeyTitle": "مفتاح OpenAI API",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "خطأ",
73 | "successTitle": "نجاح"
74 | },
75 | "translateSection": {
76 | "title": "اختر اللغة المستهدفة",
77 | "description": "اختر اللغات للترجمة إليها"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "ابدأ الترجمة",
81 | "translating": "يتم الترجمة...",
82 | "cancel": "إلغاء",
83 | "uploadFirst": "يرجى تحميل ملف أولاً",
84 | "enterApiKey": "يرجى إدخال مفتاح API",
85 | "foundUnfinished": "تم العثور على ترجمة غير مكتملة",
86 | "continueTranslation": "تابع الترمة",
87 | "translationCancelled": "تم إلغاء الترجمة",
88 | "invalidApiKey": "تنسيق مفتاح API غير صالح",
89 | "errorTitle": "خطأ",
90 | "successTitle": "نجاح",
91 | "translationCompleted": "تمت الترجمة!",
92 | "showMoreLanguages": "عرض المزيد من اللغات",
93 | "hideMoreLanguages": "إخفاء المزيد من اللغات",
94 | "overallProgress": "التقدم العام",
95 | "completedSegments": "الأجزاء المكتملة",
96 | "translatingLanguage": "يتم الترجمة",
97 | "allLanguagesTranslated": "تمت ترجمة جميع اللغات المحددة",
98 | "pleaseUploadAndEnterKey": "يرجى تحميل ملف وإدخال مفتاح API",
99 | "tip": "نصيحة",
100 | "cancelled": "ملغى",
101 | "translationFailed": "فشلت الترجمة",
102 | "pleaseSelectLanguage": "يرجى اختيار لغة واحدة على الأقل",
103 | "bytes": "بايت",
104 | "kb": "كيلوبايت",
105 | "mb": "ميغابايت",
106 | "gb": "جيجابايت",
107 | "apiKeyErrors": {
108 | "invalidFormat": "تنسيق مفتاح API غير صالح",
109 | "invalidOrExpired": "مفتاح API غير صالح أو منتهي الصلاحية",
110 | "rateLimitReached": "تم الوصول إلى حد معدل API",
111 | "validationFailed": "فشل التحقق من مفتاح API"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "معاينة",
116 | "empty": "ستظهر معاينة JSON هنا",
117 | "copied": "تم النسخ إلى الحافظة",
118 | "originalJson": "JSON الأصلي",
119 | "translatedJson": "JSON المترجم",
120 | "tips": "نصائح: يدعم المعاينة الفورية وتنسيق ملفات JSON، ويمكنك نسخ المحتوى مباشرة",
121 | "placeholder": {
122 | "upload": "يرجى تحميل ملف JSON",
123 | "translation": "ستظهر نتائج الترجمة هنا"
124 | },
125 | "actions": {
126 | "copy": "نسخ",
127 | "download": "تحميل",
128 | "downloadAll": "تحميل جميع الترجمات",
129 | "downloadFormat": "تحميل ترجمة {lang}"
130 | },
131 | "toast": {
132 | "copySuccess": "تم نسخ المحتوى إلى الحافظة",
133 | "copyError": "فشل النسخ، يرجى النسخ يدويًا",
134 | "downloadSuccess": "تم تحميل ملف ترجمة {lang}",
135 | "downloadAllSuccess": "تم تحميل جميع ملفات الترجمة",
136 | "downloadError": "فشل التحميل، يرجى المحاولة مرة أخرى"
137 | },
138 | "languages": {
139 | "en": "الإنجليزية",
140 | "zh": "الصينية (المبسطة)",
141 | "zh-TW": "الصينية (التقليدية)",
142 | "ja": "اليابانية",
143 | "ko": "الكورية",
144 | "fr": "الفرنسية",
145 | "de": "الألمانية",
146 | "es": "الإسبانية",
147 | "pt": "البرتغالية",
148 | "it": "الإيطالية",
149 | "ru": "الروسية",
150 | "ar": "العربية",
151 | "hi": "الهندية",
152 | "bn": "البنغالية",
153 | "th": "التايلاندية",
154 | "vi": "الفيتنامية",
155 | "id": "الإندونيسية",
156 | "ms": "الملايوية",
157 | "tr": "التركية",
158 | "nl": "الهولندية",
159 | "pl": "البولندية",
160 | "uk": "الأوكرانية",
161 | "el": "اليونانية",
162 | "he": "العبرية",
163 | "sv": "السويدية",
164 | "da": "الدنماركية",
165 | "fi": "الفنلندية",
166 | "cs": "التشيكية",
167 | "ro": "الرومانية",
168 | "hu": "المجرية",
169 | "sk": "السلوفاكية",
170 | "bg": "البلغارية",
171 | "hr": "الكرواتية",
172 | "lt": "الليتوانية",
173 | "sl": "السلوفينية",
174 | "et": "الإستونية",
175 | "lv": "اللاتفية",
176 | "sr": "الصربية",
177 | "mt": "المالطية",
178 | "fa": "الفارسية",
179 | "ur": "الأردية",
180 | "ta": "التاميلية",
181 | "te": "التيلوجو",
182 | "ml": "الملايالامية",
183 | "kn": "الكانادا",
184 | "mr": "الماراثية",
185 | "gu": "الغوجاراتية",
186 | "my": "البورمية",
187 | "km": "الخميرية",
188 | "lo": "اللاوية",
189 | "mn": "المغولية",
190 | "ka": "الجورجية",
191 | "hy": "الأرمنية",
192 | "az": "الأذربيجانية",
193 | "sw": "السواحيلية",
194 | "af": "الأفريقانية",
195 | "am": "الأمهرية"
196 | }
197 | },
198 | "faq": {
199 | "title": "الأسئلة المتكررة",
200 | "description": "أسئلة شائعة حول أداة ترجمة JSON",
201 | "items": {
202 | "0": {
203 | "question": "ماذا تفعل هذه الأداة؟",
204 | "answer": "هذه أداة ترجمة دولية مدعومة بالذكاء الاصطناعي تساعد المطورين على ترجمة ملفات لغة JSON بسرعة إلى عدة لغات مع الحفاظ على سلامة هيكل JSON."
205 | },
206 | "1": {
207 | "question": "كيف تستخدم هذه الأداة؟",
208 | "answer": "1. قم بتحميل ملف JSON الخاص بك للترجمة\n2. اختر اللغات المستهدفة\n3. أدخل مفتاح API الخاص بـ OpenAI\n4. انقر على بدء الترجمة\n5. قم بتنزيل النتائج بعد اكتمال الترجمة"
209 | },
210 | "2": {
211 | "question": "ما هي اللغات المدعومة؟",
212 | "answer": "يدعم حاليًا عدة لغات بما في ذلك الإنجليزية والصينية (المبسطة) والصينية (التقليدية) واليابانية والكورية والفرنسية والألمانية والإسبانية والروسية والمزيد."
213 | },
214 | "3": {
215 | "question": "هل سيتم حفظ مفتاح API الخاص بي؟",
216 | "answer": "لا. يتم استخدام مفتاح API الخاص بك مؤقتًا فقط في المتصفح ولن يتم حفظه أو نقله إلى أي خوادم."
217 | },
218 | "4": {
219 | "question": "كيف يتم ضمان جودة الترجمة؟",
220 | "answer": "نستخدم نموذج GPT من OpenAI للترجمة، مما يضمن دقة المصطلحات الفنية والتعبير باللغة الطبيعية. كما ندعم وظيفة القاموس المخصص للحفاظ على اتساق المصطلحات المحددة."
221 | },
222 | "5": {
223 | "question": "هل هناك حد لحجم الملف؟",
224 | "answer": "حجم ملف JSON الفردي محدود بـ 10 ميغابايت. بالنسبة للملفات الأكبر، يُوصى بتقسيمها وترجمتها على دفعات."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "ابدأ استخدام أداة ترجمة الذكاء الاصطناعي الآن",
230 | "description": "ترجم بسرعة وبدقة ملفات لغة JSON الخاصة بك إلى عدة لغات",
231 | "button": "جرب الآن",
232 | "features": {
233 | "0": "لا حاجة للتسجيل",
234 | "1": "مجاني تمامًا",
235 | "2": "ترجمة في الوقت الحقيقي"
236 | }
237 | },
238 | "footer": {
239 | "creator": "تم الإنشاء مع ❤️ بواسطة فيغو",
240 | "twitter": "@viggo",
241 | "coffee": "اشترِ لي قهوة",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "مترجم JSON - حل الترجمة متعدد اللغات المدعوم بالذكاء الاصطناعي",
246 | "description": "ترجم ملفات JSON اللغوية إلى لغات متعددة بسرعة ودقة باستخدام تقنية الذكاء الاصطناعي. يدعم هيكل JSON والمتغيرات وعلامات HTML.",
247 | "keywords": "ترجمة JSON,ترجمة الذكاء الاصطناعي,التدويل,i18n,الترجمة متعددة اللغات,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/th.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "ขับเคลื่อนด้วย AI",
4 | "title": "i18n เครื่องมือแปล JSON",
5 | "description": "แปลไฟล์ภาษา JSON ของคุณอย่างรวดเร็วโดยใช้เทคโนโลยี AI. รวดเร็ว, แม่นยำ, และใช้งานง่าย.",
6 | "features": {
7 | "multilanguage": "การสนับสนุนหลายภาษา",
8 | "realtime": "การแปลแบบเรียลไทม์"
9 | }
10 | },
11 | "workflow": {
12 | "title": "การแปลที่สมบูรณ์ในสี่ขั้นตอนง่ายๆ",
13 | "description": "เราได้ทำให้กระบวนการแปลไฟล์ JSON ง่ายขึ้นเพื่อช่วยให้คุณได้รับผลการแปลที่มีคุณภาพสูงอย่างรวดเร็ว",
14 | "steps": {
15 | "0": {
16 | "title": "อัปโหลดไฟล์ JSON",
17 | "description": "สนับสนุนการลากและวางหรือคลิกเพื่อเลือกไฟล์"
18 | },
19 | "1": {
20 | "title": "เลือกภาษาที่ต้องการแปล",
21 | "description": "เลือกภาษาที่ต้องการแปล"
22 | },
23 | "2": {
24 | "title": "เริ่มการแปล",
25 | "description": "ป้อน API Key และเริ่มการแปลด้วย AI"
26 | },
27 | "3": {
28 | "title": "ดาวน์โหลดผลลัพธ์",
29 | "description": "ดาวน์โหลดไฟล์ JSON ที่แปลแล้ว"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "คุณสมบัติการแปลที่ทรงพลัง",
35 | "items": {
36 | "0": {
37 | "title": "รักษาโครงสร้าง JSON",
38 | "description": "รู้จักและรักษาโครงสร้าง, การเยื้อง, และรูปแบบของไฟล์ JSON เดิมอย่างชาญฉลาด"
39 | },
40 | "1": {
41 | "title": "การสนับสนุนหลายภาษา",
42 | "description": "สนับสนุนการแปลระหว่างหลายภาษา รวมถึงภาษาอังกฤษ, จีน, ญี่ปุ่น, และอื่นๆ"
43 | },
44 | "2": {
45 | "title": "การแปลที่ขับเคลื่อนด้วย AI",
46 | "description": "ใช้โมเดล OpenAI GPT เพื่อให้แน่ใจในความถูกต้องของคำศัพท์ทางเทคนิคและการแสดงออกตามธรรมชาติ"
47 | },
48 | "3": {
49 | "title": "ปลอดภัยและเชื่อถือได้",
50 | "description": "API keys จะถูกใช้ชั่วคราวในเบราว์เซอร์และจะไม่ถูกบันทึกหรือส่งไปยังเซิร์ฟเวอร์"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "อัปโหลดไฟล์ JSON",
56 | "description": "อัปโหลดไฟล์ JSON ของคุณเพื่อการแปล",
57 | "dragText": "ลากไฟล์มาที่นี่หรือคลิกเพื่ออัปโหลด",
58 | "supportText": "รองรับไฟล์รูปแบบ .json ขนาดสูงสุด 10MB",
59 | "apiKeyTip": "เคล็ดลับ: ต้องใช้ OpenAI API Key สำหรับการแปล",
60 | "errors": {
61 | "selectFile": "กรุณาเลือกไฟล์",
62 | "jsonExtension": "กรุณาอัปโหลดไฟล์ที่มีนามสกุล .json",
63 | "fileSize": "ขนาดไฟล์ไม่สามารถเกิน 10MB",
64 | "jsonFormat": "รูปแบบ JSON ไม่ถูกต้อง, กรุณาตรวจสอบเนื้อหาไฟล์",
65 | "emptyJson": "ไฟล์ JSON ไม่สามารถว่างเปล่าได้"
66 | },
67 | "success": {
68 | "uploaded": "อัปโหลดไฟล์สำเร็จ"
69 | },
70 | "apiKeyTitle": "OpenAI API Key",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "ข้อผิดพลาด",
73 | "successTitle": "สำเร็จ"
74 | },
75 | "translateSection": {
76 | "title": "เลือกภาษาที่ต้องการแปล",
77 | "description": "เลือกภาษาที่จะแปลเป็น"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "เริ่มการแปล",
81 | "translating": "กำลังแปล...",
82 | "cancel": "ยกเลิก",
83 | "uploadFirst": "กรุณาอัปโหลดไฟล์ก่อน",
84 | "enterApiKey": "กรุณาใส่ API Key",
85 | "foundUnfinished": "พบการแปลที่ยังไม่เสร็จ",
86 | "continueTranslation": "ดำเนินการแปลต่อ",
87 | "translationCancelled": "การแปลถูกยกเลิก",
88 | "invalidApiKey": "รูปแบบ API Key ไม่ถูกต้อง",
89 | "errorTitle": "ข้อผิดพลาด",
90 | "successTitle": "สำเร็จ",
91 | "translationCompleted": "การแปลเสร็จสิ้นแล้ว!",
92 | "showMoreLanguages": "แสดงภาษามากขึ้น",
93 | "hideMoreLanguages": "ซ่อนภาษามากขึ้น",
94 | "overallProgress": "ความก้าวหน้าทั้งหมด",
95 | "completedSegments": "ส่วนที่เสร็จสมบูรณ์",
96 | "translatingLanguage": "กำลังแปล",
97 | "allLanguagesTranslated": "ภาษาที่เลือกทั้งหมดได้รับการแปลแล้ว",
98 | "pleaseUploadAndEnterKey": "กรุณาอัปโหลดไฟล์และป้อน API Key",
99 | "tip": "เคล็ดลับ",
100 | "cancelled": "ยกเลิก",
101 | "translationFailed": "การแปลล้มเหลว",
102 | "pleaseSelectLanguage": "กรุณาเลือกภาษาที่ต้องการอย่างน้อยหนึ่งภาษา",
103 | "bytes": "ไบต์",
104 | "kb": "กิโลไบต์",
105 | "mb": "เมกะไบต์",
106 | "gb": "กิกะไบต์",
107 | "apiKeyErrors": {
108 | "invalidFormat": "รูปแบบคีย์ API ไม่ถูกต้อง",
109 | "invalidOrExpired": "คีย์ API ไม่ถูกต้องหรือหมดอายุ",
110 | "rateLimitReached": "ถึงขีดจำกัดการเรียก API แล้ว",
111 | "validationFailed": "การตรวจสอบคีย์ API ล้มเหลว"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "ตัวอย่าง",
116 | "empty": "ตัวอย่าง JSON จะปรากฏที่นี่",
117 | "copied": "คัดลอกไปยังคลิปบอร์ดแล้ว",
118 | "originalJson": "JSON ดั้งเดิม",
119 | "translatedJson": "JSON ที่แปลแล้ว",
120 | "tips": "เคล็ดลับ: รองรับการแสดงตัวอย่างแบบเรียลไทม์และการจัดรูปแบบไฟล์ JSON และคุณสามารถคัดลอกเนื้อหาได้โดยตรง",
121 | "placeholder": {
122 | "upload": "กรุณาอัปโหลดไฟล์ JSON",
123 | "translation": "ผลการแปลจะแสดงที่นี่"
124 | },
125 | "actions": {
126 | "copy": "คัดลอก",
127 | "download": "ดาวน์โหลด",
128 | "downloadAll": "ดาวน์โหลดการแปลทั้งหมด",
129 | "downloadFormat": "ดาวน์โหลดการแปล {lang}"
130 | },
131 | "toast": {
132 | "copySuccess": "เนื้อหาได้ถูกคัดลอกไปยังคลิปบอร์ด",
133 | "copyError": "การคัดลอกล้มเหลว กรุณาคัดลอกด้วยตนเอง",
134 | "downloadSuccess": "ไฟล์การแปล {lang} ได้ถูกดาวน์โหลดแล้ว",
135 | "downloadAllSuccess": "ไฟล์การแปลทั้งหมดได้ถูกดาวน์โหลดแล้ว",
136 | "downloadError": "การดาวน์โหลดล้มเหลว กรุณาลองใหม่อีกครั้ง"
137 | },
138 | "languages": {
139 | "en": "อังกฤษ",
140 | "zh": "จีน (ตัวย่อ)",
141 | "zh-TW": "จีน (ตัวเต็ม)",
142 | "ja": "ญี่ปุ่น",
143 | "ko": "เกาหลี",
144 | "fr": "ฝรั่งเศส",
145 | "de": "เยอรมัน",
146 | "es": "สเปน",
147 | "pt": "โปรตุเกส",
148 | "it": "อิตาลี",
149 | "ru": "รัสเซีย",
150 | "ar": "อาหรับ",
151 | "hi": "ฮินดี",
152 | "bn": "เบงกาลี",
153 | "th": "ไทย",
154 | "vi": "ภาษาเวียดนาม",
155 | "id": "ภาษาอินโดนีเซีย",
156 | "ms": "ภาษามาเลย์",
157 | "tr": "ภาษาตุรกี",
158 | "nl": "ภาษาดัตช์",
159 | "pl": "ภาษาโปแลนด์",
160 | "uk": "ภาษาอูเครน",
161 | "el": "ภาษาเก่า",
162 | "he": "ภาษาฮีบรู",
163 | "sv": "ภาษาสวีเดน",
164 | "da": "ภาษาดานิช",
165 | "fi": "ภาษาฟินแลนด์",
166 | "cs": "ภาษาเช็ก",
167 | "ro": "ภาษาโรมาเนีย",
168 | "hu": "ภาษาฮังการี",
169 | "sk": "ภาษาสโลวัก",
170 | "bg": "ภาษาบัลแกเรีย",
171 | "hr": "ภาษาโครเอเชีย",
172 | "lt": "ภาษาลิทัวเนีย",
173 | "sl": "ภาษาสโลวีเนีย",
174 | "et": "ภาษาเอสโตเนีย",
175 | "lv": "ภาษาลัตเวีย",
176 | "sr": "ภาษาเซอร์เบีย",
177 | "mt": "ภาษามอลตา",
178 | "fa": "ภาษาเปอร์เซีย",
179 | "ur": "ภาษาอูรดู",
180 | "ta": "ภาษาทมิฬ",
181 | "te": "ภาษาทีลุก",
182 | "ml": "ภาษาไมลายาลัม",
183 | "kn": "ภาษากันนาดา",
184 | "mr": "ภาษามราฐี",
185 | "gu": "ภาษากุจราตี",
186 | "my": "ภาษาพม่า",
187 | "km": "ภาษาเขมร",
188 | "lo": "ภาษาลาว",
189 | "mn": "ภาษามองโกเลีย",
190 | "ka": "ภาษาเกorgia",
191 | "hy": "ภาษาอาร์เมเนีย",
192 | "az": "ภาษาอาเซอร์ไบจาน",
193 | "sw": "ภาษาสวาฮีลี",
194 | "af": "ภาษาแอฟริคานส์",
195 | "am": "ภาษาอัมฮาริก"
196 | }
197 | },
198 | "faq": {
199 | "title": "คำถามที่พบบ่อย",
200 | "description": "คำถามทั่วไปเกี่ยวกับเครื่องมือแปล JSON",
201 | "items": {
202 | "0": {
203 | "question": "เครื่องมือนี้ทำอะไร?",
204 | "answer": "นี่คือเครื่องมือแปล JSON ที่ใช้ AI ซึ่งช่วยนักพัฒนาซอฟต์แวร์ในการแปลไฟล์ JSON ภาษาไปยังหลายภาษาอย่างรวดเร็วในขณะที่รักษาความสมบูรณ์ของโครงสร้าง JSON."
205 | },
206 | "1": {
207 | "question": "จะใช้เครื่องมือนี้อย่างไร?",
208 | "answer": "1. อัปโหลดไฟล์ JSON ของคุณสำหรับการแปล\n2. เลือกภาษาที่ต้องการ\n3. ป้อน OpenAI API Key ของคุณ\n4. คลิกเริ่มการแปล\n5. ดาวน์โหลดผลลัพธ์หลังจากการแปลเสร็จสิ้น"
209 | },
210 | "2": {
211 | "question": "รองรับภาษาอะไรบ้าง?",
212 | "answer": "ขณะนี้รองรับหลายภาษา รวมถึงภาษาอังกฤษ, ภาษาจีน (แบบย่อ), ภาษาจีน (แบบดั้งเดิม), ภาษาญี่ปุ่น, ภาษาเกาหลี, ภาษาฝรั่งเศส, ภาษาเยอรมัน, ภาษาสเปน, ภาษาอังกฤษ, และอื่น ๆ."
213 | },
214 | "3": {
215 | "question": "คีย์ API ของฉันจะถูกบันทึกหรือไม่?",
216 | "answer": "ไม่ คีย์ API ของคุณจะถูกใช้ชั่วคราวในเบราว์เซอร์และจะไม่ถูกบันทึกหรือส่งไปยังเซิร์ฟเวอร์ใด ๆ."
217 | },
218 | "4": {
219 | "question": "คุณภาพการแปลได้รับการรับรองอย่างไร?",
220 | "answer": "เราใช้โมเดล GPT ของ OpenAI สำหรับการแปล เพื่อให้แน่ใจว่ามีความถูกต้องของคำศัพท์ทางเทคนิคและการแสดงออกในภาษาธรรมชาติ เรายังสนับสนุนฟังก์ชันพจนานุกรมที่กำหนดเองเพื่อรักษาความสอดคล้องของคำศัพท์เฉพาะ."
221 | },
222 | "5": {
223 | "question": "มีขนาดไฟล์ที่จำกัดหรือไม่?",
224 | "answer": "ขนาดไฟล์ JSON เดียวถูกจำกัดที่ 10MB สำหรับไฟล์ที่ใหญ่กว่านั้น แนะนำให้แบ่งไฟล์และแปลเป็นชุด."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "เริ่มใช้เครื่องมือแปล AI ตอนนี้",
230 | "description": "แปลไฟล์ภาษาของคุณเป็นหลายภาษาอย่างรวดเร็วและแม่นยำ",
231 | "button": "ลองตอนนี้",
232 | "features": {
233 | "0": "ไม่ต้องลงทะเบียน",
234 | "1": "ฟรีโดยสมบูรณ์",
235 | "2": "การแปลแบบเรียลไทม์"
236 | }
237 | },
238 | "footer": {
239 | "creator": "สร้างด้วย ❤️ โดย Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "ซื้อกาแฟให้ฉัน",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "เครื่องมือแปล JSON - โซลูชันการแปลหลายภาษาด้วย AI",
246 | "description": "แปลไฟล์ภาษา JSON เป็นหลายภาษาได้อย่างรวดเร็วและแม่นยำด้วยเทคโนโลยี AI รองรับโครงสร้าง JSON ตัวแปร และแท็ก HTML",
247 | "keywords": "แปล JSON,แปลด้วย AI,การแปลหลายภาษา,i18n,การแปลภาษา,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI Powered",
4 | "title": "i18n JSON Translation Tool",
5 | "description": "Translate your JSON language files quickly using AI technology. Fast, accurate, and easy to use.",
6 | "features": {
7 | "multilanguage": "Multilingual Support",
8 | "realtime": "Real-time Translation"
9 | }
10 | },
11 | "workflow": {
12 | "title": "Complete Translation in Four Simple Steps",
13 | "description": "We've simplified the JSON file translation process to help you quickly obtain high-quality translation results",
14 | "steps": [
15 | {
16 | "title": "Upload JSON File",
17 | "description": "Support drag and drop or click to select file"
18 | },
19 | {
20 | "title": "Select Target Language",
21 | "description": "Choose the target language for translation"
22 | },
23 | {
24 | "title": "Start Translation",
25 | "description": "Enter API Key and start AI translation"
26 | },
27 | {
28 | "title": "Download Results",
29 | "description": "Download the translated JSON file"
30 | }
31 | ]
32 | },
33 | "features": {
34 | "title": "Powerful Translation Features",
35 | "items": [
36 | {
37 | "title": "Preserve JSON Structure",
38 | "description": "Intelligently recognize and maintain the structure, indentation, and format of the original JSON file"
39 | },
40 | {
41 | "title": "Multi-language Support",
42 | "description": "Support translation between multiple languages including English, Chinese, Japanese, and more"
43 | },
44 | {
45 | "title": "AI-Powered Translation",
46 | "description": "Utilizing OpenAI GPT models to ensure accuracy of technical terms and natural expression"
47 | },
48 | {
49 | "title": "Secure & Reliable",
50 | "description": "API keys are only used temporarily in the browser and never saved or transmitted to servers"
51 | }
52 | ]
53 | },
54 | "uploadSection": {
55 | "title": "Upload JSON File",
56 | "description": "Upload your JSON file for translation",
57 | "dragText": "Drag files here or click to upload",
58 | "supportText": "Supports .json format files, up to 10MB",
59 | "apiKeyTip": "Tips: OpenAI API Key is required for translation",
60 | "errors": {
61 | "selectFile": "Please select a file",
62 | "jsonExtension": "Please upload a file with a .json extension",
63 | "fileSize": "File size cannot exceed 10MB",
64 | "jsonFormat": "Invalid JSON format, please check the file content",
65 | "emptyJson": "JSON file cannot be empty"
66 | },
67 | "success": {
68 | "uploaded": "File uploaded successfully"
69 | },
70 | "apiKeyTitle": "OpenAI API Key",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "Error",
73 | "successTitle": "Success"
74 | },
75 | "translateSection": {
76 | "title": "Select Target Language",
77 | "description": "Choose languages to translate into"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "Start Translation",
81 | "translating": "Translating...",
82 | "cancel": "Cancel",
83 | "uploadFirst": "Please upload a file first",
84 | "enterApiKey": "Please enter API Key",
85 | "foundUnfinished": "Found unfinished translation",
86 | "continueTranslation": "Continue translation",
87 | "translationCancelled": "Translation cancelled",
88 | "invalidApiKey": "Invalid API Key format",
89 | "errorTitle": "Error",
90 | "successTitle": "Success",
91 | "translationCompleted": "Translation completed!",
92 | "showMoreLanguages": "Show more languages",
93 | "hideMoreLanguages": "Hide more languages",
94 | "overallProgress": "Overall Progress",
95 | "completedSegments": "Completed Segments",
96 | "translatingLanguage": "Translating",
97 | "allLanguagesTranslated": "All selected languages are translated",
98 | "pleaseUploadAndEnterKey": "Please upload a file and enter API Key",
99 | "tip": "Tip",
100 | "cancelled": "Cancelled",
101 | "translationFailed": "Translation failed",
102 | "pleaseSelectLanguage": "Please select at least one target language",
103 | "bytes": "Bytes",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "Invalid API key format",
109 | "invalidOrExpired": "Invalid or expired API key",
110 | "rateLimitReached": "API rate limit reached",
111 | "validationFailed": "API key validation failed"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "Preview",
116 | "empty": "JSON preview will appear here",
117 | "copied": "Copied to clipboard",
118 | "originalJson": "Original JSON",
119 | "translatedJson": "Translated JSON",
120 | "tips": "Tips: Supports real-time preview and formatting of JSON files, and you can directly copy the content",
121 | "placeholder": {
122 | "upload": "Please upload a JSON file",
123 | "translation": "Translation results will be displayed here"
124 | },
125 | "actions": {
126 | "copy": "Copy",
127 | "download": "Download",
128 | "downloadAll": "Download all translations",
129 | "downloadFormat": "Download {lang} translation"
130 | },
131 | "toast": {
132 | "copySuccess": "Content has been copied to the clipboard",
133 | "copyError": "Copy failed, please copy manually",
134 | "downloadSuccess": "{lang} translation file has been downloaded",
135 | "downloadAllSuccess": "All translation files have been downloaded",
136 | "downloadError": "Download failed, please try again"
137 | },
138 | "languages": {
139 | "en": "English",
140 | "zh": "Chinese (Simplified)",
141 | "zh-TW": "Chinese (Traditional)",
142 | "ja": "Japanese",
143 | "ko": "Korean",
144 | "fr": "French",
145 | "de": "German",
146 | "es": "Spanish",
147 | "pt": "Portuguese",
148 | "it": "Italian",
149 | "ru": "Russian",
150 | "ar": "Arabic",
151 | "hi": "Hindi",
152 | "bn": "Bengali",
153 | "th": "Thai",
154 | "vi": "Vietnamese",
155 | "id": "Indonesian",
156 | "ms": "Malay",
157 | "tr": "Turkish",
158 | "nl": "Dutch",
159 | "pl": "Polish",
160 | "uk": "Ukrainian",
161 | "el": "Greek",
162 | "he": "Hebrew",
163 | "sv": "Swedish",
164 | "da": "Danish",
165 | "fi": "Finnish",
166 | "cs": "Czech",
167 | "ro": "Romanian",
168 | "hu": "Hungarian",
169 | "sk": "Slovak",
170 | "bg": "Bulgarian",
171 | "hr": "Croatian",
172 | "lt": "Lithuanian",
173 | "sl": "Slovenian",
174 | "et": "Estonian",
175 | "lv": "Latvian",
176 | "sr": "Serbian",
177 | "mt": "Maltese",
178 | "fa": "Persian",
179 | "ur": "Urdu",
180 | "ta": "Tamil",
181 | "te": "Telugu",
182 | "ml": "Malayalam",
183 | "kn": "Kannada",
184 | "mr": "Marathi",
185 | "gu": "Gujarati",
186 | "my": "Burmese",
187 | "km": "Khmer",
188 | "lo": "Lao",
189 | "mn": "Mongolian",
190 | "ka": "Georgian",
191 | "hy": "Armenian",
192 | "az": "Azerbaijani",
193 | "sw": "Swahili",
194 | "af": "Afrikaans",
195 | "am": "Amharic"
196 | }
197 | },
198 | "faq": {
199 | "title": "Frequently Asked Questions",
200 | "description": "Common questions about the JSON translation tool",
201 | "items": [
202 | {
203 | "question": "What does this tool do?",
204 | "answer": "This is an AI-powered JSON internationalization translation tool that helps developers quickly translate JSON language files into multiple languages while maintaining JSON structure integrity."
205 | },
206 | {
207 | "question": "How to use this tool?",
208 | "answer": "1. Upload your JSON file for translation\n2. Select target languages\n3. Enter your OpenAI API Key\n4. Click start translation\n5. Download results after translation is complete"
209 | },
210 | {
211 | "question": "What languages are supported?",
212 | "answer": "Currently supports multiple languages including English, Chinese (Simplified), Chinese (Traditional), Japanese, Korean, French, German, Spanish, Russian, and more."
213 | },
214 | {
215 | "question": "Will my API Key be saved?",
216 | "answer": "No. Your API Key is only used temporarily in the browser and will not be saved or transmitted to any servers."
217 | },
218 | {
219 | "question": "How is translation quality assured?",
220 | "answer": "We use OpenAI's GPT model for translation, ensuring accuracy of technical terms and natural language expression. We also support custom dictionary functionality to maintain consistency of specific terminology."
221 | },
222 | {
223 | "question": "Is there a file size limit?",
224 | "answer": "Single JSON file size is limited to 10MB. For larger files, it's recommended to split them and translate in batches."
225 | }
226 | ]
227 | },
228 | "cta": {
229 | "title": "Start Using AI Translation Tool Now",
230 | "description": "Quickly and accurately translate your JSON language files into multiple languages",
231 | "button": "Try Now",
232 | "features": [
233 | "No Registration Required",
234 | "Completely Free",
235 | "Real-time Translation"
236 | ]
237 | },
238 | "footer": {
239 | "creator": "Created with ❤️ by Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "Buy Me a Coffee",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON Translator - AI-Powered Multilingual Translation Solution",
246 | "description": "Quickly and accurately translate JSON language files into multiple languages using AI technology. Supports JSON structure, variable placeholders, and HTML tags.",
247 | "keywords": "JSON translation,AI translation,internationalization,i18n,multilingual translation,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/tr.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI Destekli",
4 | "title": "i18n JSON Çeviri Aracı",
5 | "description": "JSON dil dosyalarınızı hızlı bir şekilde AI teknolojisi kullanarak çevirin. Hızlı, doğru ve kullanımı kolay.",
6 | "features": {
7 | "multilanguage": "Çok Dilli Destek",
8 | "realtime": "Gerçek Zamanlı Çeviri"
9 | }
10 | },
11 | "workflow": {
12 | "title": "Dört Basit Adımda Tam Çeviri",
13 | "description": "JSON dosyası çeviri sürecini basitleştirdik, böylece yüksek kaliteli çeviri sonuçlarını hızlıca elde edebilirsiniz",
14 | "steps": {
15 | "0": {
16 | "title": "JSON Dosyasını Yükle",
17 | "description": "Sürükleyip bırakmayı veya dosyayı seçmek için tıklamayı destekler"
18 | },
19 | "1": {
20 | "title": "Hedef Dili Seç",
21 | "description": "Çeviri için hedef dili seçin"
22 | },
23 | "2": {
24 | "title": "Çeviriyi Başlat",
25 | "description": "API Anahtarını girin ve AI çevirisini başlatın"
26 | },
27 | "3": {
28 | "title": "Sonuçları İndir",
29 | "description": "Çevrilen JSON dosyasını indirin"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "Güçlü Çeviri Özellikleri",
35 | "items": {
36 | "0": {
37 | "title": "JSON Yapısını Koruma",
38 | "description": "Orijinal JSON dosyasının yapısını, girintisini ve formatını akıllıca tanıyıp koruma"
39 | },
40 | "1": {
41 | "title": "Çok Dilli Destek",
42 | "description": "İngilizce, Çince, Japonca ve daha fazlası dahil olmak üzere birden fazla dil arasında çeviri desteği"
43 | },
44 | "2": {
45 | "title": "AI Destekli Çeviri",
46 | "description": "Teknik terimlerin doğruluğunu ve doğal ifadeyi sağlamak için OpenAI GPT modellerini kullanma"
47 | },
48 | "3": {
49 | "title": "Güvenli ve Güvenilir",
50 | "description": "API anahtarları yalnızca tarayıcıda geçici olarak kullanılır ve asla kaydedilmez veya sunuculara iletilmez"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "JSON Dosyasını Yükle",
56 | "description": "Çeviri için JSON dosyanızı yükleyin",
57 | "dragText": "Dosyaları buraya sürükleyin veya yüklemek için tıklayın",
58 | "supportText": ".json format dosyalarını destekler, en fazla 10MB",
59 | "apiKeyTip": "İpucu: Çeviri için OpenAI API Anahtarı gereklidir",
60 | "errors": {
61 | "selectFile": "Lütfen bir dosya seçin",
62 | "jsonExtension": "Lütfen .json uzantılı bir dosya yükleyin",
63 | "fileSize": "Dosya boyutu 10MB'yi geçemez",
64 | "jsonFormat": "Geçersiz JSON formatı, lütfen dosya içeriğini kontrol edin",
65 | "emptyJson": "JSON dosyası boş olamaz"
66 | },
67 | "success": {
68 | "uploaded": "Dosya başarıyla yüklendi"
69 | },
70 | "apiKeyTitle": "OpenAI API Anahtarı",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "Hata",
73 | "successTitle": "Başarılı"
74 | },
75 | "translateSection": {
76 | "title": "Hedef Dili Seç",
77 | "description": "Çevrilecek dilleri seçin"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "Çeviriyi Başlat",
81 | "translating": "Çeviri yapılıyor...",
82 | "cancel": "İptal",
83 | "uploadFirst": "Lütfen önce bir dosya yükleyin",
84 | "enterApiKey": "Lütfen API Anahtarını girin",
85 | "foundUnfinished": "Tamamlanmamış çeviri bulundu",
86 | "continueTranslation": "Çeviriye devam et",
87 | "translationCancelled": "Çeviri iptal edildi",
88 | "invalidApiKey": "Geçersiz API Anahtarı formatı",
89 | "errorTitle": "Hata",
90 | "successTitle": "Başarı",
91 | "translationCompleted": "Çeviri tamamlandı!",
92 | "showMoreLanguages": "Daha fazla dil göster",
93 | "hideMoreLanguages": "Daha fazla dili gizle",
94 | "overallProgress": "Genel İlerleme",
95 | "completedSegments": "Tamamlanan Segmentler",
96 | "translatingLanguage": "Çeviri yapılıyor",
97 | "allLanguagesTranslated": "Tüm seçilen diller çevrildi",
98 | "pleaseUploadAndEnterKey": "Lütfen bir dosya yükleyin ve API Anahtarını girin",
99 | "tip": "İpucu",
100 | "cancelled": "İptal edildi",
101 | "translationFailed": "Çeviri başarısız oldu",
102 | "pleaseSelectLanguage": "Lütfen en az bir hedef dil seçin",
103 | "bytes": "Bayt",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "Geçersiz API anahtarı formatı",
109 | "invalidOrExpired": "Geçersiz veya süresi dolmuş API anahtarı",
110 | "rateLimitReached": "API çağrı limiti aşıldı",
111 | "validationFailed": "API anahtarı doğrulaması başarısız oldu"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "Önizleme",
116 | "empty": "JSON önizlemesi burada görünecek",
117 | "copied": "Panoya kopyalandı",
118 | "originalJson": "Orijinal JSON",
119 | "translatedJson": "Çevrilmiş JSON",
120 | "tips": "İpuçları: JSON dosyalarının gerçek zamanlı önizlemesini ve biçimlendirmesini destekler ve içeriği doğrudan kopyalayabilirsiniz",
121 | "placeholder": {
122 | "upload": "Lütfen bir JSON dosyası yükleyin",
123 | "translation": "Çeviri sonuçları burada görüntülenecek"
124 | },
125 | "actions": {
126 | "copy": "Kopyala",
127 | "download": "İndir",
128 | "downloadAll": "Tüm çevirileri indir",
129 | "downloadFormat": "{lang} çevirisini indir"
130 | },
131 | "toast": {
132 | "copySuccess": "İçerik panoya kopyalandı",
133 | "copyError": "Kopyalama başarısız, lütfen manuel olarak kopyalayın",
134 | "downloadSuccess": "{lang} çeviri dosyası indirildi",
135 | "downloadAllSuccess": "Tüm çeviri dosyaları indirildi",
136 | "downloadError": "İndirme başarısız, lütfen tekrar deneyin"
137 | },
138 | "languages": {
139 | "en": "İngilizce",
140 | "zh": "Çince (Basitleştirilmiş)",
141 | "zh-TW": "Çince (Geleneksel)",
142 | "ja": "Japonca",
143 | "ko": "Korece",
144 | "fr": "Fransızca",
145 | "de": "Almanca",
146 | "es": "İspanyolca",
147 | "pt": "Portekizce",
148 | "it": "İtalyanca",
149 | "ru": "Rusça",
150 | "ar": "Arapça",
151 | "hi": "Hintçe",
152 | "bn": "Bengalce",
153 | "th": "Tayca",
154 | "vi": "Vietnamese",
155 | "id": "Endonezce",
156 | "ms": "Malayca",
157 | "tr": "Türkçe",
158 | "nl": "Hollandaca",
159 | "pl": "Lehçe",
160 | "uk": "Ukraynaca",
161 | "el": "Yunanca",
162 | "he": "İbranice",
163 | "sv": "İsveççe",
164 | "da": "Danca",
165 | "fi": "Fince",
166 | "cs": "Çekçe",
167 | "ro": "Romence",
168 | "hu": "Macarca",
169 | "sk": "Slovakça",
170 | "bg": "Bulgarca",
171 | "hr": "Hırvatça",
172 | "lt": "Litvanca",
173 | "sl": "Slovence",
174 | "et": "Estonca",
175 | "lv": "Letonca",
176 | "sr": "Sırpça",
177 | "mt": "Maltaca",
178 | "fa": "Farsça",
179 | "ur": "Urduca",
180 | "ta": "Tamilce",
181 | "te": "Telugu",
182 | "ml": "Malayalam",
183 | "kn": "Kannada",
184 | "mr": "Marathi",
185 | "gu": "Gücerati",
186 | "my": "Birmanya",
187 | "km": "Kmer",
188 | "lo": "Lao",
189 | "mn": "Moğolca",
190 | "ka": "Gürcüce",
191 | "hy": "Ermenice",
192 | "az": "Azerice",
193 | "sw": "Svahili",
194 | "af": "Afrikanca",
195 | "am": "Amharca"
196 | }
197 | },
198 | "faq": {
199 | "title": "Sıkça Sorulan Sorular",
200 | "description": "JSON çeviri aracı hakkında yaygın sorular",
201 | "items": {
202 | "0": {
203 | "question": "Bu araç ne yapar?",
204 | "answer": "Bu, geliştiricilerin JSON dil dosyalarını birden fazla dile hızlı bir şekilde çevirirken JSON yapı bütünlüğünü korumalarına yardımcı olan AI destekli bir JSON uluslararasılaştırma çeviri aracıdır."
205 | },
206 | "1": {
207 | "question": "Bu aracı nasıl kullanırım?",
208 | "answer": "1. Çeviri için JSON dosyanızı yükleyin\n2. Hedef dilleri seçin\n3. OpenAI API Anahtarınızı girin\n4. Çeviriyi başlatmak için tıklayın\n5. Çeviri tamamlandıktan sonra sonuçları indirin"
209 | },
210 | "2": {
211 | "question": "Hangi diller destekleniyor?",
212 | "answer": "Şu anda İngilizce, Çince (Basitleştirilmiş), Çince (Geleneksel), Japonca, Korece, Fransızca, Almanca, İspanyolca, Rusça ve daha fazlası dahil olmak üzere birden fazla dili desteklemektedir."
213 | },
214 | "3": {
215 | "question": "API Anahtarım kaydedilecek mi?",
216 | "answer": "Hayır. API Anahtarınız sadece tarayıcıda geçici olarak kullanılır ve kaydedilmeyecek veya herhangi bir sunucuya iletilmeyecektir."
217 | },
218 | "4": {
219 | "question": "Çeviri kalitesi nasıl garanti ediliyor?",
220 | "answer": "Çeviri için OpenAI'nin GPT modelini kullanıyoruz, teknik terimlerin doğruluğunu ve doğal dil ifadesini sağlıyoruz. Ayrıca belirli terminolojinin tutarlılığını korumak için özel sözlük işlevselliğini de destekliyoruz."
221 | },
222 | "5": {
223 | "question": "Bir dosya boyutu limiti var mı?",
224 | "answer": "Tek bir JSON dosyasının boyutu 10MB ile sınırlıdır. Daha büyük dosyalar için, bunları bölüp partiler halinde çevirmeleri önerilir."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "AI Çeviri Aracını Şimdi Kullanmaya Başlayın",
230 | "description": "JSON dil dosyalarınızı hızlı ve doğru bir şekilde birden fazla dile çevirin",
231 | "button": "Şimdi Deneyin",
232 | "features": {
233 | "0": "Kayıt Gerekmiyor",
234 | "1": "Tamamen Ücretsiz",
235 | "2": "Gerçek Zamanlı Çeviri"
236 | }
237 | },
238 | "footer": {
239 | "creator": "❤️ ile oluşturuldu Viggo tarafından",
240 | "twitter": "@viggo",
241 | "coffee": "Bana Bir Kahve Al",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON Çevirmen - AI Destekli Çok Dilli Çeviri Çözümü",
246 | "description": "JSON dil dosyalarını AI teknolojisi ile hızlı ve doğru bir şekilde birden çok dile çevirin. JSON yapısını, değişken yer tutucularını ve HTML etiketlerini destekler.",
247 | "keywords": "JSON çeviri,AI çeviri,uluslararasılaştırma,i18n,çok dilli çeviri,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/id.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "Didukung AI",
4 | "title": "i18n Alat Terjemahan JSON",
5 | "description": "Terjemahkan berkas bahasa JSON Anda dengan cepat menggunakan teknologi AI. Cepat, akurat, dan mudah digunakan.",
6 | "features": {
7 | "multilanguage": "Dukungan Multibahasa",
8 | "realtime": "Terjemahan Waktu Nyata"
9 | }
10 | },
11 | "workflow": {
12 | "title": "Selesaikan Terjemahan dalam Empat Langkah Sederhana",
13 | "description": "Kami telah menyederhanakan proses terjemahan berkas JSON untuk membantu Anda dengan cepat mendapatkan hasil terjemahan berkualitas tinggi",
14 | "steps": {
15 | "0": {
16 | "title": "Unggah Berkas JSON",
17 | "description": "Dukungan seret dan lepas atau klik untuk memilih berkas"
18 | },
19 | "1": {
20 | "title": "Pilih Bahasa Target",
21 | "description": "Pilih bahasa target untuk terjemahan"
22 | },
23 | "2": {
24 | "title": "Mulai Terjemahan",
25 | "description": "Masukkan Kunci API dan mulai terjemahan AI"
26 | },
27 | "3": {
28 | "title": "Unduh Hasil",
29 | "description": "Unduh berkas JSON yang telah diterjemahkan"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "Fitur Terjemahan yang Kuat",
35 | "items": {
36 | "0": {
37 | "title": "Pertahankan Struktur JSON",
38 | "description": "Secara cerdas mengenali dan mempertahankan struktur, indentasi, dan format berkas JSON asli"
39 | },
40 | "1": {
41 | "title": "Dukungan Multi-bahasa",
42 | "description": "Dukungan terjemahan antara beberapa bahasa termasuk Inggris, Mandarin, Jepang, dan lainnya"
43 | },
44 | "2": {
45 | "title": "Terjemahan Didukung AI",
46 | "description": "Memanfaatkan model OpenAI GPT untuk memastikan akurasi istilah teknis dan ekspresi alami"
47 | },
48 | "3": {
49 | "title": "Aman & Andal",
50 | "description": "Kunci API hanya digunakan sementara di browser dan tidak pernah disimpan atau dikirim ke server"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "Unggah Berkas JSON",
56 | "description": "Unggah berkas JSON Anda untuk terjemahan",
57 | "dragText": "Seret berkas ke sini atau klik untuk mengunggah",
58 | "supportText": "Mendukung berkas format .json, hingga 10MB",
59 | "apiKeyTip": "Tips: Kunci API OpenAI diperlukan untuk terjemahan",
60 | "errors": {
61 | "selectFile": "Silakan pilih berkas",
62 | "jsonExtension": "Silakan unggah berkas dengan ekstensi .json",
63 | "fileSize": "Ukuran berkas tidak boleh melebihi 10MB",
64 | "jsonFormat": "Format JSON tidak valid, silakan periksa konten berkas",
65 | "emptyJson": "Berkas JSON tidak boleh kosong"
66 | },
67 | "success": {
68 | "uploaded": "Berkas berhasil diunggah"
69 | },
70 | "apiKeyTitle": "Kunci API OpenAI",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "Kesalahan",
73 | "successTitle": "Sukses"
74 | },
75 | "translateSection": {
76 | "title": "Pilih Bahasa Target",
77 | "description": "Pilih bahasa untuk diterjemahkan"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "Mulai Terjemahan",
81 | "translating": "Sedang Menerjemahkan...",
82 | "cancel": "Batal",
83 | "uploadFirst": "Silakan unggah berkas terlebih dahulu",
84 | "enterApiKey": "Silakan masukkan Kunci API",
85 | "foundUnfinished": "Ditemukan terjemahan yang belum selesai",
86 | "continueTranslation": "Lanjutkan terjemahan",
87 | "translationCancelled": "Terjemahan dibatalkan",
88 | "invalidApiKey": "Format Kunci API tidak valid",
89 | "errorTitle": "Kesalahan",
90 | "successTitle": "Sukses",
91 | "translationCompleted": "Terjemahan selesai!",
92 | "showMoreLanguages": "Tampilkan lebih banyak bahasa",
93 | "hideMoreLanguages": "Sembunyikan lebih banyak bahasa",
94 | "overallProgress": "Kemajuan Keseluruhan",
95 | "completedSegments": "Segmen yang Diselesaikan",
96 | "translatingLanguage": "Menerjemahkan",
97 | "allLanguagesTranslated": "Semua bahasa yang dipilih telah diterjemahkan",
98 | "pleaseUploadAndEnterKey": "Silakan unggah file dan masukkan Kunci API",
99 | "tip": "Tip",
100 | "cancelled": "Dibatalkan",
101 | "translationFailed": "Terjemahan gagal",
102 | "pleaseSelectLanguage": "Silakan pilih setidaknya satu bahasa target",
103 | "bytes": "Byte",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "Format kunci API tidak valid",
109 | "invalidOrExpired": "Kunci API tidak valid atau kedaluwarsa",
110 | "rateLimitReached": "Batas pemanggilan API tercapai",
111 | "validationFailed": "Validasi kunci API gagal"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "Pratampilan",
116 | "empty": "Pratampilan JSON akan muncul di sini",
117 | "copied": "Disalin ke papan klip",
118 | "originalJson": "JSON Asli",
119 | "translatedJson": "JSON Terjemahan",
120 | "tips": "Tips: Mendukung pratampilan waktu nyata dan pemformatan file JSON, dan Anda dapat langsung menyalin kontennya",
121 | "placeholder": {
122 | "upload": "Silakan unggah file JSON",
123 | "translation": "Hasil terjemahan akan ditampilkan di sini"
124 | },
125 | "actions": {
126 | "copy": "Salin",
127 | "download": "Unduh",
128 | "downloadAll": "Unduh semua terjemahan",
129 | "downloadFormat": "Unduh terjemahan {lang}"
130 | },
131 | "toast": {
132 | "copySuccess": "Konten telah disalin ke papan klip",
133 | "copyError": "Salin gagal, silakan salin secara manual",
134 | "downloadSuccess": "File terjemahan {lang} telah diunduh",
135 | "downloadAllSuccess": "Semua file terjemahan telah diunduh",
136 | "downloadError": "Unduh gagal, silakan coba lagi"
137 | },
138 | "languages": {
139 | "en": "Inggris",
140 | "zh": "Cina (Sederhana)",
141 | "zh-TW": "Cina (Tradisional)",
142 | "ja": "Jepang",
143 | "ko": "Korea",
144 | "fr": "Prancis",
145 | "de": "Jerman",
146 | "es": "Spanyol",
147 | "pt": "Portugis",
148 | "it": "Italia",
149 | "ru": "Rusia",
150 | "ar": "Arab",
151 | "hi": "Hindi",
152 | "bn": "Bengali",
153 | "th": "Thai",
154 | "vi": "Vietnamese",
155 | "id": "Bahasa Indonesia",
156 | "ms": "Melayu",
157 | "tr": "Turki",
158 | "nl": "Belanda",
159 | "pl": "Polandia",
160 | "uk": "Ukraina",
161 | "el": "Yunani",
162 | "he": "Ibrani",
163 | "sv": "Swedia",
164 | "da": "Denmark",
165 | "fi": "Finlandia",
166 | "cs": "Ceko",
167 | "ro": "Rumania",
168 | "hu": "Hongaria",
169 | "sk": "Slovakia",
170 | "bg": "Bulgaria",
171 | "hr": "Kroasia",
172 | "lt": "Lituania",
173 | "sl": "Slovenia",
174 | "et": "Estonia",
175 | "lv": "Latvia",
176 | "sr": "Serbia",
177 | "mt": "Malta",
178 | "fa": "Persia",
179 | "ur": "Urdu",
180 | "ta": "Tamil",
181 | "te": "Telugu",
182 | "ml": "Malayalam",
183 | "kn": "Kannada",
184 | "mr": "Marathi",
185 | "gu": "Gujarati",
186 | "my": "Burmese",
187 | "km": "Khmer",
188 | "lo": "Lao",
189 | "mn": "Mongolia",
190 | "ka": "Georgia",
191 | "hy": "Armenia",
192 | "az": "Azerbaijan",
193 | "sw": "Swahili",
194 | "af": "Afrikaans",
195 | "am": "Amharic"
196 | }
197 | },
198 | "faq": {
199 | "title": "Pertanyaan yang Sering Diajukan",
200 | "description": "Pertanyaan umum tentang alat terjemahan JSON",
201 | "items": {
202 | "0": {
203 | "question": "Apa yang dilakukan alat ini?",
204 | "answer": "Ini adalah alat terjemahan internasionalisasi JSON yang didukung AI yang membantu pengembang dengan cepat menerjemahkan file bahasa JSON ke dalam berbagai bahasa sambil mempertahankan integritas struktur JSON."
205 | },
206 | "1": {
207 | "question": "Bagaimana cara menggunakan alat ini?",
208 | "answer": "1. Unggah file JSON Anda untuk diterjemahkan\n2. Pilih bahasa target\n3. Masukkan Kunci API OpenAI Anda\n4. Klik mulai terjemahan\n5. Unduh hasil setelah terjemahan selesai"
209 | },
210 | "2": {
211 | "question": "Bahasa apa saja yang didukung?",
212 | "answer": "Saat ini mendukung berbagai bahasa termasuk Inggris, Mandarin (Sederhana), Mandarin (Tradisional), Jepang, Korea, Prancis, Jerman, Spanyol, Rusia, dan lainnya."
213 | },
214 | "3": {
215 | "question": "Apakah Kunci API saya akan disimpan?",
216 | "answer": "Tidak. Kunci API Anda hanya digunakan sementara di browser dan tidak akan disimpan atau dikirim ke server mana pun."
217 | },
218 | "4": {
219 | "question": "Bagaimana kualitas terjemahan dijamin?",
220 | "answer": "Kami menggunakan model GPT dari OpenAI untuk terjemahan, memastikan akurasi istilah teknis dan ekspresi bahasa alami. Kami juga mendukung fungsi kamus kustom untuk menjaga konsistensi terminologi tertentu."
221 | },
222 | "5": {
223 | "question": "Apakah ada batas ukuran file?",
224 | "answer": "Ukuran file JSON tunggal dibatasi hingga 10MB. Untuk file yang lebih besar, disarankan untuk membaginya dan menerjemahkan dalam batch."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "Mulai Menggunakan Alat Terjemahan AI Sekarang",
230 | "description": "Terjemahkan file bahasa JSON Anda dengan cepat dan akurat ke dalam beberapa bahasa",
231 | "button": "Coba Sekarang",
232 | "features": {
233 | "0": "Tidak Perlu Registrasi",
234 | "1": "Sepenuhnya Gratis",
235 | "2": "Terjemahan Waktu Nyata"
236 | }
237 | },
238 | "footer": {
239 | "creator": "Dibuat dengan ❤️ oleh Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "Beli Saya Secangkir Kopi",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "Penerjemah JSON - Solusi Terjemahan Multibahasa Berbasis AI",
246 | "description": "Terjemahkan file bahasa JSON ke berbagai bahasa dengan cepat dan akurat menggunakan teknologi AI. Mendukung struktur JSON, placeholder variabel, dan tag HTML.",
247 | "keywords": "terjemahan JSON,terjemahan AI,internasionalisasi,i18n,terjemahan multibahasa,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "Basato su IA",
4 | "title": "Strumento di Traduzione JSON i18n",
5 | "description": "Traduci rapidamente i tuoi file JSON utilizzando la tecnologia IA. Veloce, accurato e facile da usare.",
6 | "features": {
7 | "multilanguage": "Supporto Multilingue",
8 | "realtime": "Traduzione in Tempo Reale"
9 | }
10 | },
11 | "workflow": {
12 | "title": "Completa la Traduzione in Quattro Semplici Passaggi",
13 | "description": "Abbiamo semplificato il processo di traduzione dei file JSON per aiutarti a ottenere rapidamente risultati di alta qualità",
14 | "steps": [
15 | {
16 | "title": "Carica File JSON",
17 | "description": "Supporta il trascinamento o il clic per selezionare il file"
18 | },
19 | {
20 | "title": "Seleziona Lingua di Destinazione",
21 | "description": "Scegli la lingua di destinazione per la traduzione"
22 | },
23 | {
24 | "title": "Avvia Traduzione",
25 | "description": "Inserisci la Chiave API e avvia la traduzione IA"
26 | },
27 | {
28 | "title": "Scarica Risultati",
29 | "description": "Scarica il file JSON tradotto"
30 | }
31 | ]
32 | },
33 | "features": {
34 | "title": "Potenti Funzionalità di Traduzione",
35 | "items": [
36 | {
37 | "title": "Preserva Struttura JSON",
38 | "description": "Riconosce e mantiene intelligentemente la struttura, l'indentazione e il formato del file JSON originale"
39 | },
40 | {
41 | "title": "Supporto Multilingue",
42 | "description": "Supporta la traduzione tra più lingue inclusi inglese, cinese, giapponese e altri"
43 | },
44 | {
45 | "title": "Traduzione Basata su IA",
46 | "description": "Utilizza i modelli GPT di OpenAI per garantire l'accuratezza dei termini tecnici e l'espressione naturale"
47 | },
48 | {
49 | "title": "Sicuro e Affidabile",
50 | "description": "Le chiavi API vengono utilizzate solo temporaneamente nel browser e non vengono mai salvate o trasmesse ai server"
51 | }
52 | ]
53 | },
54 | "uploadSection": {
55 | "title": "Carica File JSON",
56 | "description": "Carica il tuo file JSON per la traduzione",
57 | "dragText": "Trascina i file qui o clicca per caricare",
58 | "supportText": "Supporta file in formato .json, fino a 10MB",
59 | "apiKeyTip": "Suggerimento: È necessaria una chiave API OpenAI per la traduzione",
60 | "errors": {
61 | "selectFile": "Seleziona un file",
62 | "jsonExtension": "Carica un file con estensione .json",
63 | "fileSize": "La dimensione del file non può superare 10MB",
64 | "jsonFormat": "Formato JSON non valido, controlla il contenuto del file",
65 | "emptyJson": "Il file JSON non può essere vuoto"
66 | },
67 | "success": {
68 | "uploaded": "File caricato con successo"
69 | },
70 | "apiKeyTitle": "Chiave API OpenAI",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "Errore",
73 | "successTitle": "Successo"
74 | },
75 | "translateSection": {
76 | "title": "Seleziona Lingua di Destinazione",
77 | "description": "Scegli le lingue in cui tradurre"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "Avvia Traduzione",
81 | "translating": "Traduzione in corso...",
82 | "cancel": "Annulla",
83 | "uploadFirst": "Carica prima un file",
84 | "enterApiKey": "Inserisci la Chiave API",
85 | "foundUnfinished": "Trovata traduzione incompleta",
86 | "continueTranslation": "Continua traduzione",
87 | "translationCancelled": "Traduzione annullata",
88 | "invalidApiKey": "Formato Chiave API non valido",
89 | "errorTitle": "Errore",
90 | "successTitle": "Successo",
91 | "translationCompleted": "Traduzione completata!",
92 | "showMoreLanguages": "Mostra più lingue",
93 | "hideMoreLanguages": "Nascondi più lingue",
94 | "overallProgress": "Progresso Complessivo",
95 | "completedSegments": "Segmenti Completati",
96 | "translatingLanguage": "Traduzione in corso",
97 | "allLanguagesTranslated": "Tutte le lingue selezionate sono state tradotte",
98 | "pleaseUploadAndEnterKey": "Carica un file e inserisci la Chiave API",
99 | "tip": "Suggerimento",
100 | "cancelled": "Annullato",
101 | "translationFailed": "Traduzione fallita",
102 | "pleaseSelectLanguage": "Seleziona almeno una lingua di destinazione",
103 | "bytes": "Byte",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "Formato chiave API non valido",
109 | "invalidOrExpired": "Chiave API non valida o scaduta",
110 | "rateLimitReached": "Limite di chiamate API raggiunto",
111 | "validationFailed": "Validazione chiave API fallita"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "Anteprima",
116 | "empty": "L'anteprima JSON apparirà qui",
117 | "copied": "Copiato negli appunti",
118 | "originalJson": "JSON Originale",
119 | "translatedJson": "JSON Tradotto",
120 | "tips": "Suggerimenti: Supporta l'anteprima in tempo reale e la formattazione dei file JSON, puoi copiare direttamente il contenuto",
121 | "placeholder": {
122 | "upload": "Carica un file JSON",
123 | "translation": "I risultati della traduzione verranno visualizzati qui"
124 | },
125 | "actions": {
126 | "copy": "Copia",
127 | "download": "Scarica",
128 | "downloadAll": "Scarica tutte le traduzioni",
129 | "downloadFormat": "Scarica traduzione in {lang}"
130 | },
131 | "toast": {
132 | "copySuccess": "Contenuto copiato negli appunti",
133 | "copyError": "Copia fallita, copia manualmente",
134 | "downloadSuccess": "File di traduzione {lang} scaricato",
135 | "downloadAllSuccess": "Tutti i file di traduzione sono stati scaricati",
136 | "downloadError": "Download fallito, riprova"
137 | },
138 | "languages": {
139 | "en": "Inglese",
140 | "zh": "Cinese (Semplificato)",
141 | "zh-TW": "Cinese (Tradizionale)",
142 | "ja": "Giapponese",
143 | "ko": "Coreano",
144 | "fr": "Francese",
145 | "de": "Tedesco",
146 | "es": "Spagnolo",
147 | "pt": "Portoghese",
148 | "it": "Italiano",
149 | "ru": "Russo",
150 | "ar": "Arabo",
151 | "hi": "Hindi",
152 | "bn": "Bengalese",
153 | "th": "Tailandese",
154 | "vi": "Vietnamita",
155 | "id": "Indonesiano",
156 | "ms": "Malese",
157 | "tr": "Turco",
158 | "nl": "Olandese",
159 | "pl": "Polacco",
160 | "uk": "Ucraino",
161 | "el": "Greco",
162 | "he": "Ebraico",
163 | "sv": "Svedese",
164 | "da": "Danese",
165 | "fi": "Finlandese",
166 | "cs": "Ceco",
167 | "ro": "Rumeno",
168 | "hu": "Ungherese",
169 | "sk": "Slovacco",
170 | "bg": "Bulgaro",
171 | "hr": "Croato",
172 | "lt": "Lituano",
173 | "sl": "Sloveno",
174 | "et": "Estone",
175 | "lv": "Lettone",
176 | "sr": "Serbo",
177 | "mt": "Maltese",
178 | "fa": "Persiano",
179 | "ur": "Urdu",
180 | "ta": "Tamil",
181 | "te": "Telugu",
182 | "ml": "Malayalam",
183 | "kn": "Kannada",
184 | "mr": "Marathi",
185 | "gu": "Gujarati",
186 | "my": "Birmano",
187 | "km": "Khmer",
188 | "lo": "Lao",
189 | "mn": "Mongolo",
190 | "ka": "Georgiano",
191 | "hy": "Armeno",
192 | "az": "Azero",
193 | "sw": "Swahili",
194 | "af": "Afrikaans",
195 | "am": "Amarico"
196 | }
197 | },
198 | "faq": {
199 | "title": "Domande Frequenti",
200 | "description": "Domande comuni sullo strumento di traduzione JSON",
201 | "items": [
202 | {
203 | "question": "Cosa fa questo strumento?",
204 | "answer": "Questo è uno strumento di traduzione JSON basato su IA che aiuta gli sviluppatori a tradurre rapidamente i file di lingua JSON in più lingue mantenendo l'integrità della struttura JSON."
205 | },
206 | {
207 | "question": "Come si usa questo strumento?",
208 | "answer": "1. Carica il tuo file JSON per la traduzione\n2. Seleziona le lingue di destinazione\n3. Inserisci la tua Chiave API OpenAI\n4. Clicca avvia traduzione\n5. Scarica i risultati dopo il completamento della traduzione"
209 | },
210 | {
211 | "question": "Quali lingue sono supportate?",
212 | "answer": "Attualmente supporta più lingue tra cui inglese, cinese (semplificato), cinese (tradizionale), giapponese, coreano, francese, tedesco, spagnolo, russo e altre."
213 | },
214 | {
215 | "question": "La mia Chiave API verrà salvata?",
216 | "answer": "No. La tua Chiave API viene utilizzata solo temporaneamente nel browser e non verrà mai salvata o trasmessa a nessun server."
217 | },
218 | {
219 | "question": "Come viene garantita la qualità della traduzione?",
220 | "answer": "Utilizziamo il modello GPT di OpenAI per la traduzione, garantendo l'accuratezza dei termini tecnici e l'espressione naturale. Supportiamo anche la funzionalità di dizionario personalizzato per mantenere la coerenza della terminologia specifica."
221 | },
222 | {
223 | "question": "C'è un limite di dimensione del file?",
224 | "answer": "La dimensione del singolo file JSON è limitata a 10MB. Per file più grandi, si consiglia di dividerli e tradurli in batch."
225 | }
226 | ]
227 | },
228 | "cta": {
229 | "title": "Inizia a Usare lo Strumento di Traduzione IA Ora",
230 | "description": "Traduci rapidamente e accuratamente i tuoi file di lingua JSON in più lingue",
231 | "button": "Prova Ora",
232 | "features": [
233 | "Nessuna Registrazione Richiesta",
234 | "Completamente Gratuito",
235 | "Traduzione in Tempo Reale"
236 | ]
237 | },
238 | "footer": {
239 | "creator": "Creato con ❤️ da Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "Offrimi un Caffè",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "Traduttore JSON - Soluzione di Traduzione Multilingue Basata su IA",
246 | "description": "Traduci rapidamente e accuratamente i file di lingua JSON in più lingue utilizzando la tecnologia IA. Supporta struttura JSON, segnaposto variabili e tag HTML.",
247 | "keywords": "traduzione JSON,traduzione IA,internazionalizzazione,i18n,traduzione multilingue,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------
/src/dictionaries/nl.json:
--------------------------------------------------------------------------------
1 | {
2 | "hero": {
3 | "badge": "AI Aangedreven",
4 | "title": "i18n JSON Vertaaltool",
5 | "description": "Vertaal uw JSON-taalbestanden snel met behulp van AI-technologie. Snel, nauwkeurig en eenvoudig te gebruiken.",
6 | "features": {
7 | "multilanguage": "Meertalige Ondersteuning",
8 | "realtime": "Realtime Vertaling"
9 | }
10 | },
11 | "workflow": {
12 | "title": "Voltooi Vertaling in Vier Eenvoudige Stappen",
13 | "description": "We hebben het proces van het vertalen van JSON-bestanden vereenvoudigd om u te helpen snel hoogwaardige vertaalresultaten te verkrijgen",
14 | "steps": {
15 | "0": {
16 | "title": "Upload JSON-bestand",
17 | "description": "Ondersteunt slepen en neerzetten of klik om bestand te selecteren"
18 | },
19 | "1": {
20 | "title": "Selecteer Doeltaal",
21 | "description": "Kies de doeltaal voor vertaling"
22 | },
23 | "2": {
24 | "title": "Start Vertaling",
25 | "description": "Voer API-sleutel in en start AI-vertaling"
26 | },
27 | "3": {
28 | "title": "Download Resultaten",
29 | "description": "Download het vertaalde JSON-bestand"
30 | }
31 | }
32 | },
33 | "features": {
34 | "title": "Krachtige Vertaalfuncties",
35 | "items": {
36 | "0": {
37 | "title": "Behoud JSON-structuur",
38 | "description": "Intelligente herkenning en behoud van de structuur, inspringing en opmaak van het originele JSON-bestand"
39 | },
40 | "1": {
41 | "title": "Meertalige Ondersteuning",
42 | "description": "Ondersteunt vertaling tussen meerdere talen, waaronder Engels, Chinees, Japans en meer"
43 | },
44 | "2": {
45 | "title": "AI-Aangedreven Vertaling",
46 | "description": "Gebruikmakend van OpenAI GPT-modellen om de nauwkeurigheid van technische termen en natuurlijke uitdrukkingen te waarborgen"
47 | },
48 | "3": {
49 | "title": "Veilig & Betrouwbaar",
50 | "description": "API-sleutels worden alleen tijdelijk in de browser gebruikt en nooit opgeslagen of verzonden naar servers"
51 | }
52 | }
53 | },
54 | "uploadSection": {
55 | "title": "Upload JSON-bestand",
56 | "description": "Upload uw JSON-bestand voor vertaling",
57 | "dragText": "Sleep bestanden hierheen of klik om te uploaden",
58 | "supportText": "Ondersteunt .json-bestandsindelingen, tot 10MB",
59 | "apiKeyTip": "Tips: OpenAI API-sleutel is vereist voor vertaling",
60 | "errors": {
61 | "selectFile": "Selecteer alstublieft een bestand",
62 | "jsonExtension": "Upload alstublieft een bestand met een .json-extensie",
63 | "fileSize": "Bestandsgrootte mag niet groter zijn dan 10MB",
64 | "jsonFormat": "Ongeldig JSON-formaat, controleer alstublieft de bestandsinhoud",
65 | "emptyJson": "JSON-bestand mag niet leeg zijn"
66 | },
67 | "success": {
68 | "uploaded": "Bestand succesvol geüpload"
69 | },
70 | "apiKeyTitle": "OpenAI API-sleutel",
71 | "apiKeyPlaceholder": "sk-...",
72 | "errorTitle": "Fout",
73 | "successTitle": "Succes"
74 | },
75 | "translateSection": {
76 | "title": "Selecteer Doeltaal",
77 | "description": "Kies talen om in te vertalen"
78 | },
79 | "translatePanel": {
80 | "startTranslate": "Start Vertaling",
81 | "translating": "Bezig met vertalen...",
82 | "cancel": "Annuleren",
83 | "uploadFirst": "Upload eerst een bestand",
84 | "enterApiKey": "Voer alstublieft API-sleutel in",
85 | "foundUnfinished": "Onvoltooide vertaling gevonden",
86 | "continueTranslation": "Vervolg vertaling",
87 | "translationCancelled": "Vertaling geannuleerd",
88 | "invalidApiKey": "Ongeldig API-sleutel formaat",
89 | "errorTitle": "Fout",
90 | "successTitle": "Succes",
91 | "translationCompleted": "Vertaling voltooid!",
92 | "showMoreLanguages": "Toon meer talen",
93 | "hideMoreLanguages": "Verberg meer talen",
94 | "overallProgress": "Algemene voortgang",
95 | "completedSegments": "Voltooide segmenten",
96 | "translatingLanguage": "Vertalen",
97 | "allLanguagesTranslated": "Alle geselecteerde talen zijn vertaald",
98 | "pleaseUploadAndEnterKey": "Upload een bestand en voer de API-sleutel in",
99 | "tip": "Tip",
100 | "cancelled": "Geannuleerd",
101 | "translationFailed": "Vertaling mislukt",
102 | "pleaseSelectLanguage": "Selecteer alstublieft ten minste één doeltaal",
103 | "bytes": "Bytes",
104 | "kb": "KB",
105 | "mb": "MB",
106 | "gb": "GB",
107 | "apiKeyErrors": {
108 | "invalidFormat": "Ongeldig API-sleutelformaat",
109 | "invalidOrExpired": "Ongeldige of verlopen API-sleutel",
110 | "rateLimitReached": "API-aanroeplimiet bereikt",
111 | "validationFailed": "API-sleutelvalidatie mislukt"
112 | }
113 | },
114 | "jsonPreview": {
115 | "title": "Voorbeeld",
116 | "empty": "JSON-voorbeeld verschijnt hier",
117 | "copied": "Gekopieerd naar klembord",
118 | "originalJson": "Originele JSON",
119 | "translatedJson": "Vertaald JSON",
120 | "tips": "Tips: Ondersteunt realtime voorbeeld en opmaak van JSON-bestanden, en u kunt de inhoud direct kopiëren",
121 | "placeholder": {
122 | "upload": "Upload een JSON-bestand",
123 | "translation": "Vertaalresultaten worden hier weergegeven"
124 | },
125 | "actions": {
126 | "copy": "Kopiëren",
127 | "download": "Downloaden",
128 | "downloadAll": "Download alle vertalingen",
129 | "downloadFormat": "Download {lang} vertaling"
130 | },
131 | "toast": {
132 | "copySuccess": "Inhoud is gekopieerd naar het klembord",
133 | "copyError": "Kopiëren mislukt, kopieer handmatig",
134 | "downloadSuccess": "{lang} vertaalbestand is gedownload",
135 | "downloadAllSuccess": "Alle vertaalbestanden zijn gedownload",
136 | "downloadError": "Downloaden mislukt, probeer het opnieuw"
137 | },
138 | "languages": {
139 | "en": "Engels",
140 | "zh": "Chinees (vereenvoudigd)",
141 | "zh-TW": "Chinees (traditioneel)",
142 | "ja": "Japans",
143 | "ko": "Koreaans",
144 | "fr": "Frans",
145 | "de": "Duits",
146 | "es": "Spaans",
147 | "pt": "Portugees",
148 | "it": "Italiaans",
149 | "ru": "Russisch",
150 | "ar": "Arabisch",
151 | "hi": "Hindi",
152 | "bn": "Bengaals",
153 | "th": "Thais",
154 | "vi": "Vietnamees",
155 | "id": "Indonesisch",
156 | "ms": "Maleis",
157 | "tr": "Turks",
158 | "nl": "Nederlands",
159 | "pl": "Pools",
160 | "uk": "Oekraïens",
161 | "el": "Grieks",
162 | "he": "Hebreeuws",
163 | "sv": "Zweeds",
164 | "da": "Deens",
165 | "fi": "Fins",
166 | "cs": "Tsjechisch",
167 | "ro": "Roemeens",
168 | "hu": "Hongaars",
169 | "sk": "Slowaaks",
170 | "bg": "Bulgaars",
171 | "hr": "Kroatisch",
172 | "lt": "Litouws",
173 | "sl": "Sloveens",
174 | "et": "Ests",
175 | "lv": "Lets",
176 | "sr": "Servisch",
177 | "mt": "Maltees",
178 | "fa": "Perzisch",
179 | "ur": "Urdu",
180 | "ta": "Tamil",
181 | "te": "Telugu",
182 | "ml": "Malayalam",
183 | "kn": "Kannada",
184 | "mr": "Marathi",
185 | "gu": "Gujarati",
186 | "my": "Birmaans",
187 | "km": "Khmer",
188 | "lo": "Laos",
189 | "mn": "Mongools",
190 | "ka": "Georgisch",
191 | "hy": "Armeens",
192 | "az": "Azerbeidzjaans",
193 | "sw": "Swahili",
194 | "af": "Afrikaans",
195 | "am": "Amhaars"
196 | }
197 | },
198 | "faq": {
199 | "title": "Veelgestelde Vragen",
200 | "description": "Veelvoorkomende vragen over de JSON vertaaltool",
201 | "items": {
202 | "0": {
203 | "question": "Wat doet deze tool?",
204 | "answer": "Dit is een AI-gestuurde JSON internationalisatie vertaaltool die ontwikkelaars helpt om JSON-taalbestanden snel in meerdere talen te vertalen, terwijl de integriteit van de JSON-structuur behouden blijft."
205 | },
206 | "1": {
207 | "question": "Hoe gebruik je deze tool?",
208 | "answer": "1. Upload je JSON-bestand voor vertaling\n2. Selecteer doeltalen\n3. Voer je OpenAI API-sleutel in\n4. Klik op start vertaling\n5. Download de resultaten nadat de vertaling is voltooid"
209 | },
210 | "2": {
211 | "question": "Welke talen worden ondersteund?",
212 | "answer": "Momenteel worden meerdere talen ondersteund, waaronder Engels, Chinees (Vereenvoudigd), Chinees (Traditioneel), Japans, Koreaans, Frans, Duits, Spaans, Russisch, en meer."
213 | },
214 | "3": {
215 | "question": "Zal mijn API-sleutel worden opgeslagen?",
216 | "answer": "Nee. Uw API-sleutel wordt alleen tijdelijk in de browser gebruikt en zal niet worden opgeslagen of naar servers worden verzonden."
217 | },
218 | "4": {
219 | "question": "Hoe wordt de vertaalkwaliteit gegarandeerd?",
220 | "answer": "We gebruiken het GPT-model van OpenAI voor vertaling, wat de nauwkeurigheid van technische termen en natuurlijke taaluitdrukkingen waarborgt. We ondersteunen ook de functionaliteit van een aangepast woordenboek om de consistentie van specifieke terminologie te behouden."
221 | },
222 | "5": {
223 | "question": "Is er een limiet voor de bestandsgrootte?",
224 | "answer": "De grootte van een enkel JSON-bestand is beperkt tot 10MB. Voor grotere bestanden is het aan te raden om ze te splitsen en in batches te vertalen."
225 | }
226 | }
227 | },
228 | "cta": {
229 | "title": "Begin Nu met het Gebruik van de AI Vertaaltool",
230 | "description": "Vertaal snel en nauwkeurig uw JSON-taalbestanden in meerdere talen",
231 | "button": "Probeer Nu",
232 | "features": {
233 | "0": "Geen Registratie Vereist",
234 | "1": "Volledig Gratis",
235 | "2": "Realtime Vertaling"
236 | }
237 | },
238 | "footer": {
239 | "creator": "Gemaakt met ❤️ door Viggo",
240 | "twitter": "@viggo",
241 | "coffee": "Koop Me een Koffie",
242 | "github": "GitHub"
243 | },
244 | "metadata": {
245 | "title": "JSON Vertaler - AI-Aangedreven Meertalige Vertaaloplossing",
246 | "description": "Vertaal JSON-taalbestanden snel en nauwkeurig naar meerdere talen met AI-technologie. Ondersteunt JSON-structuur, variabele plaatshouders en HTML-tags.",
247 | "keywords": "JSON vertaling,AI vertaling,internationalisatie,i18n,meertalige vertaling,OpenAI"
248 | }
249 | }
--------------------------------------------------------------------------------