a3gz / simple-locale
Simple locale
1.7.1
2019-09-06 00:28 UTC
README
安装
composer require a3gz/simple-locale
设置
创建一个具有以下设置的关联数组
languages
: 一个语言代码数组。这里使用的代码完全是任意的。env
: 每种语言的环境设置,以便本地化器知道如何格式化货币和日期等。dictionaries
: 这里我们提供字典文件,其中字符串键与翻译相关联。
典型的设置数组可能如下所示
$settings = [
'languages' => ['en'],
'env' => [
'en' => [
/* Numbers */
'decimals' => 2,
'decimalPoint' => '.',
'thousandsSeparator' => ' ',
/* Currency */
'symbolBefore' => '$ ',
'symbolAfter' => '',
/* Dates */
'timestamp' => 'Y-m-d H:i:s',
'short' => 'Y/m/d',
'long' => 'M j, Y',
'longer' => 'M j, Y \a\t H:i:s',
],
'fr' => false,
'es' => false,
],
'dictionaries' => [
function($languageCode) {
$base = dirname(__DIR__) . '/domain/locale';
$dn = "{$base}/{$languageCode}/dictionary.php";
if (is_readable($dn)) {
return @include($dn);
}
},
],
];
关于字典
字典是一个PHP文件,返回一个具有字符串键和以下所示翻译的关联数组
return [
'hello world' => 'Hola mundo!',
];
一个应用程序可以有一个或多个字典,这就是为什么期望 dictionaries
部分是一个数组。上面的演示显示了最简单的形式,其中所有翻译都位于一个文件中。
尽管这不是必需的,但建议将字典放在与 languages
部分下定义的对应语言代码命名的目录中。注意构建字典文件完整路径的部分
$dn = "{$base}/{$code}/dictionary.php";
使用方法
$locale = new Locale($settings);
echo $locale->dictionary->say('hello world');
echo $locale->currency->format12.50);