أفضل الممارسات لخلق مختلف اللغات حزم على الموقع؟ PHP
-
06-07-2019 - |
سؤال
ولقد خلق حزمة لغة لموقع من قبل، لكنني لست متأكدا مما إذا كان ما أفعله هو أفضل طريقة.
وأساسا، كل ما لدي هو ملف مع المتغيرات تعريف ثوابت السلسلة. عادة مجموعة من المصفوفات حيث عادة ما يشير صفيف إلى عناصر معينة من الموقع.
ثم رمز موقع يشمل فقط الملف المناسب على أساس العلم وثم صدى للخروج عنصر صفيف المناسب.
ما هي بعض الطرق للقيام بذلك للحد من الصداع الصيانة والأداء؟
المحلول
وأنا أقترح استخدام Zend_Translate . فمن حد ما مزيج من الاقتراحات الأخرى ترك الناس هنا، وأكثر للصيانة فقط ومصممة على نحو أفضل.
ويمكنك تبديل محولات حسب تفضيلاتك (يدعم gettext، CSV وعدد كبير من الآخرين)، لا تحتاج يعرف أو غلوبالس الملوثة نطاق عالمي وتم توثيقه جيدا.
نصائح أخرى
والخيار الأفضل هل يمكن أن يكون، مع PHP، هو GetText أ > ولكن ليس كل خادم وذلك في البناء، لذلك قد يكون عرض سدادة إذا كنت تدير خادمك.
وزوجان من الطرق الأكثر شيوعا للقيام بذلك هم:
1) استخدام define('SOME_STRING', 'Some string');
- ببساطة لديك ملف مختلف محشوة هذه يعرف لكل لغة. هذا أمر سهل جدا، وليس لديك لاستخدام "العالمية" في كل مكان.
2) سلاسل التفاف في وظيفة: translate('My String')
- وهذا هو أكثر مرونة كما يمكنك تحليل التعليمات البرمجية لإنشاء قوائم السلاسل إلى ترجمة، وإضافة ميزات مثل المتغيرات، على سبيل المثال translate('I can count to [number]', 10);
(وبطبيعة الحال، كنت عادة اختيار اسم الدالة أقصر، مثل "_")