سؤال

ولدي وجهة نظر ساهمت في تطبيق الكسوف الحزب الشيوعي الثوري. هذا الرأي له المترجمة اسم٪ view.name، مع الترجمة على ملف plugin.properties إلى "وجهة نظري الجزء".

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

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

إذا أبدأ من الاحالة اسم، وأرى أن الطبقة TableReader يحصل على اسم الجزء العرض، ولكن يتم ترجمتها بالفعل. رأيت أيضا أن الكسوف يحول هذا plugin.xml إلى بعض وجوه تسلسل في مرحلة ما. ربما يتم ذلك لأسباب تتعلق بالأداء؟

ولذا سؤالي هو، في وقت ما هو هذا "٪ view.name" سلسلة تحويلها إلى "وجهة نظري الجزء"

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

المحلول

وهناك اثنين على الأقل من آليات دعم التوطين في الكسوف: وNLS، وorg.eclipse.core.runtime.registry.IConfigurationElement. الجزء الذي ترغب في حدوث في IConfigurationElement.

وعندما يتم استدعاء IConfigurationElement.getAttribute(String key)، يستخدم الأسلوب ResourceTranslator.getResourceString() رأس حزمة-التوطين في أو إس جي أي اضح للعثور على الملف خصائص الصحيح (عادة ما يكون هذا هو plugin${locale}.properties) والدخول في خصائص ملف.

ويمكنك الحصول على ما هو في الواقع في ملف plugin.xml بواسطة استدعاء الأسلوب getAttributeAsIs(String key) بدلا من ذلك.

نصائح أخرى

وهذا يمكن أن تختلف تبعا لإصدار محدد من الكسوف، ولكن يبدو أن الترجمة يحدث في ResourceTranslator.getResourceString (حزمة، سلسلة، ResourceBundle)

لمساهمة جزء الرأي، وهذا يحدث عندما يتم تحميل البرنامج المساعد واضح كجزء من ExtensionRegistry.addContribution ().

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

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