Laravel Blade: 如何从当前语言环境访问不同语言环境的字符串翻译?
Laravel Blade: How to access string translations of a different locale from the current locale?
我是 laravel 的新手。请幽默一下。我正在开发一个可以使用两种不同语言的网站。我有两个文件,en.json
和 te.json
,在 resources/lang
:
// en.json
"language-text": "English"
// te.json
"language-text": "తెలుగు"
我需要让访问者明白他们可以使用英语和泰卢固语使用该网站。所以在我的 blade 中的 header 中,我有这段代码来呈现语言链接:
@foreach ($languages as $language)
@if ($language->code == app()->getLocale())
<a href={{url()->current()}}>{{ __('language-text') }}</a>
@else
<a href={{
str_replace(
'/'.app()->getLocale().'/',
'/'.$language->code.'/',
url()->current()
)
}}>{{ __('language-text') }}</a>
@endif
@endforeach
英语版本的输出:
<a href="mywebsite.com/en/mypage">English</a>
<a href="mywebsite.com/te/mypage">English</a>
泰卢固语版本的输出:
<a href="mywebsite.com/en/mypage">తెలుగు</a>
<a href="mywebsite.com/te/mypage">తెలుగు</a>
而我想要的是:
<a href="mywebsite.com/en/mypage">English</a>
<a href="mywebsite.com/te/mypage">తెలుగు</a>
我需要跨区域访问 language-text
。就像我需要在当前区域设置为 en
和 vice-versa 时从 te.json
访问 language-text
一样。我的 laravel-illiterate-brain 告诉我它应该足够简单。我到处搜索都无济于事。 questions 看起来很有希望,但这些答案只是飞过我的脑海。这个问题有更简单的解决方案吗?
当区域设置为 en
和 vice-versa 时,如何访问 resources/lang/te.json
中的键?
您可以将语言环境作为第 3 个参数传递给 __()
函数。
像这样:
{{ __('language-text', [], 'te') }}
{{ __('language-text', [], 'en') }}
这在 Laravel 文档中没有记录,但您可以查看源代码 here。
我是 laravel 的新手。请幽默一下。我正在开发一个可以使用两种不同语言的网站。我有两个文件,en.json
和 te.json
,在 resources/lang
:
// en.json
"language-text": "English"
// te.json
"language-text": "తెలుగు"
我需要让访问者明白他们可以使用英语和泰卢固语使用该网站。所以在我的 blade 中的 header 中,我有这段代码来呈现语言链接:
@foreach ($languages as $language)
@if ($language->code == app()->getLocale())
<a href={{url()->current()}}>{{ __('language-text') }}</a>
@else
<a href={{
str_replace(
'/'.app()->getLocale().'/',
'/'.$language->code.'/',
url()->current()
)
}}>{{ __('language-text') }}</a>
@endif
@endforeach
英语版本的输出:
<a href="mywebsite.com/en/mypage">English</a>
<a href="mywebsite.com/te/mypage">English</a>
泰卢固语版本的输出:
<a href="mywebsite.com/en/mypage">తెలుగు</a>
<a href="mywebsite.com/te/mypage">తెలుగు</a>
而我想要的是:
<a href="mywebsite.com/en/mypage">English</a>
<a href="mywebsite.com/te/mypage">తెలుగు</a>
我需要跨区域访问 language-text
。就像我需要在当前区域设置为 en
和 vice-versa 时从 te.json
访问 language-text
一样。我的 laravel-illiterate-brain 告诉我它应该足够简单。我到处搜索都无济于事。
当区域设置为 en
和 vice-versa 时,如何访问 resources/lang/te.json
中的键?
您可以将语言环境作为第 3 个参数传递给 __()
函数。
像这样:
{{ __('language-text', [], 'te') }}
{{ __('language-text', [], 'en') }}
这在 Laravel 文档中没有记录,但您可以查看源代码 here。