tomk79 / langbank
0.3.1
2023-02-04 16:45 UTC
Requires
- php: >=7.3.0
- tomk79/filesystem: ^1.0
- twig/twig: *
Requires (Dev)
- phpunit/phpunit: ~9.5
README
安装
NodeJS
$ npm install --save langbank;
PHP
$ composer require tomk79/langbank;
基本用法
NodeJS
var LangBank = require('langbank'); var lb = new LangBank('/path/to/list.csv', function(){ lb.setLang('en'); console.log( lb.get('hello') ); // <- "Hello" });
PHP
require_once('/path/to/vendor/autoload.php'); $lb = new tomk79\LangBank('/path/to/list.csv'); $lb->setLang( 'en' ); $lb->get('hello'); // <- "Hello"
list.csv
"","en","ja","anylang"
"goodmorning","Good Morning!","おはよう!","good morning in anylang"
"hello","Hello","こんにちわ","hello in anylang"
使用第2列作为默认语言。
使用 Twig
可以使用 "Twig" 模板。
NodeJS
var LangBank = require('langbank'); var lb = new LangBank( '/path/to/list.csv', { "bind":{ "sample": "Morning" } }, function(){ lb.setLang('en'); console.log( lb.get('goodmorning') ); // <- "Good Morning!" } );
list.csv
"","en"
"goodmorning","Good {{ sample }}!"
可以使用 "Twig" 绑定临时数据。
NodeJS
var LangBank = require('langbank'); var lb = new LangBank( '/path/to/list.csv', function(){ lb.setLang('en'); console.log( lb.get('goodfoobar', {"sample": "Evening"}) ); // <- "Good Evening!" } );
list.csv
"","en"
"goodfoobar","Good {{ sample }}!"
Twig 中的 _ENV
langbank 对象在 "Twig" 模板中可以通过 _ENV
访问。
NodeJS
var LangBank = require('langbank'); var lb = new LangBank( '/path/to/list.csv', function(){ lb.setLang('en'); console.log( lb.get('goodmorning') ); // <- "Good Morning!" } );
list.csv
"","en"
"morning","Morning"
"goodmorning","Good {{ _ENV.get('morning') }}!"
变更日志
langbank v0.3.1 (2023-02-05)
- 内部代码的细微修正。
langbank v0.3.0 (2022-11-03)
get()
现在接受第二个参数作为绑定数据。
langbank v0.2.2 (2022-09-25)
- NodeJS版, PHP版:
get()
修正了在没有请求语言版本的翻译时,不能返回默认语言的问题。
langbank v0.2.1 (2022-06-05)
- NodeJS版: 修正了在浏览器上运行时可能无法加载的问题。
langbank v0.2.0 (2022-01-08)
- PHP版: 将支持的PHP版本更改为
>=7.3.0
,并支持PHP 8.1。
langbank v0.1.1 (2021-11-29)
- NodeJS版: 修正了在初始化时提供的第一个参数为
null
或undefined
时异常终止的问题。
langbank v0.1.0 (2021-11-28)
- 为
get()
添加了第二个参数$defaultValue
。 - NodeJS版: 废弃了 ejs,并支持 Twig。
langbank v0.0.5 (2021-04-23)
- 添加了
getLang()
方法。 - 内部代码的细微修正。
langbank v0.0.4 (2019-12-30)
- PHP版支持 Twig 3.0 系列。
langbank v0.0.3 (2018-05-24)
- 实验性地添加了 PHP 版本。
langbank v0.0.2 (2016-08-21)
- 当选择的语言的单词未注册时,开始引用默认语言。
- 当单词未注册时,返回字符串
---
。 - 在单词中可以使用 EJS 模板。
- 第一个参数不仅可以接收 CSV 文件的路径,还可以接收 CSV 格式的字符串。
langbank v0.0.1 (2016-08-20)
- 首次发布。
许可证
MIT 许可证
作者
- Tomoya Koyanagi tomk79@gmail.com
- 网站: https://www.pxt.jp/
- Twitter: @tomk79 https://twitter.com/tomk79/