سؤال

ما المكتبات الموجودة لكتابة تطبيقات C# الدولية؟

الوظائف النموذجية التي يجب أن تحتويها المكتبة:

  • التحقق من صحة البيانات الخاصة بكل بلد (على سبيل المثال.أرقام ضريبة القيمة المضافة، أرقام الهواتف، العناوين،...)
  • التحقق من صحة الإحداثيات المصرفية والمالية (على سبيل المثال.أرقام بطاقات الائتمان، IBAN،...)
  • وظائف خاصة باللغة (على سبيل المثال.أرقام إلى كلمات إلى أرقام، تلخيص،...)
  • تصفية المحتوى الخاص باللغة (على سبيل المثال.تصفية الكلمات ...)

مثال على هذه المكتبات في بيرل سيكون قسم التدويل/اللغة المحلية من CPAN.

ما هي حلول C# المتوفرة؟


ملحوظة:أنا لا أبحث عن مقدمة لمساحة الاسم System.Globalization :)


ملاحظة 2:هل يجب أن أفترض أنه لا توجد خيارات متاحة؟هل هناك شخص مهتم بتوحيد القوى وإنشاء واحدة؟


ملاحظة 3:قم بالتحرير لجعل السؤال يظهر على الصفحة الأولى على أمل الحصول على المزيد من الإجابات.هذا ليس سؤالًا صعبًا، كيف يمكن أن لا يقوم القائمون على التكديس بتنفيذ i18n على الإطلاق؟

هل كانت مفيدة؟

المحلول 2

تم العثور على المكتبة الأولى: فائدة (ترخيص معهد ماساتشوستس للتكنولوجيا)

تحتوي NUtility حاليًا على فئات توفر طبقة تجريد قاعدة بيانات ومعالجة سطر الأوامر ووظيفة التحقق من الصحة والتحويل، والتي تتضمن:معالجة سطر الأوامر؛التحقق من صحة بطاقة الائتمان؛التحقق من صحة عنوان البريد الإلكتروني؛التحقق من صحة عنوان IP؛التحقق من صحة الرمز البريدي في المملكة المتحدة؛Soundex، Soundex الممتد وترميز metaphone؛ترميز ROT13؛ترميز الأبجدية الصوتية؛والتحويلات المترية الإمبراطورية.

نصائح أخرى

أحد المشاريع التي تعمل على إنشاء قاعدة بيانات للعولمة والتدويل والتوطين هو مستودع بيانات لغة Unicode المشتركة, ، استنادًا إلى مشروع ICU القديم في IBM.

نظرًا لأنها قاعدة بيانات لبيانات XML، فهي لا تحتوي على أي تعليمات برمجية خاصة بـ .NET، ولكنها جيدة جدًا باعتبارها مجموعة معرفية.

توجد مجموعة فرعية صغيرة فقط في إطار عمل .NET.لم تقترب Microsoft من أي من العناصر الإضافية، مثل تنسيقات الرمز البريدي، وتهجئة الأرقام (لمبالغ الشيكات/الشيكات)، وما إلى ذلك.أسماء المناطق الزمنية القياسية (من أولسون /تز التوزيع) الخيتم تضمينها أيضًا، مع تعيينات للأسماء الخاصة بنظام التشغيل Windows.تتمتع بعض السلوكيات الهرمية الخاصة بالإعدادات المحلية أيضًا بدعم أفضل.

لن أقول أنه لا أحد يفعل i18n، لكنني لا أعرف أي أدوات عامة يمكن استخدامها لكل مشروع.سيكون الاحتفاظ بقاعدة بيانات تحتوي على كافة المعلومات التي تبحث عنها بمثابة مشروع ملحمي.يبدو أن ما تبحث عنه ليس مكتبة C# محددة، بل مجموعة من المعلومات عبر الإنترنت التي يمكنك الاستفادة منها.إذا تمكنت من العثور على مستودع للكلمات البذيئة بلغات مختلفة (على سبيل المثال)، فسيكون من السهل عليك استخدام هذا في لغة C#.أعتقد أنه سيكون من المستحيل العثور على حل يجمع جميع متطلباتك في مجموعة سهلة الاستخدام.

يمكن إجراء سلسلة إلى رقم والعكس على النحو التالي:

   culture = new CultureInfo(locale);
   int number = Convert.ToInt32(myString, culture.NumberFormat);
   string str= Convert.ToString(myNumber, culture.NumberFormat);

أما بالنسبة للتحقق من ضريبة القيمة المضافة والعناوين، فأنا مهتم بذلك أيضًا، ولم أجد أي شيء مفيد حتى الآن.

ليست "مكتبة" بالضبط، في حد ذاتها، لكنني واجهت بالفعل خدمة رائعة (مقابل أجر)، تقدمها شركة تدعى إي 4 إكس (العميل السابق لي).
ما يقدمونه هو التوطين الكامل لموقع التجارة الإلكترونية الخاص بك، بما في ذلك ترجمة اللغات، وتبادل العملات، والفواتير المحلية والتعامل مع المعاملات المالية بما في ذلك الضرائب الخاصة بالمنطقة وما إلى ذلك، والمزيد.حتى أنهم يتعاملون مع لوجستيات الشحن المادي...

يستحق النظر فيه، بالنسبة لأعمال التجارة الإلكترونية.أخبرهم أنني أرسلتك...؛-)

هذا مسعى ضخم.لنبدأ بمشكلة واحدة بسيطة:أرقام الهواتف.Libphonenumber مكتبة جوجل في http://code.google.com/p/libphonenumber/ لديه منفذ C# في https://bitbucket.org/pmezard/libphonenumber-csharp مع الملاحظات في http://blog.thekieners.com/2011/06/06/using-googles-libphonenumber-in-microsoft-net-with-c/.يبدو أنها مكتبة جيدة للتعامل مع الأرقام الأمريكية والعالمية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top