JSON অনুবাদক যা কাঠামো সংরক্ষণ করে | বিনামূল্যে i18n টুল
বিনামূল্যে JSON অনুবাদক যা আপনার কাঠামো অক্ষুণ্ণ রাখে। i18n ফাইল, API প্রতিক্রিয়া এবং নেস্টেড JSON-কে কী, ডেটা টাইপ এবং ফরম্যাটিংকে সংরক্ষণ করে অনুবাদ করুন। i18next এবং বহুভাষিক অ্যাপের জন্য সম্পূর্ণ উপযুক্ত।
JSON কাঠামো-সংরক্ষণকারী অনুবাদক
এই টুলটি JSON অবজেক্টের বিষয়বস্তু অনুবাদ করে যেখানে তার কাঠামো সংরক্ষিত থাকে। বাম প্যানেলে আপনার JSON পেস্ট করুন, লক্ষ্য ভাষা নির্বাচন করুন, এবং ডান পক্ষে অনুবাদিত আউটপুট দেখুন।
অনুবাদিত আউটপুট এখানে দেখা যাবে...
ব্যবহার পদ্ধতি
- সোর্স JSON ক্ষেত্রে আপনার JSON অবজেক্ট পেস্ট করুন।
- ড্রপডাউন মেনু থেকে আপনার লক্ষ্য ভাষা নির্বাচন করুন।
- অনুবাদিত JSON স্বয়ংক্রিয়ভাবে ডান প্যানেলে দেখা যাবে।
- অনুবাদিত JSON আপনার ক্লিপবোর্ডে কপি করতে কপি বাটনে ক্লিক করুন।
ডকুমেন্টেশন
JSON স্ট্রাকচার সংরক্ষণকারী অনুবাদক কী?
কখনো কি Google Translate-এ JSON কপি করে ভেঙে যাওয়া কী, অনুপস্থিত বন্ধনী, বা বিকৃত সিনট্যাক্স দেখেছেন? এটিই সঠিক সমস্যা যা এই টুলটি সমাধান করে।
JSON স্ট্রাকচার সংরক্ষণকারী অনুবাদক আপনার JSON অবজেক্টের মধ্যে স্ট্রিং মান গুলিকে অন্য ভাষায় রূপান্তর করে যেখানে সব কিছু অপরিবর্তিত থাকে—কী গুলি একই থাকে, সংখ্যা সংখ্যাই থাকে, বুলিয়ান বুলিয়ান থাকে, এবং আপনার নেস্টেড স্ট্রাকচার ভেঙে যায় না।
এটি নিয়মিত অনুবাদ টুল থেকে কী করে আলাদা: যখন আপনি একটি টিপিকাল i18n ফাইল অনুবাদ করেন যাতে 50+ নেস্টেড কী আছে, তখন আপনার স্ট্রাকচারটি একই থাকা দরকার যাতে আপনার কোড এখনও user.profile.displayName-কে স্পেনিশ, ফরাসি, বা জাপানি ভাষায় রেফার করতে পারে। সেই স্ট্রাকচার ভেঙে গেলে, আপনি ঘণ্টার পর ঘণ্টা ডিবাগ করবেন।
এই টুলটি স্বয়ংক্রিয়ভাবে পুনরাবৃত্তি ট্রাভার্সাল পরিচালনা করে, সনাক্ত করে যে কোন স্ট্রিংগুলি অনুবাদ প্রয়োজন এবং কোন উপাদান (যেমন API কী, কনফিগারেশন মান, বা সংখ্যাত্মক আইডি) যেমন আছে তেমনই থাকা উচিত।
JSON স্ট্রাকচার সংরক্ষণ কীভাবে কাজ করে
কেন স্ট্রাকচার সংরক্ষণ গুরুত্বপূর্ণ
আপনি JSON অনুবাদ করার সময়, আপনি সাধারণত এই পরিস্থিতিগুলির মধ্যে একটিতে থাকবেন:
- i18n ফাইলগুলি যেখানে আপনার অ্যাপ
en.jsonএবংfr.json-এ একই কী থাকতে আশা করে - API প্রতিক্রিয়া যেগুলিতে ক্লায়েন্ট পার্সিংয়ের জন্য সকল ভাষায় ধারাবাহিক স্ট্রাকচার প্রয়োজন
- কনফিগারেশন ফাইলগুলি যেখানে একটি কী নাম পরিবর্তন করলে আপনার সম্পূর্ণ অ্যাপ্লিকেশন ভেঙে যায়
- ডাটাবেস এক্সপোর্ট যেখানে সম্পর্কগুলি নির্দিষ্ট ফিল্ড নামগুলির উপর নির্ভর করে
চ্যালেঞ্জ: JSON শুধু টেক্সট নয়। এটি একটি স্ট্রাকচার যুক্ত ডেটা যার উপর আপনার কোড নির্ভর করে। "userName" কে "nombreUsuario" তে অনুবাদ করলে আপনার অ্যাপ undefined ত্রুটি দেখাবে।
অনুবাদ প্রক্রিয়া কীভাবে কাজ করে
এখানে পেছনের দিকে কী ঘটে:
১. পার্স এবং যাচাই টুলটি প্রথমে আপনার JSON সিনট্যাক্স যাচাই করে। যদি আপনার কোনো কমা বাদ পড়ে বা একটি অতিরিক্ত বন্ধনী থাকে, তাহলে অনুবাদ শুরু হওয়ার আগে আপনি একটি স্পষ্ট ত্রুটি বার্তা পাবেন—ক্ষতিগ্রস্থ আউটপুট থেকে আপনাকে রক্ষা করে।
২. পুনরাবৃত্তিমূলক ট্রাভার্সাল মূল থেকে শুরু করে, অ্যালগরিদম আপনার JSON ট্রিতে প্রতিটি নোডের মধ্যে হাঁটবে। প্রতিটি উপাদানের জন্য, এটি ডেটা টাইপ পরীক্ষা করবে:
- স্ট্রিং? অনুবাদের জন্য কিউতে রাখুন
- সংখ্যা, বুলিয়ান, নাল? সম্পূর্ণরূপে এড়িয়ে যান
- অবজেক্ট বা অ্যারে? এর মধ্যে পুনরাবৃত্ত করুন
৩. টাইপ-সুরক্ষিত অনুবাদ
শুধুমাত্র স্ট্রিং মানগুলি অনুবাদ API-তে পাঠানো হয়। আপনার "quantity": 42 42 হিসাবে থাকবে, "cuarenta y dos" নয়। আপনার "isActive": true true থাকবে, "verdadero" নয়।
৪. কী সংরক্ষণ
সমস্ত অবজেক্ট কী তাদের মূল ভাষায় থাকবে। এটি অত্যন্ত গুরুত্বপূর্ণ কারণ translations.header.welcomeMessage প্রতিটি ভাষার ফাইলে একই পাথ থাকতে হবে।
৫. স্ট্রাকচার পুনর্গঠন অনুবাদিত স্ট্রিংগুলি সঠিক একই অবস্থানে ঢুকে যায়, সমস্ত নেস্টিং স্তর, অ্যারে সূচক এবং অবজেক্ট পদানুক্রমগুলি বজায় রেখে।
একটি সাধারণ ত্রুটি: কিছু ডেভেলপার JSON.stringify() অবজেক্ট, সম্পূর্ণ স্ট্রিংটি অনুবাদ করতে চেষ্টা করে, তারপর এটিকে আবার পার্স করে। এটি ভাঙে কারণ অনুবাদক কী, বন্ধনী এবং সিনট্যাক্সকে পরিবর্তন করে। পুনরাবৃত্তিমূলক পদ্ধতিটি এটিকে সম্পূর্ণরূপে এড়িয়ে যায়।
JSON স্ট্রাকচার-সংরক্ষণকারী অনুবাদকের ব্যবহার
ধাপে ধাপে গাইড
১. আপনার JSON পেস্ট করুন আপনার JSON অবজেক্ট কপি করে বাম প্যানেলে পেস্ট করুন। টুলটি যেকোনো বৈধ JSON পরিচালনা করতে পারে—যেটি ৫টি কী সহ একটি সাধারণ অবজেক্ট হোক বা অ্যারে এবং একাধিক স্তরের গভীর নেস্টেড স্ট্রাকচার।
২. লক্ষ্য ভাষা নির্বাচন করুন ভাষা ড্রপডাউন থেকে বাছাই করুন: স্পেনিশ, ফরাসি, জার্মান, ইতালীয়, পর্তুগিজ, চীনা, জাপানি, কোরিয়ান, রাশিয়ান, এবং আরও অনেক। যদি আপনি একটি i18next প্রকল্পের জন্য অনুবাদ করছেন, তাহলে আপনার ফ্রেমওয়ার্ক যে ভাষা কোড আশা করে তার সাথে মিলিয়ে নিন।
৩. তৎক্ষণাৎ অনুবাদ পান অনুদিত আউটপুট স্বয়ংক্রিয়ভাবে ডান প্যানেলে দেখা যাবে। কোনো "অনুবাদ" বাটন প্রয়োজন নেই—যাচাই করা JSON এবং নির্বাচিত ভাষা মাত্রই প্রক্রিয়া করা হবে।
৪. কপি এবং ব্যবহার করুন অনুদিত JSON কপি করতে "কপি" বাটনে ক্লিক করুন। এটি সরাসরি আপনার প্রকল্পে পেস্ট করার জন্য প্রস্তুত—কোনো পরিষ্কার করার প্রয়োজন নেই।
৫. পরবর্তী অনুবাদের জন্য মুছে ফেলুন যখন আপনি আরেকটি ফাইল অনুবাদ করতে প্রস্তুত, "সব মুছে ফেলুন" চাপুন। টুলটি দ্রুত উভয় প্যানেল রিসেট করবে।
সাধারণ সমস্যা এবং সমাধান
"অবৈধ JSON ফরম্যাট" ত্রুটি আপনি এটি দেখবেন যখন কোনো সিনট্যাক্স সমস্যা থাকবে। সাধারণ কারণ:
- কী-মান জোড়ার মধ্যে কমা হারিয়ে যাওয়া
- শেষ আইটেমের পরে ট্রেলিং কমা (জাভাস্ক্রিপ্টে বৈধ, JSON-এ নয়)
- ডাবল কোটার পরিবর্তে সিঙ্গেল কোটা
- স্ট্রিংয়ে অপরিষ্কৃত বিশেষ অক্ষর
দ্রুত সমাধান: JSONLint এর মতো ভ্যালিডেটরে আপনার JSON চালান।
অনুবাদ নীরবে ব্যর্থ হয় যদি আউটপুট প্যানেল খালি থাকে:
- আপনার ইন্টারনেট সংযোগ যাচাই করুন—অনুবাদের জন্য API অ্যাক্সেস প্রয়োজন
- নিশ্চিত করুন যে আপনি লক্ষ্য ভাষা নির্বাচন করেছেন
- সমস্যাটি আলাদা করতে একটি ছোট JSON অংশ দিয়ে চেষ্টা করুন
অনুবাদে অপ্রত্যাশিত ফলাফল মেশিন অনুবাদ সাধারণ বাক্যের জন্য ভাল কাজ করে কিন্তু এর সাথে কঠিন হয়:
- কাছাকাছি প্রযুক্তিগত শব্দ বা ডোমেন-নির্দিষ্ট পদ
- ব্রান্ড নাম (যা প্রায়ই অনুবাদ ছাড়াই থাকা উচিত)
- প্লেসহোল্ডার সিনট্যাক্স যেমন
{{username}}বা%s
উৎপাদন অ্যাপ্লিকেশনের জন্য, এই টুলটিকে প্রাথমিক পাস হিসাবে ব্যবহার করুন, তারপর ডোমেন-নির্দিষ্ট বা গ্রাহক-সম্মুখী কন্টেন্ট নেটিভ বক্তার দ্বারা পর্যালোচনা করুন।
আরও ভাল ফলাফলের জন্য প্রো টিপস
কাছাকাছি প্রযুক্তিগত স্ট্রিংস আলাদা রাখুন যদি আপনার JSON ব্যবহারকারী-সম্মুখী পাঠ্য এবং কাছাকাছি প্রযুক্তিগত সনাক্তকারী মিশ্রিত করে, তাহলে তাদের আলাদা করার কথা বিবেচনা করুন। যেমন:
1{
2 "display": {"welcome": "Welcome back"},
3 "config": {"apiKey": "abc123", "endpoint": "https://api.example.com"}
4}
5config মানগুলি প্রক্রিয়া করা এড়াতে display অবজেক্ট আলাদাভাবে অনুবাদ করুন।
আপনার স্ট্রিংয়ে সন্দর্ভ ব্যবহার করুন "জমা দিন" সন্দর্ভ অনুসারে ভুল অনুবাদ হতে পারে। "ফর্ম জমা দিন" বা "পেমেন্ট জমা দিন" অনুবাদকদের (মানুষ বা মেশিন) আরও ভাল সন্দর্ভ দেয়।
বাস্তব ডেটা দিয়ে পরীক্ষা করুন ৫০০+ কী সহ আপনার সম্পূর্ণ i18n ফাইল অনুবাদ করার আগে, ছোট নমুনা দিয়ে পরীক্ষা করুন যাতে সমস্ত ডেটা টাইপ—স্ট্রিংস, সংখ্যা, নেস্টেড অবজেক্ট, অ্যারে অন্তর্ভুক্ত থাকে।
কোড উদাহরণ
জাভাস্ক্রিপ্ট দিয়ে JSON অনুবাদ
1// জাভাস্ক্রিপ্ট-এ অনুরূপ কার্যকারিতা বাস্তবায়নের উদাহরণ
2function translateJsonStructure(jsonObj, targetLanguage) {
3 // একটি স্ট্রিংকে অনুবাদ করার সাহায্যক ফাংশন
4 function translateString(str, lang) {
5 // বাস্তব বাস্তবায়নে, এটি একটি অনুবাদ API কল করবে
6 return `[${lang}] ${str}`;
7 }
8
9 // JSON ট্রাভার্স এবং অনুবাদ করার জন্য পুনরাবৃত্তি ফাংশন
10 function processNode(node) {
11 if (node === null) return null;
12
13 if (typeof node === 'string') {
14 return translateString(node, targetLanguage);
15 }
16
17 if (Array.isArray(node)) {
18 return node.map(item => processNode(item));
19 }
20
21 if (typeof node === 'object') {
22 const result = {};
23 for (const key in node) {
24 result[key] = processNode(node[key]);
25 }
26 return result;
27 }
28
29 // সংখ্যা, বুলিয়ান ইত্যাদি অপরিবর্তিত রাখুন
30 return node;
31 }
32
33 return processNode(jsonObj);
34}
35
36// ব্যবহারের উদাহরণ
37const sourceJson = {
38 "product": {
39 "name": "ওয়্যারলেস হেডফোন",
40 "description": "উচ্চ-মানের ওয়্যারলেস হেডফোন নয়েজ ক্যান্সেলেশন সহ",
41 "features": ["ব্লুটুথ ৫.০", "৪০-ঘণ্টা ব্যাটারি লাইফ", "ভাঁজ করা যায় এমন ডিজাইন"],
42 "price": 99.99,
43 "inStock": true
44 }
45};
46
47const translatedJson = translateJsonStructure(sourceJson, "es");
48console.log(JSON.stringify(translatedJson, null, 2));
49পাইথন দিয়ে JSON অনুবাদ
1import json
2
3def translate_json_structure(json_obj, target_language):
4 """
5 JSON অবজেক্টের স্ট্রিং মানগুলি অনুবাদ করে যেখানে কাঠামো সংরক্ষিত থাকে।
6
7 আর্গুমেন্ট:
8 json_obj: পার্স করা JSON অবজেক্ট
9 target_language: লক্ষ্য ভাষার কোড (যেমন 'es', 'fr')
10
11 রিটার্ন:
12 সংরক্ষিত কাঠামো সহ অনুবাদিত JSON অবজেক্ট
13 """
14 def translate_string(text, lang):
15 # বাস্তব বাস্তবায়নে, এটি একটি অনুবাদ API কল করবে
16 return f"[{lang}] {text}"
17
18 def process_node(node):
19 if node is None:
20 return None
21
22 if isinstance(node, str):
23 return translate_string(node, target_language)
24
25 if isinstance(node, list):
26 return [process_node(item) for item in node]
27
28 if isinstance(node, dict):
29 result = {}
30 for key, value in node.items():
31 result[key] = process_node(value)
32 return result
33
34 # সংখ্যা, বুলিয়ান ইত্যাদি অপরিবর্তিত রাখুন
35 return node
36
37 return process_node(json_obj)
38
39# ব্যবহারের উদাহরণ
40source_json = {
41 "user": {
42 "name": "জেন স্মিথ",
43 "bio": "সফটওয়্যার ডেভেলপার এবং ওপেন সোর্স অবদানকারী",
44 "skills": ["জাভাস্ক্রিপ্ট", "পাইথন", "রিয়েক্ট"],
45 "active": True,
46 "followers": 245
47 }
48}
49
50translated_json = translate_json_structure(source_json, "fr")
51print(json.dumps(translated_json, indent=2))
52PHP দিয়ে JSON অনুবাদ
1<?php
2/**
3 * মৌলিক কাঠামো সংরক্ষণ করে JSON কাঠামো অনুবাদ করে
4 *
5 * @param mixed $jsonObj পার্স করা JSON অবজেক্ট
6 * @param string $targetLanguage লক্ষ্য ভাষার কোড
7 * @return mixed অনুবাদিত JSON অবজেক্ট
8 */
9function translateJsonStructure($jsonObj, $targetLanguage) {
10 // একটি স্ট্রিংকে অনুবাদ করার সাহায্যক ফাংশন
11 function translateString($text, $lang) {
12 // বাস্তব বাস্তবায়নে, এটি একটি অনুবাদ API কল করবে
13 return "[$lang] $text";
14 }
15
16 // প্রত্যেক নোডটি প্রক্রিয়া করার জন্য পুনরাবৃত্তি ফাংশন
17 function processNode($node, $lang) {
18 if ($node === null) {
19 return null;
20 }
21
22 if (is_string($node)) {
23 return translateString($node, $lang);
24 }
25
26 if (is_array($node)) {
27 // পরীক্ষা করুন এটি একটি অ্যাসোসিয়েটিভ অ্যারে (অবজেক্ট) নাকি সূচিত অ্যারে
28 if (array_keys($node) !== range(0, count($node) - 1)) {
29 // অ্যাসোসিয়েটিভ অ্যারে (অবজেক্ট)
30 $result = [];
31 foreach ($node as $key => $value) {
32 $result[$key] = processNode($value, $lang);
33 }
34 return $result;
35 } else {
36 // সূচিত অ্যারে
37 return array_map(function($item) use ($lang) {
38 return processNode($item, $lang);
39 }, $node);
40 }
41 }
42
43 // সংখ্যা, বুলিয়ান ইত্যাদি অপরিবর্তিত রাখুন
44 return $node;
45 }
46
47 return processNode($jsonObj, $targetLanguage);
48}
49
50// ব্যবহারের উদাহরণ
51$sourceJson = [
52 "company" => [
53 "name" => "গ্লোবাল টেক সমাধান",
54 "description" => "উদ্ভাবনী সফটওয়্যার ডেভেলপমেন্ট কোম্পানি",
55 "founded" => 2010,
56 "services" => ["ওয়েব ডেভেলপমেন্ট", "মোবাইল অ্যাপস", "ক্লাউড সমাধান"],
57 "active" => true
58 ]
59];
60
61$translatedJson = translateJsonStructure($sourceJson, "de");
62echo json_encode($translatedJson, JSON_PRETTY_PRINT);
63?>
64বাস্তব-পৃথিবীর ব্যবহারের ক্ষেত্রসমূহ
ওয়েব অ্যাপ্লিকেশন i18n ফাইলসমূহ
Next.js, React, বা Vue এর মতো আধুনিক ফ্রেমওয়ার্কগুলি সাধারণত অনুবাদগুলি JSON ফরম্যাটে সংরক্ষণ করে। আপনার অ্যাপে একটি নতুন ভাষা যোগ করার সময়, আপনার সামনে একটি পছন্দ রয়েছে: প্রতিটি কী মেনুয়ালি কপি-পেস্ট করে অনুবাদ করা (ত্রুটি-সম্ভাবনাপূর্ণ), অথবা এই টুলটি ব্যবহার করে কয়েক মিনিটের মধ্যে প্রাথমিক খসড়া তৈরি করা।
একটি বাস্তব পরিস্থিতি: আপনার অ্যাপে en.json রয়েছে যাতে 200+ অনুবাদ কী রয়েছে বিভিন্ন নেস্টেড বিভাগে—নেভিগেশন, ফর্ম, ত্রুটি বার্তা, টুলটিপ। আপনার পরবর্তী স্প্রিন্টে ফরাসি এবং জার্মান সংস্করণ প্রয়োজন।
ইনপুট (en.json):
1{
2 "common": {
3 "welcome": "Welcome to our application",
4 "login": "Log in",
5 "signup": "Sign up",
6 "errorMessages": {
7 "required": "This field is required",
8 "invalidEmail": "Please enter a valid email address"
9 }
10 }
11}
12ফরাসীতে অনুবাদ করুন, fr.json পান সমান কাঠামোর সাথে। আপনার কোড এখনও t('common.errorMessages.required') রেফারেন্স করবে কোনো পরিবর্তন ছাড়া।
আমি যা ভাল বলে মনে করি: এই টুলের সাহায্যে অনুবাদ তৈরি করুন, তারপর বহুভাষিক টিম সদস্যকে তাকিক শব্দ এবং বাটন লেবেলগুলি পরীক্ষা করতে দিন। এটি সেই ক্ষেত্রগুলি ধরবে যেখানে "Submit" এর অনুবাদ "Submit form" বা "Submit payment" এর জন্য আলাদা হতে পারে।
API প্রতিক্রিয়া স্থানীয়করণ
বহু দেশে পরিবেশিত API তৈরি করছেন? আপনার ভাষাগুলি জুড়ে সুসংগত প্রতিক্রিয়া কাঠামো প্রয়োজন। একটি বিজ্ঞপ্তি API সম্ভবত এই রকম ফেরত দিতে পারে:
1{
2 "status": "success",
3 "notification": {
4 "title": "Order Shipped",
5 "message": "Your order #12345 has been shipped",
6 "priority": 1,
7 "timestamp": 1678901234
8 }
9}
10আপনার মোবাইল অ্যাপ notification.title এবং notification.message পার্স করে। যদি ফরাসী অনুবাদ কী কাঠামোটি পরিবর্তন করে, তাহলে অ্যাপটি ফরাসী ব্যবহারকারীদের জন্য ভেঙে যাবে।
এই টুলটি নিশ্চিত করে যে notification.title প্রতিটি ভাষায় notification.title থাকবে, শুধুমাত্র স্ট্রিং মানগুলি অনুবাদিত। আপনার ক্লায়েন্ট কোড সমস্ত লোকেলে সমানভাবে কাজ করবে।
একটি সীমাবদ্ধতা লক্ষ্য করতে হবে: স্বয়ংক্রিয় অনুবাদ আপনার ডোমেন বুঝতে পারে না। ই-কমার্স প্রসঙ্গে "Shipped" অন্য লজিস্টিক্স বা সামুদ্রিক প্রসঙ্গে অনুবাদ ভিন্ন হতে পারে। গ্রাহক-সম্মুখী API-এর জন্য, প্রয়োগ করার আগে আউটপুট পর্যালোচনা করুন।
হেডলেস CMS কন্টেন্ট অনুবাদ
Contentful বা Strapi এর মতো হেডলেস CMS প্ল্যাটফর্মগুলি প্রায়ই কন্টেন্ট JSON হিসাবে রপ্তানি করে। যখন আপনার 50টি ব্লগ পোস্ট থাকে স্ট্রাকচার্ড মেটাডেটা (লেখক, ট্যাগ, ফিচার্ড ইমেজ URL, প্রকাশের তারিখ) সহ, আপনা মেটাডেটাকে অক্ষত রেখে শুধুমাত্র বডি এবং শিরোনাম অনুবাদ করতে চান।
একটি সাধারণ রপ্তানিতে কন্টেন্ট স্ট্রিংস এবং কনফিগারেশন অন্তর্ভুক্ত থাকে:
- কন্টেন্ট: নিবন্ধ বডি, হেডলাইন, সংক্ষিপ্ত বিবরণ
- কাঠামো: লেখক আইডি, ইমেজ পাথ, বিভাগ স্লাগ, টাইমস্ট্যাম্প
ম্যানুয়াল অনুবাদ ঝুঁকিপূর্ণ, যেমন technology কে tecnología-তে পরিবর্তন করলে আপনার রাউটিং ভেঙে যাবে। কাঠামো-সংরক্ষণকারী অনুবাদ শুধুমাত্র কন্টেন্ট ফিল্ডগুলি হ্যান্ডল করে।
বহু-অঞ্চল প্রয়োগের জন্য কনফিগারেশন ফাইলসমূহ
বিভিন্ন অঞ্চলে প্রয়োগ করছেন? আপনার কনফিগ ফাইলগুলিতে লোকালাইজড স্ট্রিংস প্রয়োজন হতে পারে যেখানে এন্ডপয়েন্ট, প্রমাণপত্র এবং বৈশিষ্ট্য ফ্ল্যাগগুলি সমূহ অপরিবর্তিত থাকবে:
1{
2 "region": "eu-west",
3 "welcomeMessage": "Welcome to our service",
4 "endpoint": "https://api.eu.example.com",
5 "retryAttempts": 3,
6 "features": {"darkMode": true}
7}
8welcomeMessage-কে জার্মানে অনুবাদ করুন, endpoint, retryAttempts, এবং features-কে অক্ষত রেখে।
অনুবাদ পদ্ধতিগুলোর তুলনা
| পদ্ধতি | কোন ক্ষেত্রে সেরা | গতি | সঠিকতা | কাঠামো সুরক্ষা | খরচ |
|---|---|---|---|---|---|
| এই টুল | দ্রুত i18n ফাইল তৈরি, প্রোটোটাইপ, অভ্যন্তরীণ টুলস | তাৎক্ষণিক | সাধারণ কন্টেন্টের জন্য ভাল | ১০০% সংরক্ষিত | বিনামূল্যে |
| গুগল অনুবাদ (কপি/পেস্ট) | একক বাক্যাংশ, অ-প্রযুক্তিগত পাঠ | তাৎক্ষণিক | পরিবর্তনশীল | JSON ভেঙে যায় | বিনামূল্যে |
| পেশাদার অনুবাদ | গ্রাহক-সম্মুখী কন্টেন্ট, আইনি নথি, মার্কেটিং | দিন | চমৎকার | ম্যানুয়াল কাজ প্রয়োজন | $০.০৮-০.১৫/শব্দ |
| অনুবাদ ব্যবস্থাপনা সিস্টেম (Lokalise, Phrase) | এন্টারপ্রাইজ অ্যাপ, সহযোগিতা ওয়ার্কফ্লো | ঘন্টা-দিন | পর্যালোচনাসহ চমৎকার | বিল্ট-ইন JSON সমর্থন | $$$+ |
কখন এই টুলটি ব্যবহার করবেন: প্রাথমিক পর্যায়ের প্রকল্প, পর্যালোচনার জন্য খসড়া তৈরি, অভ্যন্তরীণ অ্যাপ্লিকেশন যেখানে পরিপূর্ণ অনুবাদ গুরুত্বপূর্ণ নয়।
কখন পেশাদার অনুবাদে বিনিয়োগ করবেন: গ্রাহক-সম্মুখী কন্টেন্ট, আইনি/সম্মতি পাঠ, ব্রান্ড বার্তা, অথবা যখন সাংস্কৃতিক সূক্ষ্মতা গতির চেয়ে বেশি গুরুত্বপূর্ণ।
প্রযুক্তিগত বিবেচনা এবং সীমান্ত ক্ষেত্রসমূহ
কী অনুবাদ হয় (এবং কী হয় না)
টুলটি অনুবাদ করার জন্য টাইপ চেকিংয়ের ব্যবহার করে:
✅ অনুবাদিত:
- স্ট্রিং মান:
"Welcome"→"স্বাগতম" - অ্যারে-তে স্ট্রিংসমূহ:
["Hello", "World"]→["হ্যালো", "বিশ্ব"] - যেকোনো নেস্টিংয়ের স্তরের স্ট্রিংস
❌ অনুবাদিত হয় নি:
- সংখ্যা:
42,3.14,-10অপরিবর্তিত থাকে - বুলিয়ান:
trueএবংfalseযেমন আছে তেমনই থাকে - নাল:
nullঅপরিবর্তিত থাকে - অবজেক্ট কী:
"userName"কী হিসাবে"userName"থেকে যায় - খালি স্ট্রিংস:
""যেমন আছে তেমনই থাকে
বিশেষ অক্ষরগুলি হ্যান্ডেল করা
ইউনিকোড এবং ইমোজি টুলটি UTF-8 সঠিকভাবে হ্যান্ডেল করে, তাই ইমোজি এবং নন-ল্যাটিন অক্ষরগুলি সুন্দরভাবে কাজ করে:
1{"greeting": "👋 Hello"}
2বাংলায় অনুবাদ হয়:
1{"greeting": "👋 হ্যালো"}
2এস্কেপ সিকোয়েন্স
JSON এস্কেপ সিকোয়েন্সগুলি (\n, \t, \") সংরক্ষিত থাকে:
1{"message": "Line 1\nLine 2"}
2\n অনুবাদে অপরিবর্তিত থাকে।
প্লেসহোল্ডার
এটি একটি সম্ভাব্য সমস্যা: যদি আপনার স্ট্রিংগুলিতে {username} বা %s এর মতো প্লেসহোল্ডার থাকে, তাহলে সেগুলি অনুবাদিত হতে পারে বা পুনর্বিন্যাস্ত হতে পারে। আরবি বা হিব্রু মতো ডানা থেকে বাম (RTL) টেক্সটের ভাষাগুলিতে, প্লেসহোল্ডারের অবস্থান পরিবর্তিত হতে পারে। এগুলিকে সাবধানে পর্যালোচনা করুন।
বড় JSON পারফরম্যান্স
ওয়েব-ভিত্তিক টুলটি সাধারণ i18n ফাইলগুলি (৫০০KB-এর নিচে) বিনা সমস্যায় হ্যান্ডেল করে। বড় ডেটাসেটের জন্য:
- ৫০০KB - ২MB: কাজ করে কিন্তু ব্রাউজারে ধীর হতে পারে
- ২MB-এর উপরে: লজিকাল অংশগুলিতে বিভাজন করার কথা বিবেচনা করুন (যেমন, প্রতি বৈশিষ্ট্য বা বিভাগ অনুযায়ী আলাদা ফাইল)
ব্রাউজার মেমোরি হল সীমাবদ্ধতার কারণ, অ্যালগরিদম নয়।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
এটি Google Translate-এ JSON পেস্ট করা থেকে কীভাবে আলাদা?
Google Translate JSON-কে সাধারণ পাঠ্য হিসাবে বিবেচনা করে, যার অর্থ এটি সবকিছুর অনুবাদ করার চেষ্টা করে—কী, সিনট্যাক্স অক্ষর এবং সংখ্যাগত মানগুলিও। আপনি পাবেন আউটপুট যেমন:
1{ "nom d'utilisateur": "Jean Dupont", "âge": "vingt-cinq" }
2লক্ষ্য করুন কীভাবে "username" হয়ে গেছে "nom d'utilisateur" এবং সংখ্যা 25 হয়ে গেছে স্ট্রিং "vingt-cinq"? আপনার কোড তৎক্ষণাৎ ভেঙে যায়।
এই টুলটি JSON কাঠামো বুঝতে পারে এবং শুধুমাত্র স্ট্রিং মানগুলি অনুবাদ করে, কী এবং অন্যান্য ডেটা টাইপগুলিকে অপরিবর্তিত রেখে।
কি এটি গভীরভাবে নেস্টেড JSON-কে অ্যারে সহ হ্যান্ডেল করবে?
হ্যাঁ। পুনরাবৃত্তি অ্যালগরিদম নেস্টিংয়ের প্রতিটি স্তর প্রক্রিয়া করে:
1{
2 "users": [
3 {"name": "John", "roles": ["admin", "editor"]},
4 {"name": "Jane", "roles": ["viewer"]}
5 ]
6}
7এটি সমস্ত স্ট্রিং মানগুলি ("John", "Jane", "admin", "editor", "viewer") অনুবাদ করে যখন সঠিক কাঠামো বজায় রাখে।
যদি আমার JSON-এ ইংরেজি এবং ইতিমধ্যে অনুবাদিত সামগ্রী থাকে?
টুলটি এটি খুঁজে পাওয়া সমস্ত স্ট্রিংকে অনুবাদ করবে, যদিও কিছু ইতিমধ্যে লক্ষ্য ভাষায় থাকে। যদি আপনি বিদ্যমান অনুবাদ ফাইলে নতুন কী যোগ করছেন, তাহলে শুধুমাত্র নতুন অংশটি পৃথকভাবে অনুবাদ করুন, তারপর ফলাফলগুলি একত্রিত করুন।
কি আমি এটি i18next বা react-intl ফাইলগুলির জন্য ব্যবহার করতে পারি?
অবশ্যই। আউটপুট কাঠামো এই ফ্রেমওয়ার্কগুলি যা প্রত্যাশা করে। একটি i18next JSON ফাইল যেমন:
1{"translation": {"welcome": "Hello", "goodbye": "Goodbye"}}
2হয়ে যাবে:
1{"translation": {"welcome": "Hola", "goodbye": "Adiós"}}
2আপনার t('translation.welcome') কল অপরিবর্তিত থাকবে।
স্বয়ংক্রিয় অনুবাদ কতটা সঠিক তাকনিকি সামগ্রীর জন্য?
এটি সন্দর্ভের উপর নির্ভর করে:
- সাধারণ UI পাঠ্য: "Save", "Cancel", "Submit" → সাধারণত সঠিক
- তাকনিকি শব্দ: "webhook", "OAuth2", "idempotent" → ভুল অনুবাদ হতে পারে বা অপরিবর্তিত থাকতে পারে
- ডোমেন-নির্দিষ্ট শব্দ: "patient record" (চিকিৎসা) বনাম "patient" (ধৈর্য) → সন্দর্ভ প্রায়শই মিস করা হয়
উৎপাদন অ্যাপের জন্য, এটিকে প্রথম পাস হিসাবে ব্যবহার করুন, তারপর কাউকে তাকনিকি এবং ডোমেন-নির্দিষ্ট শব্দগুলি পর্যালোচনা করতে দিন।
চীনা, আরবি, রাশিয়ান ভাষাগুলির সঙ্গে বিভিন্ন অক্ষর সেটের ব্যাপারে কী?
টুলটি ইউনিকোড সঠিকভাবে হ্যান্ডেল করে, তাই সমস্ত অক্ষর সেট কাজ করে। একটি জিনিস লক্ষ্য করতে হবে: আরবি এবং হিব্রু ডানদিক থেকে বাম দিকে (RTL), যা অনুবাদিত স্ট্রিংগুলিতে প্লেসহোল্ডারগুলির প্রদর্শনকে প্রভাবিত করতে পারে। JSON কাঠামো সঠিক থাকবে, কিন্তু পাঠযোগ্যতার জন্য অনুবাদিত পাঠ্যটি পর্যালোচনা করুন।
কি আমার ফরম্যাটিংকে (ইন্ডেন্টেশন, লাইন ব্রেক) সংরক্ষিত রাখবে?
আউটপুটটি বৈধ JSON, কিন্তু ফরম্যাটিং (হোয়াইটস্পেস, ইন্ডেন্টেশন) আপনার ইনপুট থেকে আলাদা হতে পারে। যদি আপনার নির্দিষ্ট ফরম্যাটিং প্রয়োজন হয়, তাহলে আপনার পছন্দসই সেটিংস সহ JSON ফরম্যাটারের মাধ্যমে আউটপুটটি চালান।
কি আমি URL বা API কী মতো কনফিগারেশন মানগুলি অনুবাদ করতে পারি?
টুলটি সমস্ত স্ট্রিংকে অনুবাদ করে, URL এবং কনফিগ মানগুলিও। এটি রোধ করতে:
- আপনার JSON-কে ব্যবহারকারী-সম্মুখী সামগ্রী এবং কনফিগারেশনে বিভাজন করুন
- শুধুমাত্র সামগ্রী অংশটি অনুবাদ করুন
- কনফিগ অনুবাদ না করে রাখুন
আরও ভাল, আপনার ফাইলগুলিকে শুরু থেকেই অনুবাদযোগ্য সামগ্রী এবং তাকনিকি মানগুলি আলাদা করে গঠন করুন।
কি এটি বিনামূল্যে? কি রেট সীমা আছে?
ওয়েব-ভিত্তিক টুলটি সাধারণ ব্যবহারের জন্য বিনামূল্যে। খুব বেশি পরিমাণ অনুবাদ (প্রতি মিনিটে শত শত ফাইল) অন্তর্নিহিত অনুবাদ পরিষেবায় রেট সীমা হিট করতে পারে। বেশিরভাগ ডেভেলপমেন্ট ওয়ার্কফ্লোর জন্য, আপনি সীমা পাবেন না।
রেফারেন্স এবং আরও পড়ার জন্য
JSON স্ট্রাকচার, আন্তর্জাতিকীকরণ মান এবং সর্বোত্তম অনুশীলন সম্পর্কে গভীর বোঝার জন্য:
-
ECMA-404: JSON ডেটা আদান-প্রদান সিনট্যাক্স - Ecma International-এর দ্বারা JSON-এর অফিসিয়াল বিনির্দেশ যা মান ফরম্যাটটি সংজ্ঞায়িত করে: ecma-international.org/publications-and-standards/standards/ecma-404/
-
MDN ওয়েব ডকস: JSON-এর সাথে কাজ করা - JSON পার্সিং, স্ট্রিংয়ের মধ্যে রূপান্তর এবং স্ট্রাকচার সম্পর্কে Mozilla-এর সম্পূর্ণ গাইড: developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON
-
W3C আন্তর্জাতিকীকরণ (i18n) কার্যকলাপ - ওয়েব আন্তর্জাতিকীকরণের জন্য মান এবং সর্বোত্তম অনুশীলন: w3.org/International/
-
RFC 8259: JSON ডেটা আদান-প্রদান ফরম্যাট - JSON সিনট্যাক্স এবং সিম্যান্টিক্সের জন্য IETF বিনির্দেশ: datatracker.ietf.org/doc/html/rfc8259
আপনার JSON ফাইলগুলি অনুবাদ করা শুরু করুন
আপনার বহুভাষিক অ্যাপ্লিকেশনের জন্য অনুবাদ ফাইল দ্রুত তৈরি করতে চান? আপনার JSON পেস্ট করুন, লক্ষ্য ভাষা নির্বাচন করুন, এবং তাৎক্ষণিকভাবে কাঠামো সংরক্ষণকারী অনুবাদ পান। i18next, react-intl, vue-i18n এবং যেকোনো ফ্রেমওয়ার্কের সাথে কাজ করে যা ভাষাগুলি জুড়ে সাংগঠনিক JSON কাঠামো প্রত্যাশা করে।
অনুবাদ এখন শুরু করুন: