নিরবচ্ছিন্ন লোকালাইজেশন: প্রতিটি ভাষা, প্রতিটি মার্জে।
নিরবচ্ছিন্ন লোকালাইজেশন আপনার কোড পরিবর্তনের সাথে সাথে নতুন এবং পরিবর্তিত স্ট্রিংগুলি অনুবাদ করে, যা প্রতিটি রিলিজের আগে আলাদা ধাপে করার পরিবর্তে স্বয়ংক্রিয়ভাবে সম্পন্ন হয়। ফলে প্রতিটি ভাষা সেই কোডের সাথে শিপ করার জন্য প্রস্তুত থাকে যেটির এটি প্রয়োজন।
নিরবচ্ছিন্ন লোকালাইজেশন কী?
নিরবচ্ছিন্ন লোকালাইজেশন হলো কাজের এমন একটি পদ্ধতি যেখানে নতুন এবং পরিবর্তিত স্ট্রিংগুলো পরিবর্তিত হওয়ার সাথে সাথেই স্বয়ংক্রিয়ভাবে অনুবাদের জন্য পাঠানো হয় এবং কেউ নির্ধারিত সময়সূচী ছাড়াই অনুবাদিত টেক্সটটি পণ্যে ফিরে আসে।
কোনো অনুবাদ ফেজ নেই, কারণ অনুবাদ কখনো থামে না। একজন ডেভেলপার একটি স্ট্রিং মার্জ করেন, অনুবাদগুলো কোডের সাথে একই প্রবাহে আসে এবং রিলিজ কারও ফাইলের অপেক্ষায় থাকে না।
এটি নিরবচ্ছিন্ন ডেলিভারির লোকালাইজেশন অংশ। যে দল প্রতিদিন মার্জ করে এবং কয়েক সপ্তাহ পর পর অনুবাদ হ্যান্ডঅফ করে, তাদের ভাষাগুলো প্রতি মাসের বেশিরভাগ সময় কোডের পেছনে থেকে যায়। নিরবচ্ছিন্ন লোকালাইজেশন এই ফাঁকটি কমিয়ে একটি রানের দৈর্ঘ্যের সমান করে দেয়।
এর মানে এই নয় যে মেশিন থেকে তৈরি আউটপুট না পড়েই লাইভ হয়ে যায়। আপনি ঠিক করেন কোন স্ট্রিংগুলোর জন্য মানুষের প্রয়োজন এবং একটি রিলিজ শুধুমাত্র those নিয়ে আসতে পারে যা পর্যালোচনা করা হয়েছে।
পার্থক্যটি হলো অনুবাদ কখন হয়, কে এটি করে তা নয়।
| কী পরিবর্তন হয় | ব্যাজ হ্যান্ডঅফ | ধারাবাহিক |
|---|---|---|
| পাশাপাশি | ||
| অনুবাদ কখন হয় | প্রতিটি রিলিজের আগের একটি ধাপে | প্রতিটি স্ট্রিং পরিবর্তনের সাথে সাথে |
| কী এটি শুরু করে | কেউ একটি ফাইল এক্সপোর্ট করে | একটি পুশ, মার্জ বা কন্টেন্ট পরিবর্তন |
| প্রতিটি অংশের আকার | একসাথে কয়েক সপ্তাহের স্ট্রিং | একটি পরিবর্তনে থাকা স্ট্রিংগুলো |
| রিলিজ কিসের জন্য অপেক্ষা করে | ফাইলটি ফিরে আসার জন্য | পর্যালোচনা, যে স্ট্রিংগুলো আপনি এর জন্য চিহ্নিত করেছেন সেগুলোর জন্য |
| একটি দেরিতে হওয়া কপি পরিবর্তন | আরেক রাউন্ড ট্রিপ | শুধুমাত্র সেই একটি কি-র পুনরায় রান |
| অনুবাদক কী থেকে কাজ করেন | স্ট্রিংয়ের একটি স্প্রেডশিট | সারিটি, তার শব্দকোষের শর্তাবলী, মেমরি ম্যাচ এবং স্ক্রিনশট সহ |
| লঞ্চের সময় ভাষা | ক্রমান্বয়ে, একের পর এক তরঙ্গ আকারে | একসাথে, ফিচারটির সাথে |
- অনুবাদ কখন হয়
- প্রতিটি রিলিজের আগের একটি ধাপে
- কী এটি শুরু করে
- কেউ একটি ফাইল এক্সপোর্ট করে
- প্রতিটি অংশের আকার
- একসাথে কয়েক সপ্তাহের স্ট্রিং
- রিলিজ কিসের জন্য অপেক্ষা করে
- ফাইলটি ফিরে আসার জন্য
- একটি দেরিতে হওয়া কপি পরিবর্তন
- আরেক রাউন্ড ট্রিপ
- অনুবাদক কী থেকে কাজ করেন
- স্ট্রিংয়ের একটি স্প্রেডশিট
- লঞ্চের সময় ভাষা
- ক্রমান্বয়ে, একের পর এক তরঙ্গ আকারে
- অনুবাদ কখন হয়
- প্রতিটি স্ট্রিং পরিবর্তনের সাথে সাথে
- কী এটি শুরু করে
- একটি পুশ, মার্জ বা কন্টেন্ট পরিবর্তন
- প্রতিটি অংশের আকার
- একটি পরিবর্তনে থাকা স্ট্রিংগুলো
- রিলিজ কিসের জন্য অপেক্ষা করে
- পর্যালোচনা, যে স্ট্রিংগুলো আপনি এর জন্য চিহ্নিত করেছেন সেগুলোর জন্য
- একটি দেরিতে হওয়া কপি পরিবর্তন
- শুধুমাত্র সেই একটি কি-র পুনরায় রান
- অনুবাদক কী থেকে কাজ করেন
- সারিটি, তার শব্দকোষের শর্তাবলী, মেমরি ম্যাচ এবং স্ক্রিনশট সহ
- লঞ্চের সময় ভাষা
- একসাথে, ফিচারটির সাথে
ধারাবাহিক স্থানীয়করণ কীভাবে কাজ করে
লুপের মাধ্যমে একটি নতুন স্ট্রিং অনুসরণ করুন। প্রতিটি ধাপে আপনি যা প্রকৃতপক্ষে দেখবেন তা দেখানো হয়েছে।
পরিবর্তনটি CLI, GitHub Action বা আপনার Git হোস্টের অ্যাপের মাধ্যমে Transglot-এ পৌঁছায়। ২০টি নেটিভ ফরম্যাটের যেকোনো একটিতে সোর্স ফাইলগুলো পার্স করা হয় এবং প্রতিটি স্ট্রিং প্রকল্পে ইতিমধ্যে থাকা তথ্যের সাথে তুলনা করা হয়। শুধুমাত্র নতুন এবং পরিবর্তিত স্ট্রিংগুলো সামনে এগিয়ে যায়।
ট্রান্সলেশন মেমোরি থেকে একটি সঠিক ম্যাচ সারিটি পূরণ করে এবং কোনো শব্দের খরচ হয় না। বাকি অংশটি আপনার শব্দকোষ, স্টাইল গাইড এবং সেই কি-র প্রেক্ষাপট সহ Glossa-তে পাঠানো হয়।
প্রতিটি রানের প্রতিটি সারিতে প্লেসহোল্ডার, বহুরূপ, গ্লোসারি শব্দ এবং দৈর্ঘ্য পরীক্ষা করা হয়। ভুল প্লেসহোল্ডার, অনুপস্থিত বহুরূপ বা নিষিদ্ধ গ্লোসারি শব্দ একবার ঠিক করে আবার পরীক্ষা করা হয়, এবং যদি দ্বিতীয়বারও ব্যর্থ হয় তবে তা প্রত্যাখ্যান করা হয়, পাঠানো হয় না। যে সারি শুধুমাত্র তার দৈর্ঘ্য অতিক্রম করেছে তা লেখা হয়, এবং টিম প্ল্যান থেকে স্বয়ংক্রিয় অনুমোদন বা একটি QA রান এটি পর্যালোচনার জন্য চিহ্নিত করে।
একটি রান কখনোই এমন কোনো সারির ওপর লেখে না যা একজন ব্যক্তি সম্পাদনা বা পর্যালোচনা করেছেন। যদি এর উৎস পরে পরিবর্তিত হয়, তবে লেখাটি থেকে যায়, রানটি সারিটি গণনা করে এবং আপনাকে জানায়, এবং টিম প্ল্যান থেকে একটি প্রস্তাবিত আপডেট গ্রহণের জন্য কারও অপেক্ষায় পাশে থাকে।
গিট অ্যাপগুলি লোকেল ফাইলগুলি একটি সিঙ্ক শাখায় কমিট করে এবং একটি পুল রিকোয়েস্ট আপ টু ডেট রাখে। GitHub-এ, একটি পুল রিকোয়েস্টে /translate মন্তব্য করুন এবং ফাইলগুলি সেই পুল রিকোয়েস্টের নিজস্ব শাখায় আসবে। অথবা CDN-এ প্রকাশ করুন, এবং চলমান পণ্যটি কোনো রিলিজ ছাড়াই পরিবর্তনটি পড়ে নেবে।
নিরবচ্ছিন্ন স্থানীয়করণ ভুল হওয়ার ছয়টি উপায়, এবং কীভাবে প্রতিটি থামানো যায়
একটি রান একজন ব্যক্তির কাজ মুছে ফেলে
প্রতিটি লেখক প্রথমে সারির অবস্থা পরীক্ষা করেন: একটি রান, একটি মেমোরি ম্যাচ এবং একটি পুশ। একজন ব্যক্তি সম্পাদনা বা পর্যালোচনা করা সারিটি থেকে যায়, এবং রানটি এটি রিপোর্ট করে।
→fr, পর্যালোচিত, উৎস সাম্প্রতিক পরিবর্তিত
✓রাখা হয়েছে, গণনা করা হয়েছে, রিপোর্ট করা হয়েছে
ভাঙা স্ট্রিং প্রোডাকশনে পৌঁছে যায়
প্রতিটি টোকেন যা ইনপুট দেওয়া হয়েছে তা আউটপুটে ফিরে আসতে হবে। একটি ICU প্রজেক্টে, রেন্ডার করার সময় যে মেসেজটি ত্রুটি সৃষ্টি করবে তা পুল, কানেক্টর এবং CDN বান্ডিল থেকে বাদ থাকবে, এবং রান এটির নাম উল্লেখ করে।
→{count, plural, one {# article}
✓ফাইল থেকে বাদ দেওয়া হয়েছে, রানে নামকরণ করা হয়েছে
রিপোজিটরি বট পুল রিকোয়েস্টে ভরে যায়
প্রতিটি রিপোজিটোরির জন্য একটি সিঙ্ক ব্রাঞ্চ এবং একটি পুল রিকোয়েস্ট। দ্বিতীয়টি খোলার পরিবর্তে দুটি দ্রুত পুশ এতে মিলিত হয়।
→#812 #815 #819 #823 l10n আপডেট
✓#812 transglot/sync, জায়গাতেই আপডেট হয়েছে
একটি সোর্স এডিট পুরোনো অনুবাদগুলো পেছনে ফেলে রাখে
প্রতিটি টার্গেট সারিতে যে সোর্সের বিরুদ্ধে এটি লেখা হয়েছিল তা রেকর্ড করা থাকে, তাই পরিবর্তিত স্ট্রিংটি একসাথে প্রতিটি ভাষায় outdated হিসেবে চিহ্নিত হয়, এবং শুধুমাত্র সেই কীটি পুনরায় চালানো হয়।
→Save became Save draft. fr, de, ja still say Save
✓fr, de, ja সেই এক কী-তে পুনরায় চালানো হয়েছে
প্রতিটি রান পুরো প্রজেক্টকে আবার বিল করে
একটি রানের আকার নির্ধারিত হয় কী পরিবর্তন হয়েছে তার ওপর ভিত্তি করে। অপরিবর্তিত স্ট্রিং পাঠানো হয় না, সঠিক মেমোরি ম্যাচের কোনো শব্দ খরচ হয় না, এবং একজন ব্যক্তি যার মালিকানাধীন সারি তা কিছু খরচ করার আগেই প্রত্যাখ্যান করা হয়।
→ফাইলে ৪৮,০০০ শব্দ রয়েছে
✓এই রান: ৬০ শব্দ
অসম্পূর্ণ পুল একটি লোকেল ফাইল মুছে দেয়
যদি সার্ভার একটি লোকেলের জন্য কোনো এন্ট্রি রিপোর্ট না করে, তবে পুল এমন একটি ফাইলের ওপর লেখা করতে অস্বীকার করে যার বিষয়বস্তু রয়েছে, এবং ১ এক্সিট কোড দেয় যাতে পাইপলাইন সেখানে থেমে যায়।
→pull: ja-এর জন্য ০ এন্ট্রি, ফাইলে ১,২০৪ রয়েছে
✓খালি বান্ডিল দিয়ে locales/ja.json ওভাররাইট করতে অস্বীকার করা হচ্ছে
- run 4182 fr: ড্রাফ্ট থেকে প্লেসহোল্ডার অনুপস্থিত, পুনরায় চেষ্টার সময় মেরামত করা হয়েছে
- run 4182 de: ৩টি সারি রাখা হয়েছে, একজন ব্যক্তি এগুলোর মালিক
- run 4182 ja: মেমোরি থেকে ৪১টি সারি, ০ শব্দ
- run 4183 ar: পুনরায় চেষ্টার পর প্লুরাল ফর্ম অনুপস্থিত, সারি প্রত্যাখ্যান করা হয়েছে
- pull locales/pt-BR.json লেখা হয়েছে
- sync transglot/sync আপডেট হয়েছে, পুল রিকোয়েস্ট #812
তিনটিই আপনার রিপোজিটোরির সাথে সংযুক্ত। পার্থক্য হলো আপনি যখন মার্জ করেন তখন কী ঘটে।
৫ নভেম্বর ২০২৬ তারিখে প্রতিটি কোম্পানির নিজস্ব পৃষ্ঠা থেকে পড়া হয়েছে। মূল্য সারিটি আমাদের তুলনা পৃষ্ঠা থেকে এসেছে, যা নিচে লিংক করা হয়েছে, যেখানে প্ল্যান এবং গাণিতিক হিসাব দেখানো হয়েছে। মূল্য এবং প্ল্যান পরিবর্তন হতে পারে, তাই সিদ্ধান্ত নেওয়ার আগে সেগুলো পরীক্ষা করুন।
| কী ঘটে | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| একটি নতুন স্ট্রিং মার্জ করা হয়েছে | ডিফল্টভাবে অনুবাদিত পুশ করার মাধ্যমে রান শুরু হয়। একটি প্রজেক্ট সেটিংস এটি বন্ধ করে দেয়। | আপনি সেটআপ করলেই অনুবাদিত হয় কি তৈরি এবং ফাইল আমদানির সময় অটোমেশন ডিফল্টভাবে বন্ধ থাকে। একটি ওয়ার্কফ্লো যেখানে AI ধাপ রয়েছে, তা তার নির্ধারিত সময়ে চলে। | আপনি চালু করলেই অনুবাদিত হয় সেটিংসের অটো-ট্রান্সলেট বিভাগে, এটি প্রতিটি আপলোডের সময় চলে। গিট সিঙ্ক ডিফল্টভাবে প্রতি ঘণ্টায় চলে। |
| একটি অনুবাদ চেক পাস করতে ব্যর্থ হয়েছে | একবার মেরামত করা হয়েছে, তারপর প্রত্যাখ্যান করা হয়েছে প্রতিটি রানের প্রতিটি সারিতে ভাঙা প্লেসহোল্ডার, বহুবচন রূপ বা নিষিদ্ধ শব্দের জন্য। দৈর্ঘ্য অতিক্রম করলে তা লেখা হয়। একটি ICU প্রজেক্টে, ভাঙা সারি পুল, কানেক্টর এবং CDN থেকে বাদ থাকে। | একটি এরর-লেভেল চেক এডিটরে সেভ করা বন্ধ করে দেয় প্রতিটি চেক অফ, ওয়ার্নিং বা এরর-এ সেট করা হয়। | একটি এরর-লেভেল চেক সেভ করা বন্ধ করে দেয় প্রতিটি চেক ওয়ার্নিং বা এরর-এ সেট করা হয়। |
| একজন ব্যক্তি ইতিমধ্যে সারিটি সম্পাদনা করেছেন | রান এটি লিখতে অস্বীকার করে মেমোরি ম্যাচ এবং পুশও একই কাজ করে। যদি পরে সোর্স পরিবর্তন হয়, তবে রান সারিটি রিপোর্ট করে। | অটোমেশন ডিফল্টভাবে খালি মান পূরণ করে একটি ফোর্স অপশন এবং ক্লিয়ার অ্যাকশন পূরণ করা মানগুলোর উপরে লিখে দেয়। | অপশনগুলো মানুষের সম্পাদিত এবং অনুমোদিত সারিগুলো রাখে একটি রিপ্লেস-অল অপশনও রয়েছে। |
| ব্যস্ত রিপোজিটরিতে পুল রিকোয়েস্ট | একটি ব্রাঞ্চ, একটি পুল রিকোয়েস্ট প্রতিটি পুশের সময় স্থানে আপডেট করা হয়। | প্রতিটি পুল রিকোয়েস্টের জন্য একটি নতুন ব্রাঞ্চ টাইমস্ট্যাম্প সহ নামকরণ করা হয়েছে। | একটি সার্ভিস ব্রাঞ্চ, প্রতি ঘণ্টায় সিঙ্ক করা হয় প্রতি ঘণ্টা ডিফল্ট, এবং ব্যবধান পরিবর্তন করা যায়। |
| প্ল্যান কী গণনা করে | প্রতি ভাষার জন্য একবার অনুবাদিত শব্দ সঠিক মেমোরি ম্যাচের কোনো খরচ নেই। একটি স্ট্রিং সংরক্ষণ করার কোনো খরচ নেই। | প্রসেস করা শব্দ মূল ভাষা এবং টার্গেট উভয়ই গণনা করা হয়। | হোস্ট করা শব্দ অনুবাদ করার শব্দ, টার্গেট ভাষার সংখ্যা দিয়ে গুণিত। |
| এআই-এর খরচ কীভাবে মেটানো হয় | প্ল্যানের শব্দ এটি আলাদাভাবে বিল করা হয় না। | প্ল্যান অনুযায়ী এআই শব্দের বরাদ্দ স্ট্যান্ডার্ড এআই এবং প্রো এআই শব্দ প্ল্যানের আলাদা লাইন। | একটি পৃথক ব্যালেন্স, অথবা আপনার নিজস্ব কী Crowdin-এর ম্যানেজড এআই সাবস্ক্রিপশনের বাইরে ক্রেডিট থেকে পরিশোধ করা হয়। |
| একই কাজ: 10 ভাষায় 5,000 স্ট্রিং | মাসে $39 Team, অনুবাদ অন্তর্ভুক্ত | মাসে $1,049 Advanced (billed yearly) | মাসে $138 Pro with 560K hosted words (billed monthly), এছাড়াও এআই |
| GitHub, GitLab, Bitbucket, Azure Repos, একটি CLI এবং একটি MCP সার্ভার | সবগুলোই গিট অ্যাপগুলি Team প্ল্যান থেকে শুরু হয় এবং ক্লাউড সংস্করণগুলো কভার করে। | সবগুলোই ইন্টিগ্রেশন প্রতিটি প্ল্যানে রয়েছে। | সবগুলোই এটি Bitbucket Server-ও কভার করে। |
- একটি নতুন স্ট্রিং মার্জ করা হয়েছে
- ডিফল্টভাবে অনুবাদিতপুশ করার মাধ্যমে রান শুরু হয়। একটি প্রজেক্ট সেটিংস এটি বন্ধ করে দেয়।
- একটি অনুবাদ চেক পাস করতে ব্যর্থ হয়েছে
- একবার মেরামত করা হয়েছে, তারপর প্রত্যাখ্যান করা হয়েছেপ্রতিটি রানের প্রতিটি সারিতে ভাঙা প্লেসহোল্ডার, বহুবচন রূপ বা নিষিদ্ধ শব্দের জন্য। দৈর্ঘ্য অতিক্রম করলে তা লেখা হয়। একটি ICU প্রজেক্টে, ভাঙা সারি পুল, কানেক্টর এবং CDN থেকে বাদ থাকে।
- একজন ব্যক্তি ইতিমধ্যে সারিটি সম্পাদনা করেছেন
- রান এটি লিখতে অস্বীকার করেমেমোরি ম্যাচ এবং পুশও একই কাজ করে। যদি পরে সোর্স পরিবর্তন হয়, তবে রান সারিটি রিপোর্ট করে।
- ব্যস্ত রিপোজিটরিতে পুল রিকোয়েস্ট
- একটি ব্রাঞ্চ, একটি পুল রিকোয়েস্টপ্রতিটি পুশের সময় স্থানে আপডেট করা হয়।
- প্ল্যান কী গণনা করে
- প্রতি ভাষার জন্য একবার অনুবাদিত শব্দসঠিক মেমোরি ম্যাচের কোনো খরচ নেই। একটি স্ট্রিং সংরক্ষণ করার কোনো খরচ নেই।
- এআই-এর খরচ কীভাবে মেটানো হয়
- প্ল্যানের শব্দএটি আলাদাভাবে বিল করা হয় না।
- একই কাজ: 10 ভাষায় 5,000 স্ট্রিং
- মাসে $39Team, অনুবাদ অন্তর্ভুক্ত
- GitHub, GitLab, Bitbucket, Azure Repos, একটি CLI এবং একটি MCP সার্ভার
- সবগুলোইগিট অ্যাপগুলি Team প্ল্যান থেকে শুরু হয় এবং ক্লাউড সংস্করণগুলো কভার করে।
- একটি নতুন স্ট্রিং মার্জ করা হয়েছে
- আপনি সেটআপ করলেই অনুবাদিত হয়কি তৈরি এবং ফাইল আমদানির সময় অটোমেশন ডিফল্টভাবে বন্ধ থাকে। একটি ওয়ার্কফ্লো যেখানে AI ধাপ রয়েছে, তা তার নির্ধারিত সময়ে চলে।
- একটি অনুবাদ চেক পাস করতে ব্যর্থ হয়েছে
- একটি এরর-লেভেল চেক এডিটরে সেভ করা বন্ধ করে দেয়প্রতিটি চেক অফ, ওয়ার্নিং বা এরর-এ সেট করা হয়।
- একজন ব্যক্তি ইতিমধ্যে সারিটি সম্পাদনা করেছেন
- অটোমেশন ডিফল্টভাবে খালি মান পূরণ করেএকটি ফোর্স অপশন এবং ক্লিয়ার অ্যাকশন পূরণ করা মানগুলোর উপরে লিখে দেয়।
- ব্যস্ত রিপোজিটরিতে পুল রিকোয়েস্ট
- প্রতিটি পুল রিকোয়েস্টের জন্য একটি নতুন ব্রাঞ্চটাইমস্ট্যাম্প সহ নামকরণ করা হয়েছে।
- প্ল্যান কী গণনা করে
- প্রসেস করা শব্দমূল ভাষা এবং টার্গেট উভয়ই গণনা করা হয়।
- এআই-এর খরচ কীভাবে মেটানো হয়
- প্ল্যান অনুযায়ী এআই শব্দের বরাদ্দস্ট্যান্ডার্ড এআই এবং প্রো এআই শব্দ প্ল্যানের আলাদা লাইন।
- একই কাজ: 10 ভাষায় 5,000 স্ট্রিং
- মাসে $1,049Advanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, একটি CLI এবং একটি MCP সার্ভার
- সবগুলোইইন্টিগ্রেশন প্রতিটি প্ল্যানে রয়েছে।
- একটি নতুন স্ট্রিং মার্জ করা হয়েছে
- আপনি চালু করলেই অনুবাদিত হয়সেটিংসের অটো-ট্রান্সলেট বিভাগে, এটি প্রতিটি আপলোডের সময় চলে। গিট সিঙ্ক ডিফল্টভাবে প্রতি ঘণ্টায় চলে।
- একটি অনুবাদ চেক পাস করতে ব্যর্থ হয়েছে
- একটি এরর-লেভেল চেক সেভ করা বন্ধ করে দেয়প্রতিটি চেক ওয়ার্নিং বা এরর-এ সেট করা হয়।
- একজন ব্যক্তি ইতিমধ্যে সারিটি সম্পাদনা করেছেন
- অপশনগুলো মানুষের সম্পাদিত এবং অনুমোদিত সারিগুলো রাখেএকটি রিপ্লেস-অল অপশনও রয়েছে।
- ব্যস্ত রিপোজিটরিতে পুল রিকোয়েস্ট
- একটি সার্ভিস ব্রাঞ্চ, প্রতি ঘণ্টায় সিঙ্ক করা হয়প্রতি ঘণ্টা ডিফল্ট, এবং ব্যবধান পরিবর্তন করা যায়।
- প্ল্যান কী গণনা করে
- হোস্ট করা শব্দঅনুবাদ করার শব্দ, টার্গেট ভাষার সংখ্যা দিয়ে গুণিত।
- এআই-এর খরচ কীভাবে মেটানো হয়
- একটি পৃথক ব্যালেন্স, অথবা আপনার নিজস্ব কীCrowdin-এর ম্যানেজড এআই সাবস্ক্রিপশনের বাইরে ক্রেডিট থেকে পরিশোধ করা হয়।
- একই কাজ: 10 ভাষায় 5,000 স্ট্রিং
- মাসে $138Pro with 560K hosted words (billed monthly), এছাড়াও এআই
- GitHub, GitLab, Bitbucket, Azure Repos, একটি CLI এবং একটি MCP সার্ভার
- সবগুলোইএটি Bitbucket Server-ও কভার করে।
আপনার স্ট্রিং যেখানেই থাকুক না কেন, সেখান থেকে শুরু করুন। প্রতিটি দরজা একই পাইপলাইনে পৌঁছায়।
কীভাবে ধারাবাহিক স্থানীয়করণ সেট আপ করবেন
- 01
কোড থেকে স্ট্রিং বের করুন
প্রতিটি ব্যবহারকারী-দৃশ্যমান স্ট্রিংয়ের জন্য একটি লোকাল ফাইলে স্থিতিশীল কী প্রয়োজন। ট্রান্সগ্লট ২০টি ফরম্যাট পড়ে, তাই আপনার থাকা ফরম্যাটটিই রাখুন।
jsonyamlxliffarb - 02
রিপোজিটরি সংযুক্ত করুন
init কমান্ডটি আপনার লোকাল ফাইল খুঁজে পায়, ব্রাউজারের মাধ্যমে আপনাকে সাইন ইন করায়, আপনার আগে থেকে থাকা ফাইল আপলোড করে এবং প্রথম অনুবাদটি চালানোর ব্যবস্থা করে।
npx transglot@latest init - 03
প্রতিটি মার্জে এটি চালান
GitHub Action যোগ করুন, অন্য যেকোনো CI থেকে CLI কল করুন, অথবা GitHub, GitLab, Bitbucket বা Azure Repos-এর জন্য অ্যাপটি ইনস্টল করুন।
transglot push --wait - 04
কীসের জন্য একজন ব্যক্তির প্রয়োজন তা নির্ধারণ করুন
পুল রুলে min_state কে reviewed-এ সেট করুন এবং সেই ফাইলটিতে শুধুমাত্র এমন স্ট্রিং থাকবে যা একজন ব্যক্তি পর্যালোচনা করেছে। এটি বন্ধ রাখলে ড্রাফ্টগুলো শিপ হয়ে যাবে।
min_state: reviewed
প্রতিটি মার্জে চালানোর খরচ কত: যে শব্দগুলো পরিবর্তিত হয়েছে।
একটি শব্দ হলো একটি সোর্স শব্দ, যা প্রতিটি টার্গেট ভাষার জন্য একবার গণনা করা হয়। একটি রান পরিবর্তনের ওপর ভিত্তি করে আকার নির্ধারিত হয়, তাই পাঁচটি ভাষায় বারোটি শব্দ স্পর্শ করা একটি মার্জ ষাটটি হিসাব করা হয়, প্রকল্প যত বড়ই হোক না কেন।
Starter-এ ফিট হয়: $19/mo, মাসে 300,000টি শব্দ।
এটি অ্যালাউ্যান্সের প্রায় 9%।
এটি শুধুমাত্র অনুবাদ গণনা করে। কোয়ালিটি চেক, ব্র্যান্ড ভয়েস ড্রাফ্ট এবং মেরামতও শব্দ হিসেবে গণনা হয়, এবং মেমোরি থেকে পাওয়া_exact matches-এর কোনো খরচ নেই। CLI এবং GitHub Action Starter-এ শুরু হয়, আর GitHub, GitLab, Bitbucket এবং Azure Repos-এর অ্যাপগুলো Team-এ শুরু হয়।
ধারাবাহিক স্থানীয়করণ যে তিনটি বিষয় সমাধান করে না
কোডে এখনও আটকে থাকা স্ট্রিং
একটি পাইপলাইন কেবল সেই কন্টেন্ট অনুবাদ করতে পারে যা এটি পড়তে পারে। হার্ড-কোডেড স্ট্রিং এবং বিভিন্ন অংশ থেকে জোড়া লাগানো বাক্যগুলো প্রথমে ঠিক করতে হবে, আর এগুলোই সাধারণত রোলআউট আটকে রাখার প্রধান কারণ।
শব্দগুলোর মালিকানা নেই
অটোমেশন স্ট্রিং সরিয়ে দেয়। কিন্তু আপনার প্রোডাক্ট কীভাবে বিষয়গুলো নাম দেবে, তা এটি ঠিক করে না। কারও কাছে গ্লোসারির মালিকানা থাকা জরুরি, নইলে যে ভাষা কেউ পড়ে না তা কারও নজরে না এসেই বিচ্যুত হয়ে যেতে পারে।
বিচার-বিবেচনার প্রয়োজনীয় কপি
আইনি টেক্সট, মূল্য নির্ধারণ এবং ব্র্যান্ড লাইনের ক্ষেত্রে একজন ব্যক্তির নজরদারি প্রয়োজন। সেগুলো পর্যালোচনার জন্য পাঠান এবং শিপ করার ফাইল থেকে দূরে রাখুন যতক্ষণ না কেউ অনুমোদন দেয়।
কন্টিনিউয়াস লোকালিজেশন সম্পর্কিত প্রশ্নাবলী
যেসব প্রশ্ন টিমগুলো এটি চালু করার আগে করে থাকে।
কন্টিনিউয়াস লোকালিজেশন কী?
কন্টিনিউয়াস লোকালিজেশন ঐতিহ্যবাহী লোকালিজেশন থেকে কীভাবে আলাদা?
কন্টিনিউয়াস লোকালিজেশন কি CI/CD-এর মতোই?
কন্টিনিউয়াস লোকালিজেশনের জন্য আমার কি CI/CD পাইপলাইন প্রয়োজন?
কন্টিনিউয়াস লোকালিজেশন মানে কি মানুষের পর্যালোচনা নেই?
একটি অটোমেটেড রান কি অনুবাদকের সম্পাদনা ওভাররাইট করতে পারে?
একটি ছোট টিমের জন্য কন্টিনিউয়াস লোকালিজেশন কি মূল্যবান?
কীভাবে আমি একটি রানের খরচ আমার প্রত্যাশার চেয়ে বেশি হওয়া থেকে থামাব?
এটি GitLab, Bitbucket এবং Azure DevOps-এর সাথে কাজ করে?
Git ছাড়া কি কন্টিনিউয়াস লোকালিজেশন করা সম্ভব?
রিলিজ ছাড়াই কি অনুবাদ আপডেট হতে পারে?
কীভাবে আমি একটি বিদ্যমান প্রজেক্ট স্থানান্তর করব?
41 কানেক্টর, ইতিমধ্যে তৈরি।
একটি রিপোজিটরি সংযুক্ত করুন। পরবর্তী মার্জ বাকি কাজটি সম্পন্ন করে।
একটি কমান্ড আপনার লোকাল ফাইল খুঁজে পায়, ব্রাউজারের মাধ্যমে আপনাকে সাইন ইন করায় এবং প্রথম অনুবাদটি চালানো হয়।