gelembjuk / locale
PHP应用程序的国际化支持。这是一个简单的类集合,用于管理语言/区域,根据区域翻译文本。该软件包包含一个特质,可以非常容易地将国际化功能包含到任何类中,且代码量最少。
1.1.7
2023-11-29 14:57 UTC
README
PHP应用程序的国际化支持。这是一个简单的类集合,用于管理语言/区域,根据区域翻译文本。该软件包包含一个特质,可以非常容易地将国际化功能包含到任何类中,且代码量最少。
安装
使用composer: gelembjuk/locale require: {"gelembjuk/locale": "1.*"}
配置
不需要配置。
您需要一个包含不同语言的文本的文件夹。为每个区域创建单独的文件夹,如en, ge, it等。每个文件夹应至少包含一个文件default.txt。
翻译文件具有简单的键值格式
用法
require '../vendor/autoload.php'; $translation = new Gelembjuk\Locale\Translate( array( 'localespath' => $lang_folder_path, // path to your translations directory 'locale' => $locale // current locale, 2 symbol language code ) ); echo $translation->getText('hello',''/*default group*/,$username); // hello = Hello, %s on our site. $username will be put in place of %s echo $translation->getText('welcome'); echo $translation->getText('backsoon','logoutpage'); // custom texts group in a separate web site
特质用法
class MyClass { // include translation functions use Gelembjuk\Locale\GetTextTrait; public function doSomething() { echo $this->getText('welcome').'<br>'; } public function andAgainWelcome($name) { // use short call for getText echo $this->_('hello','',$name).'<br>'; } } $obj = new MyClass(); $obj->setTranslation($translation); $obj->doSomething(); $obj->andAgainWelcome($username); $obj->setLocale('en'); $obj->andAgainWelcome($username);
语言管理器用法
$langobj = new Gelembjuk\Locale\Languages(array('localespath' => $lang_folder_path)); // list of used languages, used are languages with a folder in $lang_folder_path $languages = $langobj->getUsedLanguages(); // print language select form echo '<form name=\'langform\' method=\'GET\' action="index.php">'; echo $langobj->getHTMLSelect(' name="locale" onchange="document.langform.submit()" ',$locale/*current selected locale*/); echo '</form>';
作者
Roman Gelembjuk (@gelembjuk)