مشكلة مع الترجمة

In a view:


echo \Yii::t('app','Home');

In config\web.php:


'language' => 'ar',

'components' => [

        'i18n'=>array(

            'translations' => array(

                'app*'=>array(

                    'class' => 'yii\i18n\PhpMessageSource',

                    'basePath' => "@app/messages",

                    'sourceLanguage' => 'en_US',

                    'fileMap' => array(

                        'app'=>'app.php',

                        

                    )

                ),

                'yii'=>array(

                    'class' => 'yii\i18n\PhpMessageSource',

                    'basePath' => "@app/messages",

                    'sourceLanguage' => 'en_US',

                    'fileMap' => array(

                        'yii'=>'yii.php',

                    )

                )

           )

       )

],




In vendor\yiisoft\yii2\messages\ar\yii.php:


<?php

return [

    'Home' => 'الرئيسية',

];



[size="5"][right]

وعند التصفح تكون النتيجة طباعة اللفظ

[color="#FF0000"]Home [/color]

وليس اللفظ

[color="#FF0000"]الرئيسية [/color]

أليس من المفترض أن تكون النتيجة عكس ذلك؟

أرجو المساعدة …

[/right][/size]

[rtl]

ماظهر لك صحيح لوجود خطأ بسيط، لو تلاحظ بهذا السطر

[/rtl]


echo \Yii::t('app','Home');

[rtl]

انت استدعيت ترجمة Home من app، وحسب الكود بالاعدادات فإن app عبارة عن ملف اسمة app.php موجود في مجلد @app/messages حسب ماانت حددت في ملف الإعدادات

[/rtl]


'basePath' => "@app/messages",

[rtl]

فيصبح الملف هنا

[/rtl]


MY_PROJECT/messages/app.php

[rtl]وليس [/rtl]


vendor\yiisoft\yii2\messages\ar\yii.php

[rtl]لان vendor خاص ب composer

كل ماعليك فعله هو عمل مجلد messages بالمجلد الرئيسي للمشروع وإنشاء ملف app.php داخل هذا المجلد

واضف الكود التالي في ملف app.php

[/rtl]


<?php


  return [  'Home' => 'الرئيسية',];

[rtl]

اتوقع تكون وجدت الحل وأتمني ان اكون قد اجبت على استفسارك، عذرا علي التأخير ولاكن قد يستفيد احد آخر من الاجابة، تحياتي

[/rtl]