WinForms عناصر متعددة اللغات في صافي - الآراء والاقتراحات

StackOverflow https://stackoverflow.com/questions/291117

  •  08-07-2019
  •  | 
  •  

سؤال

وهكذا لقد حصلت على البرنامج الذي يجب أن يكون متعدد اللغات. الفرق الوحيد بين ما أنا الحاجة وما وجدتها على شبكة الإنترنت هو أن كافة أجهزة الكمبيوتر يتم تعيين برنامجي سوف تعمل على لتوطين EN.

لدينا الموظفين الناطقة بالإسبانية التي سوف تستخدم البرنامج تماما مثل الموظفين يتحدث الإنجليزية. ولذا فإنني لن تكون قادرة على وضع شيء ما على أساس توطين الكمبيوتر، فإنه سوف الجميع يتعين القيام به في التعليمات البرمجية.

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

<DataSet>
   <English>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hello</Text>
   </English>
   <English>
     <ControlName>labelBye</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Bye</Text>
   </English>
   <Spanish>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hola</Text>
   </Spanish>
</DataSet>

وأيضا لم أكن أعرف الكثير عن السلاسل في ملف الموارد لكل نموذج. يمكن أن أفعل من هناك واستخدام وظائف دوت نت لتحقيق ذلك؟

وهكذا أنا حتى عن الكثير من الاقتراحات لأنني حقا لا أريد أن أعود إلى برنامج أنا فقط كتبت ووضع هذا في، وأنا أكره الذهاب الى الوراء وإضافة المزيد من الوظائف مرة واحدة لقد قضى الكثير من الوقت مع هذا مصاصة ...

والشكر

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

المحلول

ويمكنك تعيين ثقافة تريد في التعليمات البرمجية، منها مثلا:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");

هذه المقالة MSDN لأكثر معلومات.

نصائح أخرى

ومن الألم، ولكن ليس من الصعب. ضمن مصمم WinForm VS2008، حدد النموذج، عرض خصائصه وتحديد القابلة للترجمة = صحيح (إذا قمت بعرض الطبقة الجزئي / القانون خلف الملف سترى الخط الجديد الذي يبدو شيء من هذا القبيل

  resources.ApplyResources(this, "$this")

وبعد ذلك، لكل لغة تريد دعم، حدد اللغة، وتوطين أي التغييرات المطلوبة على مدى افتراضي المحلي.

وأعتقد أن ويندوز يسمح للمستخدم بتحديد لغة مختلفة لتطبيق محدد. آخر محاولة لي هذا مع Windows 2000.

ومع ويندوز يمكن أن يكون هناك ثقافة آلة EN، ولكن للمتصفح، يمكن للمستخدمين الأفراد من PC اختيار الثقافات مفضلة (IE وفايرفوكس على أي حال). كل شيء آخر على الكمبيوتر هي اللغة الإنجليزية في IE، انتقل إلى أدوات، خيارات، انقر فوق زر اللغة على علامة التبويب عام. يمكنك تحديد التسلسل الهرمي يفضل من لغات.

وتذهب إلا مع الأحبة الإجابة.

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