سؤال

وأنا أبحث في تقديم الدعم متعدد اللغات لتطبيق CGI ناضجة مكتوب في بيرل. كنت قد فكرت في الأصل المتداول حل بلدي استخدام تجزئة بيرل (المخزنة على القرص) لملفات الترجمة ولكن بعد ذلك جئت عبر وحدة نمطية CPAN الذي يظهر لفعل ما أريد (<أ href = على "HTTP: //search.cpan. غزاله / ~ audreyt / I18N-0.10 / ليب / i18n.pm "يختلط =" noreferrer "عنوان =" I18N "> I18N ).

هل لديها أي خبرة مع التدويل (تحديدا I18N CPAN وحدة) في بيرل؟ هو I18N وحدة والطريقة المفضلة للحصول على دعم متعدد اللغات أو ينبغي أن تعيد النظر في الحلول مخصصة؟

والشكر

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

المحلول

وهناك بيرل مجلة المقالة على توطين البرمجيات. وسوف توفر لك مع فكرة جيدة عن ما يمكن أن تتوقعه عند إضافة دعم متعدد اللغات. انها جميلة مكتوبة وهوموروس.

وعلى وجه التحديد، يتم كتابة المادة من قبل الناس الذين كتبوا والحفاظ على Locale::Maketext ، لذلك أنصح أن وحدة تستند ببساطة على كمية من الألم فمن الواضح كان الكتاب لتحمل لجعلها تعمل بشكل صحيح.

نصائح أخرى

http://rassie.org/archives/247 للحصول على مقارنة gettext GNU الحديث، لغة :: Maketext واللغة :: TextDomain.

في استجابة ل سؤالي حول هذا أحد التعليقات اقترح قراءة هذه المقالة حول توطين كود بيرل.

إذا كان لديك الوقت ثم القيام نلقي نظرة على الطريقة التي يتم القيام به I18N في Jifty إطار - على الرغم من البداية مربكة جدا هو أنيق جدا وصالحة للاستعمال

وانهم الزائد _ بحيث يمكنك استخدام _("text to translate") في أي مكان في التعليمات البرمجية. هذه السلاسل ثم يتم تحويلها باستخدام اللغة :: Maketext كالمعتاد.

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

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