مشاركة عبر


التعميم و الترجمة لحلول Office

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • نظام 2007 Microsoft Office

  • Microsoft Office 2010

معظم جوانب التعميم و الترجمة لحلول Microsoft Office هي نفسها التي كنت تواجهها عند إنشاء أنواع أخرى من الحلول باستخدام Visual Studio. للمعلومات العامة ، راجع globalizing و الترجمة تطبيقات. يمكن العثور على معلومات التعميم و الترجمة أيضاً على صفحة ويب MSDN مشاكل التعميم و الترجمة للحلول المنشأة باستخدام أدوات Microsoft Visual Studio لنظام Microsoft Office.

ترجمة نص مستند

يتضمن النص أو القالب أو المصنف في مشروعك غالباً نصا ثابتا و الذي يجب ترجمته بشكل منفصل عن التجميع و الموارد المدارة الأخرى . الطريقة المباشرة للقيام بهذا هى إنشاء نسخة من المستند ثم ترجمة النص باستخدام Microsoft Office Word أو Microsoft Office Excel. تصلح هذه العملية حتى إذا لم تقم بإجراء تغييرات للتعليمة البرمجية، لأنه يمكن ربط أي عدد من المستندات لنفس التجميع.

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

اتجاه النص

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

تغيير الثقافة

تقوم "التعليمات البرمجية للتخصيص على مستوى المستند" الخاصة بك عادةً بمشاركة مؤشر ترابط واجهة المستخدم الرئيسية الخاصة بـ Word أو Excel ،لذلك فإن أية تغييرات تجريها على ثقافة مؤشر الترابط تؤثر على كل شيء آخر يعمل على مؤشر الترابط هذا ; التغيير غير مقيد بالتخصيص الخاص بك.

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

تثبيت حزم اللغات

إذا كان لديك إعدادات غير انجليزية لــ Windows, يمكنك تثبيت حزم اللغات Visual Studio Tools لوقت تشغيل Office لمشاهدة رسائل Visual Studio Tools لوقت تشغيل Office الموجودة في نفس اللغة مثل Windows. إذا قام أي من المستخدمين النهائيين بتشغيل الحلول الخاصة بك بإعدادات غير إنجليزية لـ Windows "، يجب أن يكون لديهم حزمة اللغة الصحيحة لمشاهدة رسائل وقت التشغيل في نفس لغة Windows. تتوفر حزم اللغات Visual Studio Tools لوقت تشغيل Office في مركز تحميل Microsoft.

بالإضافة إلى ذلك، حزم لغات .NET Framework القابلة لإعادة التوزيع ضرورية لرسائل ClickOnce . تتوفر حزم لغات .NET Framework في مركز تحميل Microsoft.

الإعدادات الإقليمية و مكالمات Excel COM

عندما يستدعي عميل مدار أسلوبا على كائن COM و يحتاج أن يمرر له المعلومات الخاصة بالثقافة، فإنه يقوم بذلك باستخدام (الإعدادات المحلية) CurrentCulture التي تطابق مؤشر الترابط الحالي المحلي. مؤشر الترابط المحلي الحالي يرث من إعدادات المستخدم الإقليمية بشكل افتراضي. ومع ذلك، عندما تقوم بإجراء استدعاء في نموذج كائن Excel من حل Excel الذي تم إنشاؤه بواسطة أدوات تطوير Office في Visual Studio ، يتم تمرير تنسيق البيانات الإنكليزية (الولايات المتحدة) (المعرف المحلي 1033) إلى نموذج كائن Excel تلقائياً. يجب عليك تنسيق كافة البيانات التي تحتوي على التنسيق الحساس للإعدادات المحلية ، مثل التواريخ والعملة باستخدام تنسيق البيانات الإنكليزية (الولايات المتحدة) قبل أن تقوم بتمريرها إلى Microsoft Office Excel أو قراءة البيانات من التعليمات البرمجية في مشروع Office. لمزيد من المعلومات، راجع تنسيق البيانات في Excel بالإعدادات الإقليمية المتعددة.

اعتبارات تخزين البيانات

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

التطبيقات التي تستخدم قيما حرفية خاصة بالسلسلة

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

يفسر Excel أية سلاسل بالتوافق مع LCID الذي يتم تمريره على السلسلة. يمكن أن يكون هذا مشكلة في حالة كان تنسيق السلسلة لا يتوافق مع LCID الذي تم تمريره. الحلول التي تم إنشاؤها بواسطة أدوات تطوير Office في Visual Studio تقوم باستخدام 1033 LCID (en-US) عند تمرير كافة البيانات. يعرض Excel البيانات استناداً إلى الإعدادات الإقليمية و لغة واجهة المستخدم لـ Excel. Visual Basic للتطبيقات (VBA) يعمل أيضاً بهذه الطريقة ، يتم تنسيق هذه السلاسل كــ en-US و يمرر VBA دائمًا 0 (اللغة الحيادية) كـ LCID. على سبيل المثال، التعليمات البرمجية التالية لـ VBA تعرض قيمة تم تنسيقها بشكل صحيح لـ ١٢ مايو 2004 في توافق مع الإعدادات المحلية للمستخدم الحالي:

'VBA
Application.ActiveCell.Value2 = "05/12/04"

التعليمات البرمجية نفسها ، عند استخدامها في أحد الحلول التي تم إنشاؤها بواسطة أدوات تطوير Office في Visual Studio و تمريرها إلى Excel من خلال توافق COM ، تظهر نفس النتائج عند تنسيق التاريخ في نمط en-US.

فعلى سبيل المثال:

Me.Range("A1").Value2 = "05/12/04"
this.Range["A1", missing].Value2 = "05/12/04";

يجب عليك أن تعمل مع البيانات المكتوبة بشدة بدلاً من القيم الحرفية للسلسلة كلما أمكن ذلك. على سبيل المثال، بدلاً من تخزين تاريخ في قيمة حرفية لسلسلة ، قم بتخزينها كــ Double ، ثم تحويله إلى كائن DateTime للمعالجة.

يأخذ مثال التعليمة البرمجية التالي التاريخ الذي يقوم المستخدم بإدخاله في الخلية A5، ويخزّنه كـ Double ،ثم يقوم بتحويله إلى الكائن DateTime للعرض في الخلية A7. يجب أن يتم تنسيق الخلية A7 لعرض تاريخ.

Private Sub ConvertDate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles ConvertDate.Click

    Try
        Dim dbl As Double = Me.Range("A5").Value2
        Dim dt As System.DateTime = System.DateTime.FromOADate(dbl)
        Me.Range("A7").Value2 = dt

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
private void ConvertDate_Click(object sender, EventArgs e)
{
    try
    {
        double dbl = (double)(this.Range["A5", missing].Value2);
        System.DateTime dt = System.DateTime.FromOADate(dbl);
        this.Range["A7", missing].Value2 = dt;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

دالات مصنف Excel

تتم ترجمة أسماء دالات ورقة العمل داخليًا في معظم إصدارات اللغات من Excel. ومع ذلك،فبسبب مشكلات اللغة المحتملة و مشكلات توافق COM، ينصح بشدة باستخدام أسماء انجليزية فقط للدالات في التعليمات البرمجية.

التطبيقات التي تستخدم البيانات الخارجية

أي تعليمة برمجية تقوم بالفتح أو تستخدم بيانات خارجية بخلاف هذا, مثل الملفات التي تتضمن قيم مفصولة بفواصل( ملفات CSV)، مصدرة من نظام قديم ، قد تتأثر أيضًا إذا كان يتم تصدير مثل هذه الملفات باستخدام أي تنسيق بالإضافة إلى en-US. الوصول إلى قاعدة البيانات قد لا يتأثر لأنه يجب أن تكون كافة القيم بتنسيق ثنائي، إلا إذا قامت قاعدة البيانات بتخزين التواريخ كسلاسل أو تنفيذ العمليات التي لا تستخدم تنسيقا ثنائيا. أيضاً، إذا قمت بإنشاء استعلامات SQL باستخدام بيانات من Excel قد تحتاج للتأكد من أنها بتنسيق en-US بحسب الدالة التي تستخدمها.

راجع أيضًا:

المهام

كيفية القيام بما يلي: استهداف واجهة مستخدم Office متعددة اللغات

المبادئ

تنسيق البيانات في Excel بالإعدادات الإقليمية المتعددة

المعلمات الاختيارية في حلول Office

موارد أخرى

تصميم و إنشاء حلول Office