gpt4 book ai didi

laravel - 如何使用 Laravel 翻译字符串?这没用

转载 作者:行者123 更新时间:2023-12-04 01:54:25 25 4
gpt4 key购买 nike

我不知道我做错了什么。我在 resources/lang/de/de.json 中有它,但不知何故它不起作用......

我用它测试过

Route::get('/', function () {
app()->setLocale('de');
echo __('good');
dd(app()->getLocale());
return view('welcome');
});

我得到:
good
"de"

我究竟做错了什么?

最佳答案

这不是翻译的工作方式。您不能只提供一个字符串并期望它的有效翻译。您需要正确定义和引用它们。

resources/lang ,默认情况下你应该有一个文件夹 en ,它可以包含任意数量的文件。在您的情况下,为 general.php 添加一个,具有以下内容:

<?php return [
"good" => "good"
];

现在,添加相应的 de文件夹和文件( resources/lang/de/general.php):
<?php return [
"good" => "gut"
];

现在,当调用 __("general.good") (或 trans("general.good") ,取决于 Laravel 版本),基于你当前的 locale你应该得到 "good""gut" :
// Default locale is `en` unless overridden
echo __("general.good"); // "good"
app()->setLocale("de");
echo __("general.good"); // "gut"

注意:任何时候翻译失败,它都会回显你试图翻译的任何内容,所以 app()->setLocale("es); echo __("general.good");将回显 "general.good"作为 es.general.good 的翻译文件夹/文件没有定义。

编辑:

在意识到我们正在尝试使用翻译字符串后,我注意到 de.json 的当前路径与示例中提供的相比,有点偏离:
/resources/lang/de/de.json
/resources/lang/es.json

似乎在使用翻译字符串时, .json文件将保存在 /resources/lang目录,并且在特定于语言的子目录中没有。

关于laravel - 如何使用 Laravel 翻译字符串?这没用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com