翻译字符串作为Laravel中的键
我阅读了翻译字符串的文档,但不知怎的,我不明白如何应用它 假设我想在视图翻译字符串作为Laravel中的键,laravel,blade,Laravel,Blade,我阅读了翻译字符串的文档,但不知怎的,我不明白如何应用它 假设我想在视图posts.index中以英语、德语(“Ich mag Programmieren”)或西班牙语(“Me encanta programar”)呈现消息“我喜欢编程”,具体取决于App::setLocale()设置的本地化 翻译文件的外观如何以及如何设置视图?消息(您可以选择)是翻译文件的名称 对于每种语言,在lang文件夹中创建一个dir。西班牙语是西班牙语 {{ trans('messages.cool') }} 我
posts.index
中以英语、德语(“Ich mag Programmieren”)或西班牙语(“Me encanta programar”)呈现消息“我喜欢编程”,具体取决于App::setLocale()设置的本地化
翻译文件的外观如何以及如何设置视图?消息(您可以选择)是翻译文件的名称
对于每种语言,在lang文件夹中创建一个dir。西班牙语是西班牙语
{{ trans('messages.cool') }}
我希望这有助于…将语言文件存储在
资源/lang
中,结构如下
/resources
/lang
/en
messages.php
/es
messages.php
所有语言文件只返回一个键控字符串数组。例如:
我终于明白了这个概念。在resources/lang
中,您可以为每种语言创建一个翻译JSON文件,例如。g、 :
/resources
/lang
/de.json
/es.json
无需创建en。如果不使用App::setLocale()
设置语言,那么en
将是默认语言,因此json
文件将成为默认语言
de.json:
{
"I love programming.": "Ich mag programmieren."
}
es.json:
{
"I love programming.": "Me encanta programar."
}
接下来,通过App::setLocale()在控制器中设置语言代码>现在是有趣的部分。在视图中,您只包括JSON的键e。g
{{{{(“我喜欢编程”)}
根据您的本地化情况,Laravel将自动加载正确的翻译 我建议不要使用翻译字符串,而是使用键:
键包含上下文信息:主屏幕。对话框。添加项目按钮
-您知道这是主屏幕上的一个按钮。这比使用字符串additem
要好得多
类似于编辑器的编辑器将键显示为树。这使得编辑翻译的特定子集更加容易。使用字符串,您很容易得到一个列表,如中止
,添加项
,阿拉巴马州
,阿拉斯加州
,全部
,亚利桑那州
李>
可以对同一文本的不同位置使用不同的翻译。例如,对于表单标签,如果语言中没有足够的空间,则可以创建较短的翻译李>
如果您的主要语言发生变化,您不必更新所有翻译文件。例如,如果您添加了,请决定将Hello world.
更改为Hello world代码>您不必更新所有文件李>
感谢您的快速跟进。事实上,我也很清楚这种方法。我不明白的是使用翻译字符串作为键的方法。但最后,我明白了我的意思,并补充了一个答案。谢谢你的快速跟进。事实上,我也很清楚这种方法。我不明白的是使用翻译字符串作为键的方法。但最后,我明白了这一点,并补充了一个答案。@Andreas那太好了:-)我想知道是否有针对西班牙语等常见语言的预先制作的json文件。虽然我西班牙语说得很流利,但我是一个大型项目的负责人,花这么多时间编写一本字典似乎不是一个明智的想法。