Explorar el Código

多语言修改

kevin hace 1 año
padre
commit
f06fcc4ba6

+ 2 - 2
backendApi/modules/v1/controllers/BaseController.php

@@ -41,8 +41,8 @@ class BaseController extends \yii\rest\ActiveController {
         // 动态返回语言:zh:zh-CN | en:en-US
         if (!Yii::$app->request->isOptions) {
             $language = Yii::$app->request->headers->get('language') ?? 'en';
-            Yii::$app->language = $language == 'zh' ? 'zh-CN' : 'en-US';
-            Yii::$app->sourceLanguage = $language == 'zh' ? 'en-US' : 'zh-CN';
+            Yii::$app->language = Tool::langConvert($language);
+//            Yii::$app->sourceLanguage = 'en-US';
         }
 
         // 增加的判断用户登录后未操作后的超时

+ 2 - 2
common/config/main.php

@@ -91,7 +91,7 @@ return [
                 'app*' => [
                     'class' => 'yii\i18n\PhpMessageSource',
                     'basePath' => '@common/messages',
-//                    'sourceLanguage' => 'en-US',
+                    'sourceLanguage' => 'en-US',
                     'fileMap' => [
                         'app' => 'app.php',
                         'app/error' => 'error.php',
@@ -100,7 +100,7 @@ return [
                 'ctx*' => [
                     'class' => 'yii\i18n\PhpMessageSource',
                     'basePath' => '@common/messages',
-//                    'sourceLanguage' => 'en-US',
+                    'sourceLanguage' => 'en-US',
                     'fileMap' => [
                         'ctx' => 'ctx.php',
                         'ctx/error' => 'error.php',

+ 21 - 9
common/helpers/Tool.php

@@ -467,15 +467,27 @@ class Tool {
      */
     public static function langConvert($lang): string
     {
-        switch ($lang) {
-            case 'zh':
-                return 'zh-CN';
-            case 'en':
-                return 'en-US';
-            default:
-        }
-
-        return 'en-US';
+//        $map = [
+//            '620713695651307520' => 'en-US',
+//            '620713695718416384' => 'zh-CN',
+//            '620713695718416385' => 'ar-EG',
+//            '620713695722610688' => 'fr-FR',
+//            '620713695722610689' => 'pt-PT',
+//            '620713695722610690' => 'es-ES',
+//            '620713695722610691' => 'sw-KE',
+//        ];
+
+        $map = [
+            'en' => 'en-US',
+            'zh' => 'zh-CN',
+            'ar' => 'ar-EG',
+            'fr' => 'fr-FR',
+            'pt' => 'pt-PT',
+            'es' => 'es-ES',
+            'sw' => 'sw-KE',
+        ];
+
+        return $map[$lang] ?? 'en-US';
     }
 
     /**

+ 2 - 2
frontendApi/modules/v1/controllers/BaseController.php

@@ -62,8 +62,8 @@ class BaseController extends \yii\rest\ActiveController {
         // 动态返回语言:zh:zh-CN | en:en-US
         if (!Yii::$app->request->isOptions) {
             $language = Yii::$app->request->headers->get('language') ?? 'en';
-            Yii::$app->language = $language == 'zh' ? 'zh-CN' : 'en-US';
-            Yii::$app->sourceLanguage = $language == 'zh' ? 'en-US' : 'zh-CN';
+            Yii::$app->language = Tool::langConvert($language);
+//            Yii::$app->sourceLanguage = 'en-US';
         }
 
         if (!\Yii::$app->getUser()->isGuest) {