da ve k1312 / translation
引导 illuminate/translation 包
Requires
- davek1312/app: 0.2.*
- davek1312/config: 0.3.*
- illuminate/translation: ^5.4
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-20 08:10:43 UTC
README
引导 illuminate/translation 包。
安装
该包可在 Packagist 上找到,您可以使用 Composer 进行安装。
composer require davek1312/translation
配置
将 vendor/davek1312/translation/davek1312
文件夹复制到您的应用程序根目录。
要定义默认区域设置,编辑 /davek1312/translation/config/translation.php
<?php
return [
'default_locale' => 'en',
];
语言文件
应用程序语言文件
语言文件存储在 davek1312/translation/lang
中。对于您应用程序支持的所有语言,您应该有一个子目录
/davek1312
/translation
/lang
/en
test.php
/fr
test.php
每个语言文件只是一个简单的关联数组,例如
<?php
return [
'key' => 'value',
];
包语言文件
如果您正在开发一个包并希望使用语言文件,您可以按照上述方式创建它们,但您还需要注册语言文件。要注册您的语言文件,请查看 davek1312\app 文档。
用法
基本用法
<?php
use Davek1312\Translation\Translator;
$translator = new Translator();
//Retrieve a value language value for a key using the default locale
$translator->trans('file-name.key');
//Retrieve a value language value for a key with a different locale
$translator->trans('file-name.key', [], 'fr');
//Retrieve a packages langauge file value
$translator->trans('package-name::file-name.key');
在语言字符串中替换参数
您可以通过在文本前添加 :
来在语言文件中创建参数
'welcome' => 'Hello :name'
要使用参数值替换参数,提供参数值数组
// This will return "Hello David"
$translator->trans('file-name.welcome', ['name' => 'David']);
覆盖包语言文件
如果您想覆盖一个包,可以将覆盖文件放在 davek1312/translation/lang/vendor/{package-name}/{locale}
。
例如,如果您想覆盖名为 other-package
的包中的 messages.php
中的值,您将创建以下文件:davek1312/translation/lang/vendor/{other-package}/{locale}/messages.php
。在此文件中,您应该仅定义要覆盖的翻译字符串。您未覆盖的任何翻译字符串将仍然从包的原始语言文件中加载。