আইওএস তথ্য.পলিট ফাইলের মধ্যে একটি স্ট্রিং কীভাবে স্থানীয়করণ করবেন?


258

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

প্লাস্ট ফাইলের মধ্যে আমি কীভাবে অনুবাদ স্ট্রিং ব্যবহার করতে পারি?

-- হালনাগাদ --

আমার কাছে ইতিমধ্যে লোকালাইজেবল স্ট্রিং রয়েছে। আমি কেবল ভাবছি যে আমি প্লাস্টিং স্ট্রিংয়ের ভিতরে এনএসএলোক্যালাইজড স্ট্রিংয়ের (MYSTRING, nil) মতো কিছু ব্যবহার করতে পারি। আমি জানি যে স্থানীয়করণের জন্য আমি একাধিক ফাইল তথ্য.পল্লিস্ট তৈরি করতে পারি তবে আমি ভাবছিলাম যে এর থেকে সহজতর কোনও উপায় থাকতে পারে।


আপনি কি কখনও এটিকে কাজে লাগিয়েছেন, আমি এনএসলোকেশনহেনইন ইউজ ইউজেজডেসক্রিপশনকে স্থানীয়ীকৃত করার জন্য লড়াই করছি?
অলিভার পারমাইন

উত্তর:


489

InfoPlist.stringsমানগুলির স্থানীয়করণের জন্য আপনার ফাইল ব্যবহার করা উচিত Info.plist। এটি করতে, এর ট্যাবে নীচে File->New->Fileনির্বাচন করুন , নাম দিন এবং তৈরি করুন। আপনি স্থানীয়করণ করতে চান এমন মানগুলি খুলুন এবং সন্নিবেশ করুন :Strings FileResourceiOSInfoPlistInfo.plist

NSLocationWhenInUseUsageDescription = "Description of this";

এখন আপনি InfoPlist.stringsঅনুবাদগুলির সাথে ফাইলকে স্থানীয়করণ করতে পারেন । শুভকামনা!

সম্পাদনা করুন:

স্থানীয়করণ বিকল্পগুলি নির্বাচন করুন, বা প্রয়োজনে স্থানীয়করণ সক্ষম করুন,

ডান পাশের সম্পাদক

আপনার বাম পাশের সম্পাদকটিতেও ফাইলটি দেখতে পারা উচিত।

বাম দিকের সম্পাদক

সম্পাদনা করুন:

Info.plistকীগুলি স্থানীয়করণের জন্য অফিসিয়াল ডকুমেন্টেশন এখানে

ক্রেডিট করার মার্কো , এই উত্তরে ছবি সহ জন্য ধন্যবাদ!


15
স্ট্রিং ফাইল তৈরির পরে, আপনার কী কী তথ্য.প্লেস্ট ফাইলটিতে অন্তর্ভুক্ত করা দরকার, বা সেখান থেকে মুছে ফেলা নিরাপদ?
রাউনাক

11
পরামর্শ: হুবহু নাম "ইনফোপলিস্ট.স্ট্রিংস" এবং অন্য কিছু ব্যবহার করুন। উদাহরণস্বরূপ, আমার আসল ইনফোপলিস্ট ফাইলটির নাম অন্যরকম রাখা হয়েছিল তবে কাজটি করার জন্য আমার এই নামটি ঠিক ব্যবহার করা দরকার।
সুজার্ড পারফারস

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

10
সঠিক ব্যবহারটি কী-নাম = "আপনার পাঠ্য"; উদাহরণস্বরূপ: NSLocationWhenInUseUsageDescription = "আপনার পাঠ্য"
মাগুরিজিও

10
সাবধানতা: এই ফাইলের কীটিতে উদ্ধৃতি চিহ্ন থাকা উচিত নয়, যা সাধারণ স্থানীয়করণের সাথে আলাদা। উদাহরণস্বরূপ: এনএসমাইক্রোফোন ইউজেজ বিবরণ = "আপনার বিবরণ";
ইউচাও ঝো

32

উপরের সমস্তটি আমার পক্ষে কাজ করে নি (এক্সকোড .3.৩) তাই আমি কীভাবে করব সে সম্পর্কে অ্যাপল রেফারেন্সটি পড়েছি এবং এটি উপরে বর্ণিত তুলনায় অনেক সহজ। অ্যাপলের মতে:

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

তদনুসারে, আমি ইনফোপলিস্ট.স্ট্রিংস নামে একটি স্ট্রিং ফাইল তৈরি করেছি এবং এটিকে "xx" ভাষার ফোল্ডারে xx.lproj ফোল্ডারে রেখেছি (এবং এটি ফাইল-> ফাইলগুলিতে যুক্ত করুন ...) ব্যবহার করে প্রকল্পে যুক্ত করেছি। এটাই. "স্থানীয়করণিত সংস্থানগুলি" মিশ্রিত করা যায় না "= হ্যাঁ, এবং ভিত্তি.প্ল্রোজ বা en.lproj এ ইনফ্লিস্টলিস্ট্রিস্টিংগুলির প্রয়োজন নেই for

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

বিশেষত, ইনফোলিস্ট.স্ট্রিংগুলি (যা বেস.লপ্রোজ, এন.ল্রোজ এবং এক্সএক্স.প্লোজে ফাইলের একটি সংস্করণ তৈরি করে) স্থানীয়করণ করার দরকার নেই এবং আমার ক্ষেত্রে সেভাবে কাজ হয়নি।


2
উপযুক্ত নথির লিঙ্কটি কেন অন্তর্ভুক্ত করা হয়নি?
জুরাসিক

3
যে কেউ আগ্রহী সে ক্ষেত্রে অ্যাপল ডকের প্রাসঙ্গিক পৃষ্ঠার লিঙ্কটি এখানে: ডেভেলপার.এপল.
বেন্ড করুন

এবং আমরা কীভাবে সিদ্ধান্ত নিই যে এক্সএক্স? উদাহরণস্বরূপ ইংরেজির জন্য এটি এন, এন, ইঞ্জিনিয়ার, ইংরেজি ইত্যাদি হতে পারে? দুঃখিত যদি এটি একটি নির্বোধ প্রশ্ন কারণ আমি একটি শিক্ষানবিস
আওস নাসির

আপনার উত্তরটি আমার জন্য ফলব্যাক ভাষার দৃশ্যা ব্যতীত কাজ করেছিল, অ্যাপ্লিকেশনটি সর্বদা আগের ব্যবহৃত ভাষা এবং ইংরেজি নয়, ফ্যালব্যাক ভাষা পাচ্ছে, আমার ইংরেজি মান তথ্য.পলিট ফাইলে উপস্থিত রয়েছে যদিও আমি বেস.প্লোজেও চেষ্টা করেছি
আওস নাসির

19

যদি কিছু কাজ না করে তবে নিশ্চিত হয়ে নিন যে আপনি যুক্ত করেছেন:

"স্থানীয়করণিত সংস্থানগুলি মিশ্রিত করা যায়" = হ্যাঁ

info.plist মধ্যে। আমার ক্ষেত্রে ইনফোপ্লিস্ট.স্ট্রিং ফাইলগুলি কেবল উপেক্ষা করা হয়েছিল।


15

পরামর্শ

  1. মনে রাখবেন যে আইওএস সিমুলেটর ডিফল্টরূপে আপনার সিস্টেমের ভাষা ব্যবহার করে। আপনার অনুবাদগুলি পরীক্ষা করার জন্য দয়া করে আইওএস সিমুলেটর সেটিং-এ ভাষা (এবং অঞ্চল) পরিবর্তন করুন।

  2. স্থানীয়করণের স্ট্রিং ( এখানে অ্যাপল ডক্স দেখুন ) হওয়া উচিত

    NSLocationWhenInUseUsageDescription = "Description of this";

    এবং না ("" "উদ্ধৃতি সহ)

    "NSLocationWhenInUseUsageDescription" = "Description of this";

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

7
সেখানে একটি মন্তব্য যুক্ত করার জন্য আমার 50 টি খ্যাতি নেই।
জিউসেপ বেকারি

আপনি কীটির আশেপাশে "..." কোট ব্যবহার করেন কিনা তা বিবেচ্য নয়: ( "NSLocationWhenInUseUsageDescription"="description"বৈধ)। এটি সাথে বা বাইরেও হতে পারে।
mluisbrown

12

আমি অ্যাপলের গাইডগুলি পড়ার এবং এখানে তালিকাভুক্ত ডাব্লুডাব্লুডিসি রিসোর্সগুলি দেখার জন্য সুপারিশ করব: আন্তর্জাতিকীকরণ এবং স্থানীয়করণের বিষয়গুলি ics

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

একবার আপনি যোগ করার পরে, এটি প্রদত্ত ভাষার জন্য উপযুক্ত lproj ডিরেক্টরিতে প্রয়োজনীয় স্ট্রিং ফাইল তৈরি করবে।

--EDIT--

স্পষ্টতই, আইওএস স্থানীয় প্লাস্টিকের এন্ট্রি'র কীটি স্থানীয়করণকৃত স্ট্রিং ফাইলের কী হিসাবে ব্যবহার করে ব্যবহারকারীর বর্তমানে নির্বাচিত ভাষার উপর ভিত্তি করে আপনার প্লিস্ট ফাইলের স্ট্রিংটি সরিয়ে দেবে।


3
পুরো প্লিস্টটি কেবল একটি কীতে অনুবাদ করা ওভারকিল। এখানে আরও তথ্য সন্ধান করুন: bit.ly/1yBUTru
আরজিএমএল

2
এটি কেবল এক্সকোড ৯ এর ক্ষেত্রে সত্য নয় It একটি নতুন ভাষা যুক্ত করার সময় এটি নেভার্স প্লাস্টিক স্থানীয়করণের জন্য বলে।
টম

আমাকে এক্সকোড 9 এর জন্য এটি সন্ধান করতে হবে - এখনও নতুন এক্সকোডে পরীক্ষার সুযোগ হয়নি।
ম্যাট এস।

11

পদক্ষেপে ধাপে স্থানীয়ভাবে তথ্য.পিস্টলাইজ করুন:

  1. এক্সকোড ফোল্ডারটি রিসোর্সগুলি (মূলে স্থাপন করা হয়েছে) সন্ধান করুন
  2. রিসোর্স ফোল্ডারটি নির্বাচন করুন
  3. তারপরে মূল মেনু টিপুন-> নতুন-> ফাইল ...
  4. "রিসোর্স" স্ট্রিংস ফাইল বিভাগে নির্বাচন করুন এবং পরবর্তী টিপুন
  5. তারপরে Save Asফিল্ডে কেবলমাত্র ইনফোলিস্ট লিখুন ("আমি" মূলধন এবং "পি" মূলধন)
  6. তারপরে তৈরি করুন টিপুন
  7. তারপরে ফাইল ইনফোলিস্ট নির্বাচন করুন। স্ট্রিংস যা রিসোর্স ফোল্ডারে তৈরি করেছে এবং ডান মেনুতে "স্থানীয়করণ" বোতামটি টিপুন
  8. তারপরে আপনি প্রকল্প নেভিগেটর থেকে প্রকল্পটি নির্বাচন করুন এবং প্রকল্প তালিকা থেকে প্রকল্পটি নির্বাচন করুন
  9. নীচে অবস্থিত তথ্য ট্যাবটিতে আপনি যতটা ভাষা চান তা করতে পারেন (বিভাগীয়করণ বিভাগে রয়েছে)
  10. রিসোর্স ফোল্ডারে আপনি যে ভাষাটি দেখতে পাচ্ছেন
  11. তথ্য.পুলিস্ট ফাইল থেকে মানগুলি ("কী") স্থানীয়করণ করতে আপনি একটি পাঠ্য সম্পাদক দিয়ে খুলতে পারেন এবং আপনি যে কীগুলি স্থানীয় করতে চান তা পেতে পারেন
  12. উপরের উদাহরণের মতো আপনি কোনও তথ্যপ্লেস্টে উদাহরণ হিসাবে কোনও কী লিখুন str

"NSLocationAlwaysAndWhenInUseUsageDescription" = "blabla";

"NSLocationAlwaysUsageDescription" = "blabla2";

এটাই সব কাজ এবং আপনি নিজের তথ্য.প্লেস্ট ফাইলটি স্থানীয়করণ করেছেন!


4

এক্সকোড 9-এর মতো লোকালাইজেশন যুক্ত করার চেষ্টা করার সময় যে কেউ ইনফরমেশন.প্লেস্টকে অন্তর্ভুক্ত না করার সমস্যাটি অনুভব করছে For

নীচে দেখানো হয়েছে এমন হিসাবে আপনার ফাইল.ইপেক্টরের স্থানীয়করণ বোতামে ক্লিক করে তথ্য.পলিটকে স্থানীয়করণযোগ্য করতে হবে।

আপনি নতুন লোকালাইজেশন যুক্ত করতে গেলে তথ্য.ইলিস্টটি ফাইল সংস্থানগুলিতে অন্তর্ভুক্ত করা হবে।

এখানে চিত্র বর্ণনা লিখুন


3
আপনি কোন সমস্যা সম্মুখীন? আমি প্রকল্পের নির্মাণ করতে পারেন না যখন আমি স্থানীয়করণ দুটি ভাষা যোগ যেহেতু Xcode "বলছে এরকম কোন ফাইল না থাকায় ফাইল info.plist খোলা যাবে না।
mkkrolik

2
@ এমকেক্রোলিক আমার এখন একই সমস্যা হচ্ছে। আপনি কি সমাধান খুঁজে পেয়েছেন?
টডনলে

@ টডনলে এই সমাধানটি এড়িয়ে যান এটি আমার পক্ষে কাজ করে না। পরিবর্তে ইনফোলিস্ট.স্ট্রিং ব্যবহার করুন।
mkkrolik

@ এম কে কেক্রোলিক আপনাকে ধন্যবাদ ধন্যবাদ যে কাজ করে। এবং সিমুলেটারের সাথে পরীক্ষা করার সময়, আমাকে কাজ করার জন্য আমার লক্ষ্যটির চেয়ে সিমুলেটারের ভাষা সেটিংটি পরিবর্তন করতে হয়েছিল।
টডনলে

3

আরজিএমএল যেমন বলেছে, আপনি একটি ইনফোলিস্ট তৈরি করতে পারেন str স্ট্রিংগুলি, এটিকে স্থানীয়করণ করুন তারপরে আপনার কী এবং এর মতো মান যুক্ত করুন: "NSLocationWhenInUseUsageDescription" = "আমাকে সনাক্ত করতে সহায়তা করুন!";

এটি নির্দিষ্ট তথ্যের জন্য আপনার ইনফরমেশন.প্লেস্টে কী যুক্ত করবে।


0

আমার ক্ষেত্রে সবকিছু সঠিকভাবে সেট আপ করা হয়েছিল তবে তবুও ইনফোলিস্ট strস্ট্রিংস ফাইলটি খুঁজে পাওয়া যায় নি।

প্রকৃতপক্ষে কাজ করা একমাত্র জিনিসটি ছিল, প্রকল্পে আবার ইনফ্লিস্টলিস্টরিস্টিং ফাইলগুলি সরিয়ে এবং যুক্ত করা


0

আমার ক্ষেত্রে স্থানীয়করণ নামটিতে '-' চিহ্নের কারণ হিসাবে কাজ করে নি। উদাহরণ: "aero-Info.plist" এবং স্থানীয় ফাইলগুলি: "aero-InfoPlist.strings" এবং "aeroInfoPlist.strings" কাজ করে নি।


0

InfoPlist.stringsফাইল ব্যবহার করার সময় (এক্সকোডে এটি Info.plistফাইলের পাশে স্থাপন করা উচিত - প্রকৃত ফাইলের অবস্থানটি সম্ভবত প্রকল্পের মধ্যে যে কোনও জায়গায় থাকতে পারে

এক্সকোডে দেখুন

) অনুবাদটির জন্য কীটির সংক্ষিপ্ত নামটি ব্যবহার করতে সাবধান হন।

আমি ব্যবহার করার চেষ্টা করছিলাম Privacy - Camera Usage Description, তবে কাজের কীটি হ'লNSCameraUsageDescription

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