রিসোর্স বান্ডেলে রাখলে অ্যাপোসট্রফ সঠিকভাবে অনুবাদ হয় না


90

রিসোর্স বান্ডেলে রাখলে অ্যাপোসট্রফ সঠিকভাবে অনুবাদ হয় না।

key = {0}'s brush is {1} centimeters tall

(e.g. Sam's brush is 4 centimeters tall)

আমি যদি java.util.ResourceBundleএখানে কী হতে পারে তবে উপরের কীটি ফর্ম্যাট করলে এস্ট্রোফের হাতছাড়া হয়ে যায় ?


4
+1 আমি নিজেই এই সমস্যায় পড়েছিলাম এবং এ সম্পর্কে একটি ছোট ব্লগ পোস্ট লিখেছি। : হয়তো এটা এই "বৈশিষ্ট্য" মধ্যে চলমান মানুষের জন্য অতিরিক্ত তথ্য প্রদান করতে পারেন mscharhag.com/2013/10/...
Micha

উত্তর:


120

আপনি যেমন একক উদ্ধৃতি এড়ানো উচিত

key = {0}''s brush is {1} centimeters tall

চমৎকার উত্তর. এটি আমার সমস্যাটি একক উদ্ধৃতি দিয়ে সমাধান করেছে। ধন্যবাদ :) +1
আনিস বি।

35

আমি দৃ strongly়ভাবে বিশ্বাস করি যে সমস্যাটি রিসোর্স বান্ডেল নয় তবে আপনি বার্তাটি মুদ্রণের জন্য যে বার্তা ফর্ম্টারটি ব্যবহার করেন:

মেসেজফর্মেটর জাভা ডক থেকে :

একটি স্ট্রিংয়ের মধ্যে, '' ( দুটি একক উদ্ধৃতি ) একটি একক উদ্ধৃতি উপস্থাপন করে। একটি উদ্ধৃত স্ট্রিংয়ে একক উদ্ধৃতি ব্যতীত নির্বিচারে অক্ষর থাকতে পারে; আশেপাশের একক উদ্ধৃতি সরানো হয়েছে। আনকোটেড স্ট্রিংয়ে একক উদ্ধৃতি এবং বাম কোঁকড়া বন্ধনী ব্যতীত নির্বিচারে অক্ষর থাকতে পারে। সুতরাং, একটি স্ট্রিং যার ফলস্বরূপ '{0}' বিন্যাসিত বার্তাটি '' '{' 0} '' বা '' '{0}' '' হিসাবে লেখা যেতে পারে।

সুতরাং আপনার লিখতে হবে:

{0}''s brush is {1} centimeters tall

6

তাকান এখানে javadoc

একটি স্ট্রিংয়ের মধ্যে, "''" একক উদ্ধৃতি উপস্থাপন করে। একটি উদ্ধৃত স্ট্রিংয়ে একক উদ্ধৃতি ব্যতীত নির্বিচারে অক্ষর থাকতে পারে; আশেপাশের একক উদ্ধৃতি সরানো হয়েছে। আনকোটেড স্ট্রিংয়ে একক উদ্ধৃতি এবং বাম কোঁকড়া বন্ধনী ব্যতীত নির্বিচারে অক্ষর থাকতে পারে। সুতরাং, ফর্ম্যাট বার্তায় ""। 0} "" ফলস্বরূপ এমন একটি স্ট্রিং "" '' {'0}' '"বা"' '' {0} '' '"হিসাবে লেখা যেতে পারে।



5

@ র‌্যাল্ফের উত্তরে যুক্ত করা: আপনি MessageFormatযখন বুঝতে পারবেন যে আপনি যখন পাঠ্য পছন্দ করেন তখন এটি একটি জিনিস

text1=It's too late

বনাম

text2={0}''s too late

text1সম্ভবত কোনও বার্তাফর্মেটর দিয়ে চলবে না (উদাহরণস্বরূপ বসন্তের বিভিন্ন কোড পাথ রয়েছে যদি আর্গুমেন্টগুলি পাস হয় বা না হয়), তবে text2হবে। সুতরাং আপনি যদি দু'টি একক উদ্ধৃতি ব্যবহার করেন text1তবে সেগুলি / এগুলি প্রদর্শিত হবে। সুতরাং আপনাকে কোনও আর্গুমেন্ট ফর্ম্যাট করা হয়েছে কি না তা পরীক্ষা করে দেখতে হবে এবং সেই অনুযায়ী এক বা দুটি একক উদ্ধৃতি ব্যবহার করতে হবে।


5

আপনি যদি পুরোপুরি আটকে থাকেন তবে আমি যেমন ছিলাম (উপরের কোনওটিই কাজ করেনি), আপনি তার ইউনিকোডের সাথে অ্যাস্টোস্ট্রোফ চিহ্নটি প্রতিস্থাপন করতে পারেন: 00 u0027। মনে রাখবেন আপনাকে সর্বদা আপনার সম্পত্তি ফাইলে ইউটিএফ প্রতীক ব্যবহারের অনুমতি দেওয়া হয়।



1

স্ট্রিং.এক্সএমএল এ অ্যান্ড্রয়েড সমস্যা রয়েছে এমন প্রত্যেকের জন্য, একক উদ্ধৃতির পরিবর্তে \ '\' ব্যবহার করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.