এড়িয়ে যাও কন্টেন্ট

উন্নয়ন

এই পৃষ্ঠায় কীভাবে আমাদের সংগ্রহস্থলগুলি সংগঠিত করা হয়, কীভাবে কোড সম্পাদনা করা এবং আপনার প্রথম টানার অনুরোধ তৈরি করা যায় এবং জেলিফিনে টানার অনুরোধ সম্পর্কিত কিছু সাধারণ পদ্ধতি রয়েছে।

আপনার কী কাজ করা উচিত?

গিথুবকে পর্যালোচনা করতে এবং এতে অবদান রাখতে প্রচুর জেলিফিন সংগঠন প্রকল্প রয়েছে। সংক্ষেপে বলা যায়, এখানে দুটি সবচেয়ে বড় দুটি রয়েছে, একটি পটভূমি বিকাশের জন্য এবং একটি সামনের দিকের জন্য:

 উন্নয়ন উন্নয়ন
  • জেলিফিন সার্ভার - জেলিফিন অ্যাপ্লিকেশনটির শেষ প্রান্তের সার্ভার। এটি .NET কোর 3.1 এবং C# ব্যবহার করে নির্মিত হয়েছে।
  • জেলিফিন ওয়েব - প্রধান জেলিফিন ক্লায়েন্ট অ্যাপ্লিকেশন। ওয়েবের জন্য নির্মিত, তবে আমাদের অন্যান্য ক্লায়েন্টদের মধ্যেও ব্যবহৃত হয় যা এই ওয়েব ক্লায়েন্টের কেবল মোড়ক।

নোট করুন যে প্রতিটি রিপোজিটরির সেই প্রকল্পটি কীভাবে শুরু করতে হয় তার নিজস্ব ডকুমেন্টেশন রয়েছে যা সাধারণত README সংগ্রহস্থলে পাওয়া যায়। আরও কয়েকটি বৃহত প্রকল্পগুলি কীভাবে কাঠামোগত হয় তা দেখতে আপনি সংস্থার উত্স গাছটিও দেখতে পারেন।

আসল বিকাশ শুরু করার সর্বোত্তম উপায় হ'ল সংযুক্ত সংগ্রহস্থলগুলির সমস্যার তালিকার মধ্য দিয়ে যাওয়া, আপনি যে সমস্যাটি নিয়ে কাজ করতে চান তা সন্ধান এবং হ্যাকিং শুরু করা! সমস্যাগুলি পরিচালনা দল দ্বারা নিয়মিত পর্যালোচনা করা হয়, এবং লেবেলগুলি বরাদ্দ করা হয় যা আপনার দক্ষতার সেটগুলির মধ্যে সমস্যার সন্ধান করতে সহায়তা করবে। আপনি যখন কোনও সমস্যার উপর কাজ শুরু করেন, অনুগ্রহ করে কাজের অনাকাঙ্ক্ষিত প্রতিলিপি এড়াতে সমস্যাটি সম্পর্কে কাজ করার আপনার ইচ্ছাকে ইঙ্গিত করে মন্তব্য করুন comment

প্রধান প্রশ্নের ধরণ

প্রশ্ন নির্দেশিকা বিভাগে প্রশ্নের ধরণের একটি তালিকা পাওয়া যাবে।

সমস্যা না হলে কী হবে?

আপনি যে পরিবর্তনগুলি করতে চান তা ইতিমধ্যে যদি কোনও সমস্যা না থাকে তবে দয়া করে প্রথমে এটি ট্র্যাক করার জন্য একটি সমস্যা তৈরি করুন, তারপরে নিশ্চিত করুন যে আপনার জনসংযোগ ইস্যুটিকে প্রশ্নবিদ্ধ রেফার করেছে। এটি ত্রুটিগুলির জন্য বিশেষভাবে কার্যকর যা খুঁজে পাওয়া যায় এবং পরে এটি লেখকের দ্বারা স্থির করা হয়, যাতে মূল সমস্যা এবং ফিক্স উভয়ই নথিবদ্ধ ও বিস্তারিতভাবে ট্র্যাক করা যায়।

আমার কীভাবে পরিবর্তন করা উচিত?

আপনি যখন কাজ করতে চান বা উন্নত করতে চান এমন কিছু পেয়েছেন, তার পরের পদক্ষেপটি আপনার কোড পরিবর্তন করা, সেগুলি পরীক্ষা করা এবং তারপরে গিটহাবের উপর একটি টান অনুরোধ (PR) জমা দেওয়া।

সরলতার জন্য, সমস্ত উদাহরণ ধরে ধরে নিন যে বিকাশকারী লিনাক্সে গিটহাবের এসএসএইচ অ্যাক্সেস সহ অপারেটিং করছে, তবে সাধারণ ধারণাগুলি এইচটিটিপি ভিত্তিক গিটহাব ইন্টারফেসে প্রয়োগ করা যেতে পারে এবং উইন্ডোজ বা ম্যাকোজে অনুবাদ করা যায়।

আপনি যদি গিটের সাথে পরিচিত না হন, তবে এই সংস্করণ নিয়ন্ত্রণ ব্যবস্থা কীভাবে কাজ করে এবং কীভাবে এটি ব্যবহার করবে তা বোঝার জন্য আমরা অফিশিয়াল ডকুমেন্টেশনের সুপারিশ করি।

রেপুর আপনার অনুলিপি প্রস্তুত

প্রথম পদক্ষেপটি আপনি যে প্রকল্পে অবদান রাখতে চান তার গিট সংগ্রহস্থলের একটি অনুলিপি তৈরি করা। জেলিফিন অবদানের জন্য একটি "কাঁটাচামচ, বৈশিষ্ট্য এবং গণসংযোগ" মডেল অনুসরণ করে।

  1. গিটহাব-এ, অনুরূপ সংগ্রহস্থলের "ফর্ক" বোতামটি ব্যবহার করে আপনার নিজের অ্যাকাউন্টে জেলিফিন সংগ্রহস্থলটি "কাঁটাচামচ" করুন to
  2. আপনার স্থানীয় মেশিনে আপনার কাঁটাচামড়াটি ক্লোন করুন এবং ডিরেক্টরিটি প্রবেশ করুন: গিট ক্লোন git@github.com: yourusername / projectname.gitcd প্রকল্পের নাম /
  3. "আপস্ট্রিম" রিমোট যুক্ত করুন, যা আপনাকে মূল প্রকল্প থেকে সহজেই পরিবর্তনগুলি ডাউনলোড করতে দেয়: গিট রিমোট অ্যাডস্ট্রিম git@github.com: জেলিফিন / প্রজেক্টনাম.git
  4. গিট সাবমডিউলগুলি শুরু করুন; বেশিরভাগ প্রকল্পের কমপক্ষে একটি গিট সাবমডিউল আপডেট থাকে –আইনোটটোট সাবমোডিয়ালের মধ্যে সম্পাদনা ফাইল। এটি করার ফলে আপনার কাজ ওভাররাইট করা সহ অযাচিত পার্শ্ব প্রতিক্রিয়া দেখা দিতে পারে। সাবমোডিয়ুলটিকে সর্বদা তার নিজস্ব ক্লোন করা ভাণ্ডারগুলিতে অন্য কোথাও সংশোধন করুন।
  5. জেলিফিন.সভার সার্ভার প্রকল্পটি সফলভাবে চলার জন্য এটি সার্ভার এবং ওয়েব ক্লায়েন্ট প্রকল্প উভয়ই পরীক্ষা করে।
  6. সুতা বা এনপিএম দিয়ে জেলিফিন ওয়েব প্রকল্প তৈরি করুন এবং ফলস্বরূপ ডিস্ট ফোল্ডারের অবস্থানটি অনুলিপি করুন। আপনার জেলিফিন.স সার্ভার প্রকল্পে আপনার ডি ফোল্ডারের পুরো পথে নির্ধারিত মান সহ জেললিএফ.এইচ.এল.বি.আর.আই.আর. নামক পরিবেশ পরিবর্তনশীল যুক্ত করুন।

আপনি এখন প্রকল্পটি নির্মাণ বা সংশোধন শুরু করতে প্রস্তুত।

রেপোতে পরিবর্তন করুন

আপনার জমা একবার হয়ে গেলে আপনি কাজ করতে পারবেন।

  1. সর্বশেষ পরিবর্তনগুলির সাথে কাজ করতে প্রবাহের মাস্টারের বিরুদ্ধে আপনার স্থানীয় শাখাগুলি রিলে করুন: গিট আনুন
  2. আপনার পরিবর্তনগুলি করতে মাস্টারের একটি স্থানীয় বৈশিষ্ট্য শাখা তৈরি করুন: গিট চেকআউট-বি আমার বৈশিষ্ট্য মাস্টার
  3. এই স্থানীয় বৈশিষ্ট্য শাখায় আপনার পরিবর্তন এবং প্রতিশ্রুতিবদ্ধ করুন।
  4. আপনি কাজ শেষ করার পরে আপনার স্থানীয় শাখা অফিসে প্রথম পদক্ষেপটি পুনরাবৃত্তি করুন, যাতে আপনি ঘোষণা করার পর থেকে অন্য কাজের সাথে আপনার কোনও বিরোধ নেই ensure
  5. স্থানীয় গিটারহাব্বার কাঁটাচামচটিতে স্থানীয় বৈশিষ্ট্য শাখা আপলোড করুন: গিট পুশ –set-upstream মূল আমার বৈশিষ্ট্যটি
  6. গিটহাবে, নীচের পরামর্শ অনুসরণ করে আপডেটআউট মাস্টার শাখার বিরুদ্ধে একটি নতুন আরপি তৈরি করুন।
  7. একবার আপনার আরপি মার্জ হয়ে গেলে আপনার স্থানীয় শাখাগুলি আপ টু ডেট রাখার বিষয়টি নিশ্চিত করুন: গিট ফেচ-এলগিট চেকআউট মাস্টারগিট রিবাজে আপস্ট্রিম / মাস্টারগ্রিট পুশ-ইউ উত্স মাস্টার
  8. আপনার আর প্রয়োজন না হলে আপনার স্থানীয় বৈশিষ্ট্যের শাখাটি মুছুন: গিট শাখা -d আমার বৈশিষ্ট্য

CONTRIBUIDORES.md

যদি এটি কোনও নির্দিষ্ট ভাণ্ডারে আপনার প্রথম অবদানের কোড হয় তবে দয়া করে এটি জেলিফিন অবদানকারী বিভাগের শেষে CONTRIBUTORS.md ফাইলটিতে যুক্ত করুন। যদিও গিটহাব এটি অনুসরণ করে, নথিটি লিখিত থাকা বিষয়গুলি পরিষ্কার করে যদি কোডটি গিটহাব ছেড়ে যায় এবং প্রত্যেককে কপিরাইট বা প্রশংসার জন্য এই প্রকল্পে কে কাজ করেছে তা দ্রুত দেখার অনুমতি দেয়!

অফিসিয়াল শাখা

বৈশিষ্ট্যযুক্ত শাখা

মাঝে মাঝে বড় বড় প্রকল্পগুলি উত্থিত হতে পারে যার জন্য একাধিক জনসাধারণের সম্পর্ক এবং একাধিক ব্যক্তির অবদানের প্রয়োজন। এই কাজের জন্য, মাস্টার উপর ভিত্তি করে বৈশিষ্ট্য-নির্দিষ্ট বৈশিষ্ট্য শাখা তৈরি করা আবশ্যক। এটি দীর্ঘ সময় ধরে মাস্টারকে না ভেঙে কাজ চালিয়ে যেতে সহায়তা করে এবং সেই বিশেষ প্রকল্পে আগ্রহী ব্যক্তিদের পরবর্তী প্রকাশের আগে কোনও ভাঙা বৈশিষ্ট্য ঠিক করার জন্য ছুটে যাওয়ার পরিবর্তে তাদের নিজস্ব গতিতে কাজ করার সুযোগ দেয়। একটি বৈশিষ্ট্য শাখা তৈরি করতে, দয়া করে একটি কোর দলের সদস্যের সাথে যোগাযোগ করুন এবং এটি ঠিক করা যেতে পারে।

একবার যে বৈশিষ্ট্যটির জন্য একটি বৈশিষ্ট্য শাখা তৈরি করা হয়েছিল সেগুলি প্রস্তুত হয়ে গেলে, এটি মাস্টার এবং সরানো বৈশিষ্ট্য শাখায় একবার নেওয়াতে মিশে যায়। বিকল্পভাবে, খুব দীর্ঘ জীবনের বৈশিষ্ট্যের জন্য, কিছু "স্থিতিশীল" স্ন্যাপশটগুলি প্রয়োজনীয় হিসাবে মাস্টারের সাথে মার্জ করা যেতে পারে।

মাস্টার শাখা

মাস্টার শাখা প্রকল্পের প্রধান মুখ এবং প্রধান উন্নয়ন শাখা। জরুরী রিলিজ হটফিক্স ব্যতীত, সমস্ত জনসংযোগ শিক্ষককে লক্ষ্য করতে হবে। একটি সাধারণ নিয়ম হিসাবে, কোনও আরপি মাস্টারকে ভাঙ্গা উচিত নয় এবং এটি না ঘটে তা নিশ্চিত করার জন্য সমস্ত আরপি মার্জ করার আগে পরীক্ষা করা উচিত। আমরা কেবলমাত্র মানুষ এবং এটি হওয়ার সম্ভবত সম্ভাবনা রয়েছে তবে সাধারণভাবে এটি যদি আপনি জেলিফিনের সর্বশেষতম এবং সর্বশ্রেষ্ঠ সংস্করণ চান তবে তা মাস্টারের কাছ থেকে তৈরি করা নিরাপদ হওয়া উচিত।

শুট করার জন্য একটি অনুরোধ পরীক্ষা করা হচ্ছে

অন্য কারও প্রত্যাহারের অনুরোধ পরীক্ষা করার জন্য, আপনাকে অবশ্যই পরিবর্তনগুলি স্থানীয় স্থানীয় ভাণ্ডারে আমদানি করতে হবে।

  1. একটি টানার অনুরোধে পরিবর্তনগুলি পান এবং তাদের একটি নতুন স্থানীয় শাখায় আবদ্ধ করুন: গিট আনতে হবে প্রবাহের টান / / প্রধান: আমার-পরীক্ষা-শাখা নোট গিটহাবের নিষ্কাশন অনুরোধ নম্বর।
  2. নতুন স্থানীয় শাখা পরীক্ষা করুন: গিট আমার পরীক্ষার শাখাটি পরীক্ষা করুন
  3. পরীক্ষার জন্য প্রয়োজনীয় কোনও পরীক্ষা বা বিল্ডগুলি সম্পাদন করুন, তারপরে মাস্টারের কাছে ফিরে যান এবং শাখাটি মুছুন: গিট চেকআউট মাস্টারগিট শাখা -D আমার-পরীক্ষা-শাখা

নিষ্কাশন অনুরোধ নির্দেশিকা

নতুন আরপি জমা দেওয়ার সময় দয়া করে নীচের কাজটি নিশ্চিত করে নিন। যদি আপনার ইতিমধ্যে না থাকে তবে দয়া করে একটি গিট এনগেজমেন্ট ম্যাসেজ কীভাবে লিখবেন তা পড়ুন কারণ এটি দরকারী ব্যস্ততা বার্তা লেখার জন্য একটি দুর্দান্ত উত্স।

  • আরপি ফাইল করার আগে কুমড়ো "জাঙ্ক" সামগ্রিক গল্পটি পরিষ্কার রাখতে সম্মত হয়। একটি একক প্রতিশ্রুতিবদ্ধ একটি একক উল্লেখযোগ্য পরিবর্তন আবরণ করা উচিত: আপনার সমস্ত পরিবর্তনগুলি ক্রাশ করা এড়িয়ে চলুন, বিশেষত বৃহত্তর আরপিগুলির জন্য যা প্রচুর ফাইল স্পর্শ করে তবে আপনার শাখার ইতিহাসে 'ফিক্সড', 'ওপস টাইপো' প্রতিশ্রুতি দেয় না কারণ এটি একটি প্রকল্পের চূড়ান্ত গল্পে অপ্রয়োজনীয় বিশৃঙ্খলা।
  • একটি ভাল শিরোনাম লিখুন যা দ্রুত যা পরিবর্তিত হয়েছে তা বর্ণনা করে। উদাহরণস্বরূপ, "জেলিফিনে এলডিএপি সমর্থন যুক্ত করুন।" কীভাবে গিট প্রবৃত্তি বার্তা লিখবেন তাতে উল্লিখিত হয়েছে, সর্বদা আবশ্যক মেজাজটি ব্যবহার করুন এবং শিরোনামটি সংক্ষিপ্ত তবে বর্ণনামূলক রাখুন। শিরোনামটি অবশেষে চেঞ্জলগে প্রবেশ করবে, সুতরাং দয়া করে উপযুক্ত রাজধানী ব্যবহার করার চেষ্টা করুন তবে কোনও বিরামচিহ্ন নয়; দয়া করে মনে রাখবেন যে মূল দলটি মার্জ হওয়ার আগে এই মানটিকে আরও ভালভাবে নিশ্চিত করতে শিরোনামগুলিকে পরিবর্তন করতে পারে।
  • (সংক্ষিপ্ত) শিরোনামে পুরোপুরি বর্ণিত হতে পারে এমন অতি তুচ্ছ পরিবর্তনগুলি ছাড়াও, জনসংযোগ টেম্পলেটটি অনুসরণ করুন এবং যতটা সম্ভব বিস্তারিতভাবে বর্ণনা করার জন্য একটি জনসংযোগ সংস্থা লিখুন: কেন পরিবর্তন। সম্ভব হলে কীওয়ার্ড (সংশোধন, বন্ধকরণ, ঠিকানা ইত্যাদি) সম্পর্কিত নির্দিষ্ট বিষয়গুলি উল্লেখ করুন the কীভাবে বিষয়টিকে সম্বোধন করা হয়েছে (যদি প্রযোজ্য হয়) এবং সংক্ষেপে পরিবর্তনের বর্ণনা দিন, বিশেষত বড় আরপিএসের জন্য।
  • যদি আপনার প্রত্যাহারের অনুরোধটি এখনও শেষ না হয়ে থাকে তবে দয়া করে এটি খুললে এটি "খসড়া" হিসাবে চিহ্নিত করুন। যতক্ষণ এই ট্যাগটি স্থানে থাকবে ততক্ষণ টানার অনুরোধটি মার্জ হবে না এবং সংশোধনগুলি কেবল মন্তব্য হিসাবেই থাকবে। একবার আপনি আপনার আরপির চূড়ান্ত স্থিতিতে সন্তুষ্ট হয়ে গেলে, এই ট্যাগটি সরান; এটি ভুলে যাওয়ার ফলে আপনার আরপি অজান্তেই অবহেলিত হতে পারে যেন এটি এখনও সক্রিয় বিকাশে রয়েছে! নিষ্ক্রিয় ডাব্লুআইপিগুলি মাঝেমধ্যে টিমের পিংগুলিকে স্থিতি জিজ্ঞাসা করতে পারে এবং কোনও প্রতিক্রিয়া না থাকলে তা বন্ধ হয়ে যায় are
  • যদি সম্ভব হয় তবে বিশেষত প্যাচগুলির পরে ওভারশুটিং এবং জোর করে বা জটিল টানুন এমন অনুরোধগুলি জোর করে নিন। পরিবর্তনগুলি এখনও ঠিক আছে এবং সঠিকভাবে নির্মিত হয়েছে তা যাচাই করতে অপ্রয়োজনীয় পর্যালোচনাগুলিকে বাধ্য করে।
  • একটি পর্যালোচনা এবং আলোচনা আশা করি। যদি আপনি ভাল বর্ণনার সাথে এবং পর্যালোচনার মাধ্যমে আপনার পরিবর্তনগুলি ব্যাক আপ করতে না পারেন তবে দয়া করে এটি করা উচিত কিনা তা পুনর্বিবেচনা করুন। সমস্ত জনসংযোগের জন্য পরিচালনা দলের একজন সদস্যের কমপক্ষে একটি অনুমোদনের পর্যালোচনা প্রয়োজন, তবে আমরা কোনও অবদানকারীর দ্বারা পর্যালোচনাগুলিকে স্বাগত জানাই এবং উত্সাহিত করি, বিশেষত এটি যদি আপনার পরিচিত কোনও অঞ্চলে থাকে। আরও চোখ সবসময় ভাল হয়।
  • সমস্ত জনসংযোগকে মাস্টারে মার্জ হওয়ার আগে কমপক্ষে দু'জন দলের সদস্যের পর্যালোচনা প্রয়োজন, যদিও যে কোনও অবদানকারীর কাছ থেকে নেওয়া পর্যালোচনাগুলি স্বাগত! দ্বিতীয় দলের সদস্যের পর্যালোচনার পরে, আরপি তত্ক্ষণাত একীভূত হতে পারে, বা আরও পর্যালোচনা বা মন্তব্য প্রয়োজনে অন্যান্য অবদানকারীদের থেকে সুস্পষ্টভাবে অনুরোধ করা হয়েছে।

আমাদের সমস্ত বিকাশ নির্ভরতা ইনস্টল করতে হবে এবং সংকলন চালানোর আগে আমাদের ধারকটির কোডটি বের করে আনতে হবে।

নোট

প্রতিটি কমান্ড পৃথক লাইনে রাখুন। যে ধারকটিতে আমরা পরীক্ষা করব তাকে বলা হয় জেস্টেস্ট। ডকারের অভ্যন্তরে, প্রতিটি সময় প্রবেশের পয়েন্টটি এক্সিকিউটেবলের সমাপ্ত হলে, সেশনটি পুনরায় শুরু হয়, সুতরাং চালিয়ে যাওয়ার জন্য এটি আবার চালাও। সুতরাং আমরা নতুন সংস্করণটি পুনরায় লোড করার জন্য এটি স্পষ্টভাবে হত্যা করব।

মাস্টার শাখা

ডকার এক্সিকিউটিটি - জেস্টেস্ট বাশাপট-গেট আপডেট && এ্যাপ-গেট ইনস্টল gnupg উইজেট apt-transport-https curlwget -qO- https://packages.mic Microsoft.com/keys/microsoft.asc | জিপিজি - ডিআরএমর> মাইক্রোসফট.অ্যাস্প.পি.জি && এমভি মাইক্রোসফট.অ্যাস.পি.জি. /etc/apt/trusted.gpg। d / wget -q https://packages.microsoft.com/config/debian/10/prod.list&&vv.d.list /etc/apt/source.list.d/microsoft-prod.listcurl -sS https: / /dl.yarnpkg.com/debian/pubkey.gpg | apt-key যুক্ত - && এর প্রতিধ্বনি "দেব https://dl.yarnpkg.com/debian/ স্থিতিশীল প্রধান" | টি / ইত্যাদি / এপিটি / উত্সগুলি। list.d / yarn.listapt-get update && apt-get install dotnet-sdk-3.1 yarncd / opt && git ক্লোন https://github.com/jellyfin/jellyfin.git && গিট ক্লোন https://github.com/ জেলিফিন / জেলিফিন-ওয়েব.gitmv / জেলিফিন / / জেলিফিন.বাক এবং& সিডি / অপ্ট / জেলিফিন এবং& ডটনেট জেলিফিন প্রকাশ করে। সার্ভার - কনফিগারেশন ডিবাগ - আউটপুট = "/ জেলিফিন" - স্বয়ংসম্পূর্ণ --আরুনটাইম লিনাক্স-এক্স 64 সিডি / অপ্ট / জেলিফিন-ওয়েব এবং& সুতা ইনস্টল করুন & সুতা বিল্ড করুন & সিপি -আর / অপ্ট / জেলিফিন-ওয়েব / ডিএস / জেলিফিন / জেলিফিন-ওয়েবকিল -15 $ (পিডোফ জেলিফিন)

নিক্ষেপ করার অনুরোধ

প্রথমে মাস্টার ব্রাঞ্চ তৈরি করতে আপনার ধারকটি কনফিগার করতে পূর্ববর্তী পদক্ষেপগুলি সম্পূর্ণ করুন।

নোট

গিটহাবের নিষ্কাশন অনুরোধ নম্বর।

ডকার এক্সিকিউটিটি - জেস্টেস্ট বাশকডি / অপ্ট / জেলিফিংিত আনতে উত্সের পুল /  / শিরোনাম: আমার-পরীক্ষার-ব্রাঞ্চজিটটি আমার-পরীক্ষার-ব্রাঞ্চডোটনেট জেলিফিন প্রকাশ করে er সার্ভার - কনফিগারেশন ডিবাগ - আউটপুট = "/ জেলিফিন" - স্বয়ংসম্পূর্ণ - রুনটাইম লিনাক্স-x64kill -15 $ (পিডোফ জেলিফিন)

bn_BDবাংলা
es_ESEspañol zh_CN简体中文 hi_INहिन्दी arالعربية pt_BRPortuguês do Brasil ru_RUРусский ja日本語 de_DEDeutsch fr_FRFrançais it_ITItaliano bn_BDবাংলা