নেট নেট ইন কালচারআইনফো-র কারেন্ট কালচার এবং কারেন্ট ইউইকচারালচারের মধ্যে পার্থক্য কী?


358

.NET CultureInfoSystem.Globalizationনেমস্পেসে ক্লাস রয়েছে । এটা দুই অনুরূপ বৈশিষ্ট্য উভয় ফিরে মান আছে CultureInfo: টাইপ CurrentCultureএবং CurrentUICulture

তাদের মধ্যে পার্থক্য কী?

আমার কোনটি কখন এবং কেন ব্যবহার করা উচিত?


28
মনে রাখবেন যে মাইক্রোসফ্ট তাদের জ্ঞানের ভিত্তিতে ইউএস ইংলিশ এবং (ব্রিটিশ) ইংরাজী বা অন্যান্য ইংরেজির ইউআই সংস্কৃতি আলাদা করবে না। আঞ্চলিক সেটিংস স্থানীয়করণের জন্য সেট করা যেতে পারে , ইংরেজির জন্য কোনও এমইউআই নেই, যার অর্থ CurrentUICultureসর্বদা একটি ইংরেজি-ভাষা মেশিনে এন-ইউএস থাকবে CurrentCulture
নিকোডেমাস 13

11
হ্যাঁ. আমি ইউকেতে আছি এবং সন্ধানটি CurrentCulture'এন-জিবি', তবে CurrentUICultureএটি 'এন-ইউএস'।
কর্নেল আতঙ্ক

স্রেফ এই নিবন্ধটি বিশদে এটি ব্যাখ্যা করে পাওয়া গেছে: github.com/jbe2277/waf/wiki/CCCCCC--vs.-
বর্তমান

উত্তর:


346

CurrentCultureসিস্টেমের ডিফল্ট ব্যবহারকারী লোকেলের .NET উপস্থাপনা। এটি ডিফল্ট নম্বর এবং তারিখ বিন্যাস এবং পছন্দটিকে নিয়ন্ত্রণ করে।

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

সিস্টেমটি যা আঞ্চলিক বিকল্প হিসাবে কনফিগার করা আছে তা আপনার .NET অ্যাপ্লিকেশনে "বর্তমান" মান হবে।

প্রায়শই তারা উভয় একই হয়। তবে আমার সিস্টেমে এগুলি পৃথক হবে: আমি আমার সংখ্যা এবং তারিখগুলি জার্মান ফর্ম্যাটে পছন্দ করি, সুতরাং CurrentCultureজার্মানটি হবে তবে আমি আমার সমস্ত অ্যাপ্লিকেশনটি ইংরেজিতেও পছন্দ করি, সুতরাং এটি CurrentUICultureইংরেজি হবে।

বিষয়টিতে একটি দুর্দান্ত নিবন্ধ রয়েছে: এটিকে সমস্ত বাছাই করা: কেন আমরা কারেন্টকালচার এবং কারেন্ট ইউক্ল্যাচার উভয়ই আছে


5
: আসলে এই গভীর ব্যাখ্যা জন্য একটি ভাল বিকল্প হতে পারে forums.asp.net/post/1080435.aspx
Michael12345

@ মাইকেল 12345 ইঙ্গিত দেওয়ার জন্য ধন্যবাদ। আমি লিঙ্কটি আপডেট করেছি। আপনার লিঙ্ক করা পোস্টটিও শালীন, সম্ভবত এটি আরও ভাল।
তোমালাক

5
সেগুলি ভয়ানক নাম, যেহেতু কারেন্টইউআইকিগ্রাচটির প্রকৃত অর্থ কারেন্টল্যাঙ্গিউজক্ল্যাচার এবং কারেন্টকালচারের প্রকৃত অর্থ কারেন্টডেটা কালচার।
Pxtl

2
@Pxtl: আমি জন্য মনোনীত চাই CurrentFormattingCulture বদলে CurrentDataCulture । তবুও, নোট করুন যে এগুলি সম্ভবত আপনার নামগুলির মতোই বিপর্যয়যুক্ত হতে পারে না। উদাহরণস্বরূপ, আমি দীর্ঘ তারিখের ফর্ম্যাটটিতে তর্ক করব ( D) বেশ কয়েকটি "ভাষা" থাকতে পারে: en-US"শুক্রবার, 6 এপ্রিল, 2018" প্রদান করে, যেখানে ru-RU"6 апреля 2018 г" প্রদান করে।
বা ম্যাপার

107

কোনটি ব্যবহার করব তা মনে রাখার জন্য এটি আমি একটি সহজ কৌশল:

(date, currency, double).tostring = CurrentCulture

resource.fr-CA.resx file = currentUICulture

যদি নিকোডেমাস 13 এবং কর্নেল প্যানিকের মন্তব্যগুলিকে বিশ্বাসযোগ্য করা হয়, তবে মনে হয় আপনার কৌশলটির দ্বিতীয় ভাগটি কাজ করা উচিত নয়।
বা ম্যাপার

15

সহ ব্যবহারকারীদের দ্বারা করা চমৎকার ব্যাখ্যা ছাড়াও একটি পার্থক্য তৈরি করার একটি ভাল উপায় এবং ওয়েব অ্যাপ্লিকেশন বিকাশের একটি গুরুত্বপূর্ণ দিকটি হল:

  • CurrentCultureওয়েব সার্ভারের সেটআপ উপস্থাপন করে। উদাহরণস্বরূপ, যদি আপনার এএসপি.এনইটি ওয়েব অ্যাপ্লিকেশনটি জার্মানিতে হোস্ট করা হয় তবে এর মান CutlureInfo.CurrentCultureসম্ভবত de-DE। সুতরাং, ধরণের ডিফল্ট .ToString()ফর্ম্যাটিংয়ে IFormattableডিফল্ট জার্মান ফর্ম্যাটিংগুলি ব্যবহার করা হবে বা সার্ভার ওএস-এ ডিফল্ট হিসাবে সেট করা আছে।

  • CurrentUICultureব্যবহারকারীর এজেন্টের কাছ থেকে নেওয়া যেতে পারে এবং ওয়েবসাইটটিতে সংযোগকারী ক্লায়েন্টের ইউজার ইন্টারফেস সংস্কৃতি উপস্থাপন করতে পারে। উদাহরণস্বরূপ, যদি আপনি রাশিয়া থেকে সেই ওয়েবসাইটটি লোড, আপনার স্থানীয় সেটিংস রাশিয়ান ভাষা ব্যবহার করার জন্য সেট আছে, এবং আপনার ইউজার এজেন্ট সার্ভার (অপেরা, ইন্টারনেট এক্সপ্লোরার স্বয়ংক্রিয়ভাবে এই কাজ, ক্রোম এবং Firefox নিশ্চিত নয়) আপনার লোকেল সেটিংস পাঠায়, CurrenUICulturewould প্রতিনিধিত্ব ru-RU। এটি রিসোর্স ম্যানেজারের মাধ্যমে স্থানীয়করণের স্ট্রিংগুলির মতো পুনরুদ্ধার বা এএসপি.এনইটি এসপিএক্স / এসএসএক্স ফাইলগুলিতে রাশিয়ান ভাষায় অনুবাদ হতে পারে (যদি অনুবাদ উপলব্ধ থাকে)।


13

পার্থক্য:

  1. CurrentCultureCurrentUICultureভাষা / অনুবাদে যাওয়ার সময় তারিখ এবং মুদ্রার বিন্যাসের জন্য । এটি ResourceManagerসংস্কৃতি দ্বারা সংস্থানগুলি অনুসন্ধান করতে ব্যবহৃত হবে ।
  2. CurrentCultureবর্গের নেমস্পেসটি আসার System.Globalizationসময় ।CurrentUICultureSystem.Threading
  3. CurrentCultureঅধিবেশনটিতে বিভিন্ন অনুরোধ জুড়ে স্থির থাকে যখন CurrentUICultureপ্রতিটি অনুরোধের সাথে সেট করা দরকার।

উপমা:

তারা উভয় System.Globalization.CultureInfoস্থানেই।


8

এটি লক্ষণীয় যে, CurrentUICulture'এন' (নিরপেক্ষ সংস্কৃতি) এর CurrentCultureমতো দেশ-বিদেশী নির্দিষ্ট লোকেলগুলিকে সমর্থন করে যেখানে কেবল 'এন-জিবি' এর মতো দেশ নির্দিষ্ট লোকেলগুলি সমর্থন করে। CurrentCultureএকটি নিরপেক্ষ সংস্কৃতি সেট করা একটি নিক্ষেপ করবেArgumentException

আমি ধরে নিই যে এটি কারণ খেজুর এবং মুদ্রার মতো ফর্ম্যাটগুলি দেশের সাথে আরও দৃ strongly়ভাবে লিঙ্কযুক্ত, তবে প্রদর্শিত ভাষা প্রায়শই দেশগুলির মধ্যে পরিবর্তিত হয়।

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