ما هي الأدوات/الأطر الجيدة لـ i18n لقاعدة تعليمات php؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

لقد كنت أبحث في بعض الخيارات لتمكين توطين وتدويل تطبيق php الديناميكي.يبدو أن هناك مجموعة متنوعة من الأدوات المتاحة مثل gettext وYahoo's R3 وأنا مهتم بالاستماع إلى كل من المطورين والمترجمين حول الأدوات الأفضل للاستخدام وما هي الوظائف المهمة في تسهيل مهمة التنفيذ والترجمة.

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

المحلول

وتنفيذ PHP gettext يعمل بشكل سلس جدا. والملفات بو مع بو تحرير وgettext حوالي جيدة باعتبارها وسيلة كما يمكنك الحصول عليها للتعامل مع تأثير توطين في الاعتبار أنه لا يوجد حل من هذا النوع يمكن التعامل معها تماما تعقيدات مختلف اللغات. على سبيل المثال، طريقة gettext جيد جدا على صيغ الجمع، ولكن لا شيء رأيت يمكن التعامل مع أشياء مثل الاقتران.

لمزيد من المعلومات انظر منصبي هنا: كيف هل بناء موقع على شبكة الإنترنت متعدد اللغات؟

نصائح أخرى

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

في الماضي، لقد استعملت الى حد كبير بلدي <م> نابعة من الداخل حل معظمها. الذي ينطوي على ملفات اللغة مع الثوابت أو المتغيرات التي تعقد كل أجزاء النص وecho'ed فقط في عرض / القالب في وقت لاحق.

وأما بالنسبة gettext، في الماضي كنت قد سمعت إشارات حول تنفيذ gettext PHP ويجري الخاطئ، ولكن لا أستطيع حقا أن يعود حتى ولا أقوم لديك أي إشارات في الوقت الحالي.

وهناك عدد من الملحقات المفيدة في PECL: http://pecl.php.net/packages.php؟catpid=28&catname= تدويل

وعلى وجه الخصوص، قد ترغب في التحقق من PHP-تي، الذي يوفر أكثر من وظائف I18N الرئيسية من مكونات الدولي لليونيكود (ICU)

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

لذلك كان تصميمنا:

  • تطبيق الترجمة في php-mysql (الوصول إلى الترجمة، وما إلى ذلك)
  • ثم تتم كتابة الترجمات في مصفوفات PHP
  • يتم أيضًا تخزين هذه المصفوفات مؤقتًا في APC لتسريع الموقع.

لذلك لتوطين اللغات المختلفة، ما عليك سوى القيام بالتضمين

يحب

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

وXataface يمكن استخدامها لتدويل بسهولة تماما PHP التعسفي / ماي التطبيق. انها تدعم ترجمة كل من نص ثابت، وبيانات قاعدة البيانات الخاصة بك. كل ما عليك القيام به هو إضافة سطر أو 2 من التعليمات البرمجية لبضعة أماكن في التطبيق الخاص بك وانها على ما يرام.

<لأ href = "HTTP: // xataface. كوم / وثائق / تعليمي / تدويل مع dataface 0.6 "يختلط =" نوفولو noreferrer "> http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

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