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 上提交问题,或者如果您想直接贡献,可以提交拉取请求。
示例
您可以在示例文件夹中找到一些示例,您可以亲自尝试。
构建测试
目前我还没有可用的构建测试,我正在努力...