অনুবাদ এডিটর আপনার সব ডিফল্ট ও অনূদিত স্ট্রিং রিসোর্সের একটি কনসোলিডেট করা ও এডিট করার উপযুক্ত ভিউ প্রদান করে।
বিভিন্ন ভাষার জন্য আপনার অ্যাপ অনুবাদ করার ভূমিকা জানতে, বিভিন্ন ভাষা ও সংস্কৃতির জন্য সহায়তা পড়ুন।
স্ট্রিং রিসোর্স
কোনও প্রোজেক্টের স্ট্রিং রিসোর্স strings.xml ফাইলে থাকে। আপনার
প্রজেক্টে একটি ডিফল্ট strings.xml ফাইল আছে যাতে আপনার অ্যাপের ডিফল্ট ভাষায় স্ট্রিং রিসোর্স
থাকে। এই ভাষাটি হল সেই ভাষা যা আপনার অ্যাপের বেশিরভাগ ব্যবহারকারী
বলেন বলে আপনি আশা করেন। এছাড়াও, আপনি অনুবাদ করা strings.xml ফাইল রাখতে পারেন যাতে
অন্যান্য ভাষার জন্য স্ট্রিং রিসোর্স থাকে যা আপনি চান যে আপনার অ্যাপে থাকুক।
আপনার ডিফল্ট strings.xml ফাইল সম্পূর্ণ হয়ে গেলে, আপনি নিজেই অনুবাদ যোগ করতে পারেন অথবা
অনুবাদ করার জন্য কোনও পেশাদার পরিষেবাকে পেমেন্ট করতে পারেন।
যাই হোক না কেন, আপনাকে সাহায্য করার জন্য Android Studio ফিচারের সুবিধা নেওয়া উচিত
লোকালাইজ করা যায় এমন টেক্সট ম্যানেজ ও টেস্ট করুন। পেশাদার অনুবাদ পরিষেবা সম্পর্কে
তথ্য পেতে, অনুবাদ পরিষেবা দেখুন।
অনুবাদ এডিটর খুলুন
আপনি Android Studio-তে নিম্নলিখিত জায়গা থেকে অনুবাদ এডিটর অ্যাক্সেস করতে পারবেন।
Android ভিউ থেকে খুলুন
- বাঁদিকে প্রোজেক্ট > Android প্যানেলে, ModuleName > res > values বেছে নিন।
strings.xml ফাইলের উপর মাউস রেখে ডানদিকের বোতামে ক্লিক করুন এবং অনুবাদ এডিটর খুলুন বিকল্প বেছে নিন।
অনুবাদ এডিটর
strings.xmlফাইল থেকে কী ও ভ্যালুর পেয়ার দেখায়।
ছবি ১-এ অনুবাদ করার আগে অ্যাপের জন্য Translations Editor-এ ডিফল্ট অ্যাপ টেক্সট (এই ক্ষেত্রে, ইংরেজি) দেখানো হয়েছে। অনুবাদ করা strings.xml ফাইলের কন্টেন্ট
অনুবাদ করা যাবে না কলামের ডানদিকে প্রতিটি ভাষার জন্য একটি করে কলামে দেখানো হবে, যেমনটি চিত্র ২-এ দেখানো হয়েছে।
strings.xml-এর মধ্যে থেকে খুলুন
আপনার যেকোনও strings.xml
ফাইল থেকে Translations Editor অ্যাক্সেস করতে পারবেন।
- বাঁদিকে প্রোজেক্ট > Android প্যানেলে, ModuleName > res > values বেছে নিন।
- এডিট করার জন্য strings.xml-এ ডবল ক্লিক করে খুলুন।
- strings.xml-এ, উপরের ডানদিকের কোণে এডিটর খুলুন লিঙ্কে ক্লিক করুন।
অনুবাদ করা যাবে না এমন সারি কনফিগার করুন
অনুবাদ এডিটর-এ, আপনি অনুবাদযোগ্য নয় বিকল্প বেছে নিয়ে জানাতে পারেন যে আপনি এই সারির টেক্সট অনুবাদ করতে চান না। আপনি যে টেক্সট অনুবাদ করতে চান না, তা প্রোডাক্ট-নির্দিষ্ট টেক্সট হতে পারে, যেমন ব্যবসার নাম এবং ট্রেডমার্ক অথবা টেকনিক্যাল শব্দ যার কোনও অনুবাদ হয় না।
আপনি অনুবাদ করা যাবে না বিকল্প বেছে নিলে, ডিফল্ট strings.xml ফাইলের সংশ্লিষ্ট লাইনে translatable="false" যোগ করা হয়। নিচের উদাহরণে,
উপরের লাইনে EasyApp অনুবাদ করা হয়নি কারণ এটি প্রোডাক্টের নাম।
<resources>
<string name="app_name" translatable="false">EasyApp</string>
<string name="action_settings">Settings</string>
<string name="easy_app">I am a Simple App!</string>
<string name="next_page">Next Page</string>
<string name="second_page_message">I am the Second Page!</string>
<string name="title_activity_second">SecondActivity</string>
</resources>
ভাষা যোগ করা ও মুছে ফেলা
অনুবাদ এডিটর BCP 47-কে সমর্থন করে এবং টার্গেট করা লোকালাইজেশনের জন্য লোকেল এবং অঞ্চল (দেশ) কোডগুলিকে একটি একক নির্বাচনে একত্রিত করে। লোকেল শুধু ভাষা নয়, আরও অনেক কিছু নির্ধারণ করে। লোকেলে তারিখ ও সময়, মুদ্রা ও দশমিকের মতো বিষয়ের জন্য দেশ-নির্ভর ফর্ম্যাটিং অন্তর্ভুক্ত থাকে।
কোনও ভাষা যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- অনুবাদ এডিটর-এ, গ্লোব আইকনে
ক্লিক করুন। ড্রপ-ডাউন তালিকা থেকে, আপনি যে ভাষা যোগ করতে চান সেটি বেছে নিন।
নতুন ভাষাটি অনুবাদ এডিটর-এ দেখা যাবে এবং
strings.xmlফাইল সহ একটি values-* ফোল্ডার প্রোজেক্টে যোগ করা হবে। যেমন, স্প্যানিশের জন্য values-es।
কোনও ভাষা মুছে দিতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
আপনি অনুবাদ এডিটর থেকে কোনও ভাষা মুছে দিতে পারেন। এর জন্য কলামের প্রতিটি ভ্যালু মুছে দিতে হবে (টেক্সট এডিট করুন, যোগ করুন এবং মুছে দিন দেখুন) অথবা আপনি নিচে উল্লেখ করা পদ্ধতি অনুসরণ করে সেই ভাষার প্রোজেক্ট ফোল্ডার মুছে দিতে পারেন:
- বাঁদিকে প্রোজেক্ট > Android প্যানেলে, ModuleName > res বেছে নিন।
- আপনি যে ভাষার জন্য values-* ফোল্ডার মুছতে চান সেটির উপরে মাউস নিয়ে গিয়ে ডানদিকের বোতামে ক্লিক করুন। যেমন, values-hi হিন্দির জন্য।
- তালিকা থেকে, ফোল্ডার এবং তার strings.xml ফাইল মুছতে, মুছুন বিকল্প বেছে নিন।
টেক্সট এডিট, যোগ করা এবং মুছে ফেলা
আপনি সরাসরি strings.xml ফাইল থেকে অথবা অনুবাদ এডিটর-এর মাধ্যমে টেক্সট সেটিংস অপারেট করতে পারবেন। এই বিভাগে Translations
Editor-এর পদ্ধতি বর্ণনা করা হয়েছে। অনুবাদ এডিটর-এ, আপনি তালিকা ভিউ বা অনুবাদ এডিটর-এর নিচে অনুবাদ ফিল্ডের মাধ্যমে টেক্সট এডিট, যোগ বা মুছে ফেলতে পারবেন।
লিস্ট ভিউ
টেক্সট এডিট বা যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনি যে সেলে টেক্সট এডিট করতে বা যোগ করতে চান সেটিতে ডবল ক্লিক করুন।
- কীবোর্ড কপি-পেস্ট করুন অথবা আপনার কীবোর্ডে ডায়াক্রিটিক চিহ্ন থাকলে, সরাসরি তালিকা ভিউতে টাইপ করুন।
- ট্যাব প্রেস করুন অথবা কার্সরটি ফিল্ডের বাইরে নিয়ে যান।
টেক্সট মুছে ফেলতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনি যে সেল মুছতে চান সেটিতে ডবল-ক্লিক করুন।
- তালিকা ভিউতে, টেক্সট বেছে নিয়ে মুছুন বিকল্প প্রেস করুন।
- ট্যাব প্রেস করুন অথবা কার্সরটি ফিল্ডের বাইরে নিয়ে যান।
অনুবাদ ফিল্ড
টেক্সট এডিট বা যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- তালিকা ভিউতে, আপনি যেখানে টেক্সট এডিট করতে বা যোগ করতে চান সেই সেলে একবার ক্লিক করুন।
- অনুবাদ ফিল্ডে, কীবোর্ড কপি-পেস্ট করুন, অথবা, আপনার কাছে এমন কীবোর্ড থাকলে যা ডায়াক্রিটিক চিহ্ন সাপোর্ট করে, তাহলে সরাসরি অনুবাদ ফিল্ডে টাইপ করুন।
- ট্যাব প্রেস করুন অথবা কার্সরটি ফিল্ডের বাইরে নিয়ে যান।
টেক্সট মুছে ফেলতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনি যে সেলটি মুছতে চান সেটিতে একবার ক্লিক করুন।
- অনুবাদ ফিল্ডে, টেক্সট বেছে নিয়ে মুছুন বিকল্পে প্রেস করুন।
'কী' যোগ করা ও মোছা
অনুবাদ এডিটরে, কী কলামে আপনার strings.xml ফাইলের প্রতিটি ডেটা আইটেমের জন্য অনন্য শনাক্তকারী তালিকাভুক্ত করা থাকে। আপনি অনুবাদ এডিটরের মাধ্যমে
কী যোগ করতে ও মুছে দিতে পারবেন। আপনি কোনও কী মুছে দিলে, অনুবাদ এডিটর সেটি এবং
তার সাথে সম্পর্কিত সব অনুবাদ মুছে দেয়। কোনও কী মুছে ফেলার জন্য Translations Editor, Safe Delete রিফ্যাক্টরিং ব্যবহার করে, যাতে আপনি জানতে পারেন যে কী টেক্সট অন্য কোথাও ব্যবহার করা হয়েছে কিনা
এবং কী মুছে ফেলার আগে প্রয়োজনীয় অ্যাডজাস্টমেন্ট করার সুযোগ পান। নিরাপদে মুছে ফেলার রিফ্যাক্টরিং নিশ্চিত করে যে আপনি কী মুছে ফেলার পরেও আপনার কোড কম্পাইল করে।
কী যোগ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- অনুবাদ এডিটর-এ, কী যোগ করুন
বিকল্পে ক্লিক করুন। ডায়ালগে, একটি কী-এর নাম, ডিফল্ট ভ্যালু এবং ডিফল্ট strings.xml ফাইলের লোকেশন লিখুন।
ছবি ৩. 'কী' যোগ করুন
কোনও 'কী' মুছে দিতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- অনুবাদ এডিটরে, আপনি যে কী মুছতে চান সেটি বেছে নিন।
- 'কী' সরান
বিকল্পে ক্লিক করুন। মুছুন ডায়ালগে, আপনি নিরাপদে মুছতে চান কিনা এবং কমেন্ট ও স্ট্রিংয়ে সার্চ করতে চান কিনা তা ঠিক করুন এবং ঠিক আছে বিকল্পে ক্লিক করুন।
ছবি ৪. ডায়ালগ মুছুন মুছে ফেলা কী-এর কোনও রেফারেন্স (ব্যবহার) না থাকলে অথবা সব রেফারেন্স নিরাপদে ভেঙে ফেলা গেলে, কী মুছে ফেলা হয়। অন্যথায়, Translations Editor শনাক্ত করা সমস্যা সম্পর্কে তথ্য সহ শনাক্ত করা ব্যবহার ডায়ালগ দেখায়।
ছবি ৫. ব্যবহার শনাক্ত করা হয়েছে ডায়ালগ কী কী মুছে ফেলা হবে তা পর্যালোচনা করতে ব্যবহার দেখুন বিকল্প বেছে নিন। নিরাপদ খুঁজুন দ্বন্দ্ব মুছুন ডায়ালগ এমন সব ব্যবহার দেখায় যা মুছে ফেলা নিরাপদ নয়, যাতে আপনি সংশ্লিষ্ট কোড এডিট করতে পারেন।
ছবি ৬. অসুরক্ষিত ব্যবহার ব্যবহারের উপর ডানদিকের বোতামে ক্লিক করে সংশ্লিষ্ট মেনু দেখুন এবং সোর্সে যান বিকল্প বেছে নিন যাতে আপনি প্রয়োজনীয় পরিবর্তন করতে পারেন।
নিরাপদ মুছে ফেলার দ্বন্দ্ব খুঁজুন প্যানেলে, নিরাপদ মুছে ফেলা আবার চালান বিকল্প বেছে নিন যাতে নিশ্চিত করা যায় যে অন্য কোনও ব্যবহার নেই যার প্রতি মনোযোগ দিতে হবে।
ব্যবহারের তথ্য মুছে দেওয়া হলে, 'কী' মুছে দিতে রিফ্যাক্টর করুন বিকল্পে ক্লিক করুন।
সমস্যার সমাধান করুন
ছবি ৭-এ অনুবাদ এডিটর দেখানো হয়েছে, যেখানে ইংরেজি, ফ্রেঞ্চ ও স্প্যানিশ strings.xml ফাইলের কন্টেন্ট দেখা যাচ্ছে। লাল রঙের টেক্সট সেইসব লাইনকে নির্দেশ করে
যেগুলিতে সমস্যা আছে।
কোনও ভুল সংশোধন করতে, লাল রঙের টেক্সটের উপর মাউস নিয়ে যান, যাতে সমস্যার ব্যাখ্যা ও তার সমাধান দেখানো হয়।
আপনি অনুবাদ এডিটর-এ পরিবর্তন করলে, আপনার করা পরিবর্তনের সাথে
strings.xml ফাইল আপডেট হয়। আপনি strings.xml ফাইলে কোনও পরিবর্তন করলে,
অনুবাদ এডিটর-এর সংশ্লিষ্ট কলামে
আপনার করা পরিবর্তন আপডেট হয়ে যায়।
Translations Editor-এ করা সংশোধনের উদাহরণ:
- ছবি ৭-এ দেখা যাচ্ছে যে app_name সারিতে অনুবাদ করা যাবে না বিকল্পে টিকচিহ্ন দেওয়া আছে, কিন্তু স্প্যানিশ অনুবাদ দেওয়া হয়েছে। ভুল সংশোধন করতে স্প্যানিশ অনুবাদ মুছে দিন।
- ছবি ৭-এ দেখা যাচ্ছে যে next_page রোতে ফরাসি অনুবাদ নেই। সমস্যা সমাধান করতে, আপনার কীবোর্ড ব্যবহার করে সেলে Page Suivante কপি করুন। কীবোর্ড কপি-পেস্ট অপারেশন, সেলে যেকোনও ডায়াক্রিটিক চিহ্ন সহ টেক্সট কপি করে।
লোকালাইজ করা যায় এমন টেক্সট ম্যানেজ ও টেস্ট করা
Android প্ল্যাটফর্ম এবং Android Studio আপনার লোকালাইজ করা অ্যাপ টেক্সট ম্যানেজ এবং পরীক্ষা করতে সাহায্য করার জন্য বেশ কয়েকটি ফিচার প্রদান করে। এইসব ফিচারে এমন বিকল্প আছে যা আপনাকে ডান-থেকে-বাঁদিকে (RTL) স্ক্রিপ্ট, যেমন আরবি বা হিব্রু সংক্রান্ত সমস্যা সমাধান করতে সাহায্য করে। আপনার লোকালাইজ করা যায় এমন টেক্সট পরীক্ষা করলে, আপনি UI টেক্সট এবং এর লেআউটে অ্যাডজাস্টমেন্ট করতে পারবেন। পরে অনুবাদের জন্য পাঠানোর আগে, সোর্স রিপোজিটরিতে আপনার মেসেজ কমিট করার আগে এটি করতে পারবেন।
RTL ভাষা কাজ করে
Jetpack Compose নেটিভভাবে ডান-থেকে-বাঁদিকের (RTL) লেআউট ম্যানেজ করে। লেআউট মডিফায়ার
এবং API-কে left এবং right-এর মতো নির্দিষ্ট দিকের পরিবর্তে
start এবং end-এর মতো দিকনির্দেশক ধারণার উপর ভিত্তি করে তৈরি করা হয়েছে। সিস্টেমের ভাষা
RTL লোকেলে পরিবর্তন করা হলে, Compose অটোমেটিক আপনার জন্য এইসব লেআউট মিরর করে।
আপনার অ্যাপ যাতে RTL লোকেল শনাক্ত করতে এবং এই মিররিং ট্রিগার করতে পারে, তার জন্য আপনাকে অ্যাপের ম্যানিফেস্ট ফাইল ব্যবহার করে অপ্ট-ইন করতে হবে।
RTL সাপোর্ট চালু করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- আপনার
AndroidManifest.xmlফাইল খুলুন। <application>এলিমেন্টেandroid:supportsRtl="true"অ্যাট্রিবিউট যোগ করুন:
<manifest ... >
<application
...
android:supportsRtl="true">
</application>
</manifest>
Compose কীভাবে টেক্সট লেআউট, মিররিং ও কাস্টম RTL কনফিগারেশন ম্যানেজ করে সেই সম্পর্কে আরও জানতে, RTL ভাষার সাথে কাজ করা দেখুন।
পাঠ্যের দিকবিন্যাস ম্যানুয়ালি সেট করুন
Jetpack Compose-এ, লেআউট বা টেক্সটের দিকনির্দেশ জোর করে দেখানোর জন্য আপনি ভিজ্যুয়াল প্রপার্টি উইন্ডো ব্যবহার করেন না। সিস্টেম লোকেল অনুযায়ী Compose অটোমেটিক RTL মিররিং ম্যানেজ করে।
তবে, কোনও নির্দিষ্ট টেক্সট এলিমেন্টের (যেমন, RTL লেআউটে LTR স্ট্রিং দেখানো) জন্য আপনাকে ম্যানুয়ালি দিক পরিবর্তন করতে হলে,
আপনি TextStyle-এ TextDirection অবজেক্ট পাস করতে পারেন।
যেসব ভ্যালু দেওয়া যাবে তার কয়েকটি উদাহরণ দেওয়া হল:
TextDirection.Content: (Default): প্রথম শক্তিশালী দিকনির্দেশক অক্ষর থেকে দিকনির্দেশ অনুমান করে।TextDirection.Ltr: বাঁদিক থেকে ডানদিকে লেখার জন্য বাধ্য করে।TextDirection.Rtl: ডানদিক থেকে বাঁদিকে লেখার জন্য বাধ্য করে।
Compose-এ টেক্সট স্টাইল করা এবং ম্যানুয়াল টেক্সট ডিরেকশন কনফিগার করার বিষয়ে আরও জানতে, স্টাইল টেক্সট দেখুন।
আপনার অ্যাপে লোকালাইজ করা স্ট্রিং ব্যবহার করুন
অনুবাদ এডিটর ব্যবহার করে আপনার স্ট্রিং যোগ ও অনুবাদ করার পরে,
আপনার অন্তর্নিহিত res/values/strings.xml ফাইল অটোমেটিক আপডেট হয়ে যায় এবং আপনি
সরাসরি আপনার UI-তে লোকালাইজ করা রিসোর্স ব্যবহার করতে পারবেন।
কীভাবে স্থানীয়করণ করা টেক্সট দেখাতে হয়, নেটিভভাবে RTL ম্যানেজ করতে হয় এবং বিভিন্ন লোকেল ও ছদ্ম-লোকেল পরীক্ষা করতে @Preview
ব্যবহার করতে হয় তা জানতে, Compose-এ রিসোর্সের স্ট্রিং বিভাগ দেখুন।
Pseudolocales
সিউডোলোকেল হল একটি সিমুলেটেড লোকেল যা ভাষার বৈশিষ্ট্যগুলি অনুমান করার জন্য ডিজাইন করা হয়েছে যা কোনও অ্যাপ অনুবাদ করার সময় UI, লেআউট, RTL এবং অন্যান্য অনুবাদ সমস্যা সৃষ্টি করে। Pseudolocales, স্থানীয়করণ করা যায় এমন সব মেসেজের জন্য, ইংরেজিতে পড়া যায় এমন ইনস্ট্যান্ট ও অটোমেটিক অনুবাদ প্রদান করে। এর মাধ্যমে আপনি সোর্স কোডে অনুবাদ করা যায় না এমন মেসেজ খুঁজে পেতে পারেন।
সিউডোলোকেল কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে আরও জানতে, সিউডোলোকেলের সাহায্যে আপনার অ্যাপ পরীক্ষা করুন দেখুন।