gokhankurtulus / multilanguage
一个用于多语言项目的简单PHP库。
1.0.0
2023-12-31 08:15 UTC
Requires
- php: ^8.0 || ^8.1 || ^8.2
README
一个用于多语言项目的简单PHP库。
安装
您可以使用Composer安装此库。运行以下命令
composer require gokhankurtulus/multilanguage
用法
首先您需要创建一个目录,并在该目录下创建所需的JSON格式的语言。下面提供了示例JSON文件。
示例层级
project
├── Lang
│ ├── de.json
│ ├── en.json
│ └── tr.json
└── index.php
en.json
{
"Hello": "Hello #name# $lastname$",
"Homepage": "Homepage"
}
tr.json
{
"Hello": "Selam #name# $lastname$",
"Homepage": "Anasayfa"
}
de.json
{
"Hello": "Hallo #name# $lastname$",
"Homepage": "Startseite"
}
index.php
use MultiLanguage\MultiLanguage; MultiLanguage::setDirectoryPath(__DIR__ . DIRECTORY_SEPARATOR . "Lang"); MultiLanguage::setAllowedLanguages(["en", "tr", "de"]); MultiLanguage::setDefaultLanguage("en"); MultiLanguage::setCurrentLanguage("tr"); // Output will be "Homepage" because $lang parameter is set to 'en'. // If $lang is null or empty tries to get current language // if current is not defined then tries to get default language // if both not defined and $lang is not given throws an LanguageException echo MultiLanguage::translate('Homepage', 'en'); // Output will be "Anasayfa" because current language is 'tr'. echo MultiLanguage::translate('Homepage'); // Output will be "Hallo John Doe". // Specify unique keys in the language file then you can manipulate them. // In this example, if your key is located many places in string it will change all of them. echo MultiLanguage::translate('Hello', 'de', ['#name#' => 'John', '$lastname$' => 'Doe']);
公开方法
MultiLanguage::translate(string $text, ?string $lang = null, array $replacement = []); MultiLanguage::getDirectoryPath(); MultiLanguage::setDirectoryPath(string $directoryPath, bool $force = false); MultiLanguage::getAllowedLanguages(); MultiLanguage::setAllowedLanguages(array $languages); MultiLanguage::isAllowedLanguage(string $lang); MultiLanguage::getDefaultLanguage(); MultiLanguage::setDefaultLanguage(string $lang); MultiLanguage::getCurrentLanguage(); MultiLanguage::setCurrentLanguage(string $lang);
许可证
MultiLanguage 是一个开源软件,根据 MIT 许可证 发布。您可以在项目中自由修改和使用它。
贡献
欢迎对 MultiLanguage 的贡献!如果您发现任何问题或对改进有建议,请创建问题或提交一个 pull request 到 GitHub 仓库。