【问题标题】:Laravel & Localization: How to handle same language in different countries?Laravel 和本地化:如何在不同国家处理相同的语言?
【发布时间】:2018-07-09 21:45:04
【问题描述】:

虽然 Laravel 称其为“本地化”,但我看不到创建不同语言文件的解决方案,例如en_EN 和 en_US。

在所有教程中,我只找到例如“/resources/lang/en/.php” - 对于真正的本地化,我希望使用“/resources/lang/en_EN/.php”和“/resources/lang/en_US/.php”。

有没有解决方案让它在不编写自己的解决方案的情况下工作?

问候,拉斐尔

【问题讨论】:

    标签: php laravel localization


    【解决方案1】:

    这真的很简单,你只需在“资源/语言”中创建一个新文件夹,例如你想制作英式英语和美式英语,那么你可以执行以下操作

    让我们创建两个名为 main.php 的翻译文件,一个用于美国,一个用于英国

    "/resources/lang/en_us/main.php"
    "resources/lang/en_uk/main.php" 
    

    现在对于英语来说,语言环境是正常的,语言环境就在这里,语言环境将分别是 en_usen_uk,所有语言环境都会告诉 Laravel lang 目录中的哪个文件夹可以读取,如果你不知道的话如何制作本地化中间件我建议你阅读This Artice

    希望对你有帮助,祝你好运。

    【讨论】:

      【解决方案2】:

      您可以根据当前语言环境更改 ServiceProvider 中的后备语言环境 (https://laravel.com/docs/5.6/localization)。因此,如果语言环境是 en_US,请将回退设置为 en_En,以便它使用该文件来代替缺少的键。这样,您可以例如使用颜色 -> 颜色或电梯 -> 电梯。

      lang/en_GB.php

      config(['app.fallback_locale' => 'en_US']); // set fallback
      
      // continue rest of translation
      return [
          'elevator ' => 'lift',
      ];
      

      【讨论】:

        猜你喜欢
        • 2017-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-17
        • 1970-01-01
        • 2021-05-28
        • 1970-01-01
        相关资源
        最近更新 更多