هذا هو منفذ Laravel لحزمة ملحق Twig Intl.
يمكن استخدام الحزمة في أي تطبيق قائم على Laravel للتعامل بسرعة مع التدويل من خلال توفير وظائف مساعدة في قوالب Blade أو قاعدة تعليمات Laravel.
استخدام الملحن:
composer require bakame/laravel-intl-formatter
لتحرير التكوين الافتراضي، يجب عليك نشر تكوين الحزمة إلى دليل تكوين التطبيق الخاص بك:
php artisan vendor:publish --provider= " BakameLaravelIntl " --tag=config سيتم نشر ملف التكوين على config/bakame-intl-formatter.php في دليل التطبيق الخاص بك.
يرجى الرجوع إلى ملف التكوين للحصول على نظرة عامة على الخيارات المتاحة.
بمجرد التثبيت، توفر الحزمة وظائف المساعدة العامة التالية:
إرجاع اسم البلد بناءً على رمزه المكون من حرفين/خمسة أحرف؛
country name: {{ country_name ( $country , $locale ) } } echo view ( $ templatePath , [ ' country ' => ' FR ' , ' locale ' => ' NL ' ])-> render ();
// country name: Frankrijkإرجاع اسم العملة بالنظر إلى رمزها المكون من ثلاثة أحرف؛
currency name: {{ currency_name ( $currency , $locale ) } } echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency name: Iene japonêsإرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
currency symbol: {{ currency_symbol ( $currency , $locale ) } } echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency symbol: JP¥إرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
language name: {{ language_name ( $language , $locale ) } } echo view ( $ templatePath , [ ' language ' => ' it ' , ' locale ' => ' nl ' ])-> render ();
// language name: Italiaansإرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
locale name: {{ locale_name ( $data , $locale ) } } echo view ( $ templatePath , [ ' data ' => ' sw ' , ' locale ' => ' nl ' ])-> render ();
// locale name: Swahiliإرجاع اسم المنطقة الزمنية بالنظر إلى معرفها؛
timezone name: {{ locale_name ( $data , $locale ) } } echo view ( $ templatePath , [ ' timezone ' => ' Asia/Tokyo ' , ' locale ' => ' es ' ])-> render ();
// timezone name: hora de Japón (Tokio)إرجاع معرفات المنطقة الزمنية لرمز البلد المحدد؛
country timezones: {{ implde ( " , " , country_timezones ( $country )) } } $ content = view ( $ templatePath , [ ' country ' => ' CD ' , ' locale ' => ' es ' ])-> render ();
echo $ content , PHP_EOL ; // country timezones: Africa/Kinshasa, Africa/Lubumbashiتنسيق رقم كعملة؛
format currency: {{ format_currency ( $amount , $currency , $attrs , $locale ) } } $ templateData = [
' amount ' => 100.356 ,
' currency ' => ' USD ' ,
' locale ' => ' ES ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format currency: 100,3 US$تنسيق رقم؛
format number: {{ format_number ( $number , $locale , $attrs ) } } $ templateData = [
' number ' => 100.356 ,
' locale ' => ' nl ' ,
' style ' => ' spellout ' ,
' type ' => ' double ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format number: honderd komma drieتنسيقات التاريخ والوقت؛
format datetime: {{ format_datetime ( $date , $locale , $timezone , $dateFormat , $timeFormat , $pattern , $calendar ) } } $ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' timeFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format datetime: Alhamisi, 2 Juni 2022 00:00:00 Saa za Afrika ya Katiتنسيق جزء التاريخ من التاريخ والوقت؛
format date: {{ format_date ( $date , $locale , $timezone , $dateFormat , $pattern , $calendar ) } } $ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' long ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format date: 2 Juni 2022تنسيق الجزء الزمني من التاريخ والوقت؛
format time: {{ format_time ( $date , $locale , $timezone , $timeFormat , $pattern , $calendar ) } } $ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format time: 00:00:00 Saa za Afrika ya Katiتستخدم كل وظيفة نفس الوسائط بنفس الترتيب الذي تستخدمه مرشحات/وظائف حزمة Twig Extra.
إذا لم يتم تحديد locale في استدعاءات الوظائف، فستستخدم الوظيفة نتيجة IlluminateSupportFacadesApp::currentLocale() كقيمة محلية سيتم استخدامها.
في PHP8+، يمكنك استخدام المعلمات المسماة لتحسين استخدامات الوظائف لأنها تميل إلى أن تحتوي على الكثير من الوسائط:
في PHP7.4
<?php
echo format_datetime ( ' 2019-08-07 23:39:12 ' , ' fr ' , null , medium', ' medium ' , '' , ' gregorian ' , ' fr ' );في PHP8+
<?php
echo format_datetime (date: ' 2019-08-07 23:39:12 ' , locale: ' fr ' );المساهمات هي موضع ترحيب وسيتم اعتمادها بالكامل. يرجى الاطلاع على المساهمة وقواعد السلوك للحصول على التفاصيل.
المكتبة:
لإجراء الاختبارات، قم بتشغيل الأمر التالي من مجلد المشروع.
$ composer test إذا اكتشفت أي مشكلات متعلقة بالأمان، فيرجى إرسال بريد إلكتروني إلى [email protected] بدلاً من استخدام أداة تعقب المشكلات.
وظائف مساعدات الحزمة مستوحاة بشكل كبير من الأعمال السابقة التي قام بها Fabien Potencier على Twig Intl Extension.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.