Laravel和本地化:如何在不同国家/地区使用相同的语言?

时间:2018-06-22 11:48:29

标签: php laravel localization

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

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

是否有解决方案可以使它运行而无需编写自己的解决方案?

致谢,拉斐尔

2 个答案:

答案 0 :(得分:1)

要做的很简单,就是在“资源/语言”中创建一个新文件夹,例如,要制作英式英语和美式英语,则可以执行以下操作

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

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

现在英语正常使用该语言环境,这里的语言环境分别是en_usen_uk,所有语言环境都会告诉Laravel如果要在lang目录中读取哪个文件夹,不知道如何制作本地化中间件,我建议您阅读This Artice

希望这对您有帮助,祝您好运。

答案 1 :(得分:1)

您可以根据当前语言环境在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',
];
相关问题