rebelox / languages
Languages 允许您轻松创建多语言网站。
1.0.0
2015-06-30 13:47 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 17:38:32 UTC
README
Languages 允许您轻松创建多语言网站。
它是如何工作的
当用户打开网站时,API 将使用 geoip_country_code_by_name 函数从 GeoIP API 获取用户的国家。然后 API 搜索配置文件并获取正确的语言,然后使用用户的语言,API 获取正确的消息。如果用户有语言 Cookie,API 将忽略第一步,并使用保存在 Cookie 中的用户语言获取正确的消息。
安装
使用 Composer 安装
{
"require": {
"rebelox/languages": "^1.0"
}
}
您还可以 访问发布版 并 下载。
配置
首先您需要 配置 API,配置很简单,您只需要 创建两个文件,一个将是 语言文件,另一个将是 消息文件。
语言文件
语言文件应该是这样的
{
"default": "default_language",
"lang1": "countries",
"lang2": "countries"
}
其中
- default 是您希望网站默认使用的语言。
- lang1 和 lang2 是您想要定义的语言。
- countries 是使用该语言的国家列表。
以下是一个例子
{
"default": "pt",
"pt" : "BR,PT,AO",
"en" : "UK,US,AU"
}
您可能需要检查 这个列表 以查看所有 ISO-3166 国家代码。
======
消息文件
消息文件的结构
{
"message_name":{
"lang1":"Message in the lang1",
"lang2":"Message in the lang2"
}
}
其中
- message_name 是您想要给消息取的名字,它也被称为标识符。
- lang1 和 lang2 是您在语言文件中定义的语言。
- Message (..) lang1 和 lang2 是相应语言中的消息。
以下是一个例子
{
"hello":{
"pt":"Olá mundo",
"en":"Hello World"
}
}
基本用法
<?php require_once('../vendor/autoload.php'); use Language\Language; $language = new Language(array( 'languages_path' => __DIR__ . "/config/languages.json", 'messages_path' => __DIR__ . "/config/messages.json" )); echo $language->get('hello'); //note that the "hello" is the name of the message, a.k.a the identifier.
依赖项
要使用此 API,您需要 GeoIP 扩展。
首先您需要 安装 .dll 扩展,遵循此指南。然后您需要 数据库,要获取数据库,请 点击此处 并将其安装到您的 apache/bin 文件夹。
贡献
欢迎您为此 API 的改进做出贡献,只需在 GitHub 上提交问题,或者如果您想直接贡献,可以提交拉取请求。
示例
您可以在示例文件夹中找到一些示例,您可以亲自尝试。
构建测试
目前我还没有可用的构建测试,我正在努力...