我有一个德语网站,希望它用 Laravel 将其翻译成英语(本地化?)。 每种语言都有不同的链接,因此无需获取其语言环境。
我已经通读了文档和许多文章,但仍然不确定如何执行此操作。
我需要什么:
我只有两种语言,德语(主要)和英语(第二)
我需要 url 中的参数
en
和de
,但我还没有找到这样做的教程我认为我必须使用翻译字符串作为键,因为它只对两种语言最有意义,因此我需要一个 json 文件
所以我的问题:
我想翻译成英文,但是
lang
文件夹下已经有en
文件夹了,怎么办?只需将en.json
文件放在那里?有必要使用中间件吗?或者对于经验非常少的人来说,是否有另一种白痴安全的方法来实现这一点?
如何设置和获取 url 中的语言参数并根据它翻译网站?
即使我有大约 3 个不同的路线/站点,我是否只需要一个
en
文件来翻译?
最佳答案
您已经掌握了 Laravel 中本地化的结构/功能,非常简单:
在文件夹中
resources/lang
你需要有一个 per lang 文件夹,比如
resources/lang/en -> English
resources/lang/de -> German/Deutsch
在每个 lang forlder 中,您创建一个 Blade ,例如应用翻译:
app.blade.php
您将具有以下结构:
resources/lang/en/app.blade.php -> English
resources/lang/de/app.blade.php -> German/Deutsch
例如你放在哪里
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the app library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'greets' => 'Welcome',
];
在德文的 app.blade.php 中你输入:
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the app library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'greets' => 'Wilkommen',
];
然后你可以在你的 Blade 中调用它
@lang('app.greets')
默认语言在 config/app.php
区域设置常量中设置,您可以在其中创建逻辑以使用例如 App::setLocale('de');
查看使用的语言环境只是使用 App::getLocale();
关于php - 如何使用 Laravel 将德语翻译成英语(本地化?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810671/