bertprod/translate

一个小型项目,用于管理和显示翻译

0.1.0 2021-09-13 17:40 UTC

This package is auto-updated.

Last update: 2024-09-14 00:44:18 UTC


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