bertprod / translate
一个小型项目,用于管理和显示翻译
0.1.0
2021-09-13 17:40 UTC
Requires
- php: >=7.3
Requires (Dev)
- phpunit/php-code-coverage: ^9.2
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
README
一个小型项目,用于管理和显示翻译
动机
我正在寻找一个非常简单的库来管理和显示从json文件中提取的翻译。这是我的。
安装
您可以通过composer安装它
composer require bertprod/translate
您需要设置一个ini配置文件。您可以在config目录中找到一个示例文件。
系统要求
PHP >= 7.3,但强烈推荐使用最新稳定版本
用法
不要实例化Sentence类,请使用工厂。
<?php use BertProd\Translate\SentenceFactory; ?>
目前,仅支持ini文件进行配置。句子必须存储在json文件中。您可以使用文件file/sentence-example.json
作为基础。
<?php $iniFile = '[PATH_TO_INI_CONFIGURATION_FILE]'; $sentenceFile = '[PATH_TO_JSON_SENTENCES_FILE]'; $sentence = $sentenceFactory->createFromIni($iniFile, $sentenceFile); ?>
您可以使用以下方式获取存储在json文件中的句子
<?php $sentence->getTranslation('LABEL_HELLO_WORLD'); ?>
您可以通过切换来请求其他语言的句子
<?php $sentence->setCurrentLang('nl'); ?>
如果没有找到翻译,您将获得默认语言的翻译(配置文件中设置的)
如果配置文件中的store_current_lang_to_session
指令设置为1
,则您使用的语言将存储在会话中(当然,每次您调用setCurrentLang()
方法时,会话值都将更新)。为了不干扰您的脚本,此库不使用session_start();
或session_destroy();
,您需要自己调用这些方法。
测试
单元测试
您可以通过PHPUnit运行单元测试
vendor/bin/phpunit
代码规范
代码遵循PSR12,要运行测试
vendor/bin/phpcs --standard=PSR12 src/
许可证
MIT
鸣谢
- Bertrand Andres