Laravel 默认授权模块翻译
Laravel default auth module translation
我已经生成了默认的 Laravel 授权模块。
在模块的刀片中的任何地方,我都看到双下划线 __
函数假设翻译几乎在那里。
例如
<li>
<a class="nav-link" href="{{ route('login') }}">
{{ __('Login') }}
</a>
</li>
我的问题:翻译文件在哪里?如果我创建一个,我应该把它放在哪里?
我的意思是,如果我访问 Laravel 文档站点,就会有这样的示例
echo __('messages.welcome');
有解释
For example, let's retrieve the welcome
translation string from the resources/lang/messages.php
language file:
但是在我上面的示例中没有指定文件名。它只是文本:
__('Login')
问题是:如果没有指定文件,语言文件用什么?有默认吗?它坐在哪里?设置在哪里?
Laravel中的所有语言翻译文件都应存储在PROJECT_DIRECTORY/resources/lang
中。当您使用 artisan 进行授权时,它会自动创建。但是如果找不到,那就手动创建吧。
(1)
文档提供了一种使用翻译字符串作为键的方法。在这种方法中,您可以在 PROJECT_DIRECTORY/resources/lang
中使用您当地的名称创建一个 JSON 文件,例如西班牙语名称为 es.json
或德语 de.json
,这取决于您当地的名称名字.
现在创建一个 JSON object 并将翻译与您在 blade:
中使用的字符串名称放在一起
{
"Login": "Welcome to Login Page!",
"Logout": "You are logged out!",
}
然后使用PHP双下划线方法在blades中调用你的翻译:
{{ __('Login') }}
(2)
在 PROJECT_DIRECTORY/resources/lang
目录中创建一个名为 auth.php
的文件。然后在上面放一个像这样的简单 php 数组:
<?php
return [
/*
Translations go here...
*/
];`
然后将您的翻译字符串添加到其中:
<?php
return [
'Login' => 'Welcome to Login Page!',
'Logout' => 'You are logged out!',
];`
现在在 blade 模板中只需执行以下操作:
<li>
<a class="nav-link" href="{{ route('login') }}">
{{ __('auth.Login') }}
</a>
</li>
Laravel Docs
有关于 json 文件的说明。是的,它不是 php,而是 json 文件。例如:
resources/lang/es.json
内容
{
"I love programming.": "Me encanta programar."
}
用法
echo __('I love programming.');
__('Login')
、__('Register')
、...似乎没有翻译文件,由 laravel 提供。
默认情况下,如果找不到 __('foobar')
的翻译,laravel 仅使用括号中的字符串。所以这里,假设没有翻译文件,__('Login')
被展开为'Login'
.
我已经生成了默认的 Laravel 授权模块。
在模块的刀片中的任何地方,我都看到双下划线 __
函数假设翻译几乎在那里。
例如
<li>
<a class="nav-link" href="{{ route('login') }}">
{{ __('Login') }}
</a>
</li>
我的问题:翻译文件在哪里?如果我创建一个,我应该把它放在哪里?
我的意思是,如果我访问 Laravel 文档站点,就会有这样的示例
echo __('messages.welcome');
有解释
For example, let's retrieve the
welcome
translation string from theresources/lang/messages.php
language file:
但是在我上面的示例中没有指定文件名。它只是文本:
__('Login')
问题是:如果没有指定文件,语言文件用什么?有默认吗?它坐在哪里?设置在哪里?
Laravel中的所有语言翻译文件都应存储在PROJECT_DIRECTORY/resources/lang
中。当您使用 artisan 进行授权时,它会自动创建。但是如果找不到,那就手动创建吧。
(1)
文档提供了一种使用翻译字符串作为键的方法。在这种方法中,您可以在 PROJECT_DIRECTORY/resources/lang
中使用您当地的名称创建一个 JSON 文件,例如西班牙语名称为 es.json
或德语 de.json
,这取决于您当地的名称名字.
现在创建一个 JSON object 并将翻译与您在 blade:
中使用的字符串名称放在一起{
"Login": "Welcome to Login Page!",
"Logout": "You are logged out!",
}
然后使用PHP双下划线方法在blades中调用你的翻译:
{{ __('Login') }}
(2)
在 PROJECT_DIRECTORY/resources/lang
目录中创建一个名为 auth.php
的文件。然后在上面放一个像这样的简单 php 数组:
<?php
return [
/*
Translations go here...
*/
];`
然后将您的翻译字符串添加到其中:
<?php
return [
'Login' => 'Welcome to Login Page!',
'Logout' => 'You are logged out!',
];`
现在在 blade 模板中只需执行以下操作:
<li>
<a class="nav-link" href="{{ route('login') }}">
{{ __('auth.Login') }}
</a>
</li>
Laravel Docs 有关于 json 文件的说明。是的,它不是 php,而是 json 文件。例如:
resources/lang/es.json
内容
{
"I love programming.": "Me encanta programar."
}
用法
echo __('I love programming.');
__('Login')
、__('Register')
、...似乎没有翻译文件,由 laravel 提供。
默认情况下,如果找不到 __('foobar')
的翻译,laravel 仅使用括号中的字符串。所以这里,假设没有翻译文件,__('Login')
被展开为'Login'
.