test: 增加apps/nodejs demo
This commit is contained in:
parent
95cf29aae9
commit
fae66ba0a6
8
packages/apps/nodejs/index.js
Normal file
8
packages/apps/nodejs/index.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
const { t,i18nScope } = require("./languages");
|
||||||
|
|
||||||
|
cn_messages = t("一{}")+t("二")+t("三")+t("四")+t("五")
|
||||||
|
|
||||||
|
console.log(t("这是一个测试:{a}+{b | x}={c}",{a:1,b:2,c:3}))
|
||||||
|
|
||||||
|
console.log("END")
|
32
packages/apps/nodejs/languages/de.js
Normal file
32
packages/apps/nodejs/languages/de.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
module.exports = {
|
||||||
|
"1": "Hello world!",
|
||||||
|
"2": "中华人民共和国",
|
||||||
|
"3": "迎接中华民族的伟大复兴",
|
||||||
|
"4": "成立于{}年",
|
||||||
|
"5": "首都:北京",
|
||||||
|
"6": "VoerkaI18n多语言解决方案 ",
|
||||||
|
"7": "现在是{ value | date }",
|
||||||
|
"8": "现在是{ value | shortdate }",
|
||||||
|
"9": "现在是{ value | time }",
|
||||||
|
"10": "现在是{ value | shorttime }",
|
||||||
|
"11": "现在是{ value | year }",
|
||||||
|
"12": "现在是{ value | month }",
|
||||||
|
"13": "现在是{ value | day }",
|
||||||
|
"14": "现在是{ value | weekdayValue }",
|
||||||
|
"15": "现在是{ value | weekday }",
|
||||||
|
"16": "现在是{ value | shortWeekday }",
|
||||||
|
"17": "现在是{ value | monthName }",
|
||||||
|
"18": "现在是{ value | shorMonthName }",
|
||||||
|
"19": "现在是{ value | hour }",
|
||||||
|
"20": "现在是{ value | hour12 }",
|
||||||
|
"21": "现在是{ value | minute }",
|
||||||
|
"22": "现在是{ value | second }",
|
||||||
|
"23": "现在是{ value | millisecond }",
|
||||||
|
"24": "现在是{ value | timestamp }",
|
||||||
|
"25": "商品价格:{ value | currency }",
|
||||||
|
"26": "商品价格:{ value | capitalizeCurrency }",
|
||||||
|
"27": "现在是{ value }",
|
||||||
|
"28": "商品价格:{ value | currency('CNY','元整',3)}",
|
||||||
|
"29": "商品价格:{ value | capitalizeCurrency(true) }",
|
||||||
|
"30": "商品数量:{ value | number }"
|
||||||
|
}
|
34
packages/apps/nodejs/languages/en.js
Normal file
34
packages/apps/nodejs/languages/en.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
module.exports = {
|
||||||
|
"1": "VoerkaI18n多语言解决方案 ",
|
||||||
|
"2": "EN Hello world!",
|
||||||
|
"3": "The People's Republic of China",
|
||||||
|
"4": "Welcome the great rejuvenation of the Chinese nation",
|
||||||
|
"5": "Founded in {}",
|
||||||
|
"6": "Capital: Beijing",
|
||||||
|
"7": "Price:{ value | currency }",
|
||||||
|
"8": "Price:{ value | capitalizeCurrency }",
|
||||||
|
"9": "Price:{ value | capitalizeCurrency(true) }",
|
||||||
|
"10": "Count:{ value | number }",
|
||||||
|
"11": "Now is { value }",
|
||||||
|
"12": "Now is { value | date }",
|
||||||
|
"13": "Now is { value | date | empty }",
|
||||||
|
"14": "Now is { value | date | empty('无') }",
|
||||||
|
"15": "Now is { value | shortdate }",
|
||||||
|
"16": "Now is { value | time }",
|
||||||
|
"17": "Now is { value | shorttime }",
|
||||||
|
"18": "Now is { value | year }",
|
||||||
|
"19": "Now is { value | month }",
|
||||||
|
"20": "Now is { value | day }",
|
||||||
|
"21": "Now is { value | weekdayValue }",
|
||||||
|
"22": "Now is { value | weekday }",
|
||||||
|
"23": "Now is { value | shortWeekday }",
|
||||||
|
"24": "Now is { value | monthName }",
|
||||||
|
"25": "Now is { value | shorMonthName }",
|
||||||
|
"26": "Now is { value | hour }",
|
||||||
|
"27": "Now is { value | hour12 }",
|
||||||
|
"28": "Now is { value | minute }",
|
||||||
|
"29": "Now is { value | second }",
|
||||||
|
"30": "Now is { value | millisecond }",
|
||||||
|
"31": "Now is { value | timestamp }",
|
||||||
|
"32": "Price:{ value | currency('CNY','元整',3)}"
|
||||||
|
}
|
66
packages/apps/nodejs/languages/formatters/de.js
Normal file
66
packages/apps/nodejs/languages/formatters/de.js
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
/**
|
||||||
|
|
||||||
|
格式化器用来对翻译文本内容中的插值变量进行处理
|
||||||
|
|
||||||
|
比如将一个数字格式化为货币格式,或者将一个日期格式化为友好的日期格式。
|
||||||
|
|
||||||
|
- 以下定义了一些格式化器,在中文场景下,会启用这些格式化器。
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
export default {
|
||||||
|
$types:{
|
||||||
|
Date:(value)=>dayjs(value).format("YYYY年MM月DD日 HH:mm:ss"),
|
||||||
|
},
|
||||||
|
date:(value)=>dayjs(value).format("YYYY年MM月DD日")
|
||||||
|
bjTime:(value)=>"北京时间"+ value,
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- 在翻译函数中使用格式化器的方法,示例如下:
|
||||||
|
|
||||||
|
t("Now is { value | date | bjTime }",{value: new Date()})
|
||||||
|
其等效于:
|
||||||
|
t(`Now is ${bjTime(date(value))",{value: new Date()})
|
||||||
|
由于value分别经过两个管道符转换,上一个管道符的输出作为下一个管道符的输入,可以多次使用管道符。
|
||||||
|
最终的输出结果:
|
||||||
|
中文: "现在是北京时间2022年3月1日"
|
||||||
|
英文: "Now is BeiJing 2022/03/01"
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
// 格式化器参数
|
||||||
|
$settings:{ },
|
||||||
|
// 指定数据类型的默认格式化器
|
||||||
|
$types:{
|
||||||
|
// "*" : { },
|
||||||
|
// Date : { },
|
||||||
|
// Number: { },
|
||||||
|
// String: { },
|
||||||
|
// Array : { },
|
||||||
|
// Object: { }
|
||||||
|
}
|
||||||
|
// 允许重载内置的格式化器
|
||||||
|
// date : value => { ... },
|
||||||
|
// shortdate : value => { ... },
|
||||||
|
// time : value => { ... },
|
||||||
|
// shorttime : value => { ... },
|
||||||
|
// year : value => { ... },
|
||||||
|
// month : value => { ... },
|
||||||
|
// day : value => { ... },
|
||||||
|
// weekdayValue : value => { ... },
|
||||||
|
// weekday : value => { ... },
|
||||||
|
// shortWeekday : value => { ... },
|
||||||
|
// monthName : value => { ... },
|
||||||
|
// shorMonthName : value => { ... },
|
||||||
|
// // 时间
|
||||||
|
// hour : value => { ... },
|
||||||
|
// hour12 : value => { ... },
|
||||||
|
// minute : value => { ... },
|
||||||
|
// second : value => { ... },
|
||||||
|
// millisecond : value => { ... },
|
||||||
|
// timestamp : value => { ... },
|
||||||
|
// currency : value => { ... },
|
||||||
|
// number : value => { ... },
|
||||||
|
}
|
86
packages/apps/nodejs/languages/formatters/en.js
Normal file
86
packages/apps/nodejs/languages/formatters/en.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/**
|
||||||
|
|
||||||
|
格式化器用来对翻译文本内容中的插值变量进行格式化,
|
||||||
|
比如将一个数字格式化为货币格式,或者将一个日期格式化为友好的日期格式。
|
||||||
|
|
||||||
|
- 以下定义了一些格式化器,在中文场景下,会启用这些格式化器。
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
const formatters = {
|
||||||
|
"*":{ // 在所有语言下生效的格式化器
|
||||||
|
$types:{...}, // 只作用于特定数据类型的默认格式化器
|
||||||
|
.... // 全局格式化器
|
||||||
|
},
|
||||||
|
zh:{
|
||||||
|
// 只作用于特定数据类型的格式化器
|
||||||
|
$types:{
|
||||||
|
Date:(value)=>dayjs(value).format("YYYY年MM月DD日 HH:mm:ss"),
|
||||||
|
},
|
||||||
|
date:(value)=>dayjs(value).format("YYYY年MM月DD日")
|
||||||
|
bjTime:(value)=>"北京时间"+ value,
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
},
|
||||||
|
en:{
|
||||||
|
$types:{
|
||||||
|
Date:(value)=>dayjs(value).format("YYYY/MM/DD HH:mm:ss"), // 默认的格式化器
|
||||||
|
},
|
||||||
|
date:(value)=>dayjs(value).format("YYYY/MM/DD")
|
||||||
|
bjTime:(value)=>"BeiJing "+ value,
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- 在翻译函数中使用格式化器的方法,示例如下:
|
||||||
|
|
||||||
|
t("Now is { value | date | bjTime }",{value: new Date()})
|
||||||
|
其等效于:
|
||||||
|
t(`Now is ${bjTime(date(value))",{value: new Date()})
|
||||||
|
由于value分别经过两个管道符转换,上一个管道符的输出作为下一个管道符的输入,可以多次使用管道符。
|
||||||
|
|
||||||
|
最终的输出结果:
|
||||||
|
中文: "现在是北京时间2022年3月1日"
|
||||||
|
英文: "Now is BeiJing 2022/03/01"
|
||||||
|
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
$settings:{
|
||||||
|
|
||||||
|
},
|
||||||
|
// 所有类型的默认格式化器
|
||||||
|
$types:{
|
||||||
|
// "*" : { },
|
||||||
|
// Date : { },
|
||||||
|
// Number: { },
|
||||||
|
// String: { },
|
||||||
|
// Array : { },
|
||||||
|
// Object: { }
|
||||||
|
}
|
||||||
|
// 允许重载内置的格式化器
|
||||||
|
// date : value => { ... },
|
||||||
|
// shortdate : value => { ... },
|
||||||
|
// time : value => { ... },
|
||||||
|
// shorttime : value => { ... },
|
||||||
|
// year : value => { ... },
|
||||||
|
// month : value => { ... },
|
||||||
|
// day : value => { ... },
|
||||||
|
// weekdayValue : value => { ... },
|
||||||
|
// weekday : value => { ... },
|
||||||
|
// shortWeekday : value => { ... },
|
||||||
|
// monthName : value => { ... },
|
||||||
|
// shorMonthName : value => { ... },
|
||||||
|
// // 时间
|
||||||
|
// hour : value => { ... },
|
||||||
|
// hour12 : value => { ... },
|
||||||
|
// minute : value => { ... },
|
||||||
|
// second : value => { ... },
|
||||||
|
// millisecond : value => { ... },
|
||||||
|
// timestamp : value => { ... },
|
||||||
|
// currency : value => { ... },
|
||||||
|
// number : value => { ... },
|
||||||
|
}
|
86
packages/apps/nodejs/languages/formatters/zh.js
Normal file
86
packages/apps/nodejs/languages/formatters/zh.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/**
|
||||||
|
|
||||||
|
格式化器用来对翻译文本内容中的插值变量进行格式化,
|
||||||
|
比如将一个数字格式化为货币格式,或者将一个日期格式化为友好的日期格式。
|
||||||
|
|
||||||
|
- 以下定义了一些格式化器,在中文场景下,会启用这些格式化器。
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
const formatters = {
|
||||||
|
"*":{ // 在所有语言下生效的格式化器
|
||||||
|
$types:{...}, // 只作用于特定数据类型的默认格式化器
|
||||||
|
.... // 全局格式化器
|
||||||
|
},
|
||||||
|
zh:{
|
||||||
|
// 只作用于特定数据类型的格式化器
|
||||||
|
$types:{
|
||||||
|
Date:(value)=>dayjs(value).format("YYYY年MM月DD日 HH:mm:ss"),
|
||||||
|
},
|
||||||
|
date:(value)=>dayjs(value).format("YYYY年MM月DD日")
|
||||||
|
bjTime:(value)=>"北京时间"+ value,
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
},
|
||||||
|
en:{
|
||||||
|
$types:{
|
||||||
|
Date:(value)=>dayjs(value).format("YYYY/MM/DD HH:mm:ss"), // 默认的格式化器
|
||||||
|
},
|
||||||
|
date:(value)=>dayjs(value).format("YYYY/MM/DD")
|
||||||
|
bjTime:(value)=>"BeiJing "+ value,
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
[格式化器名称]:(value)=>{...},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- 在翻译函数中使用格式化器的方法,示例如下:
|
||||||
|
|
||||||
|
t("Now is { value | date | bjTime }",{value: new Date()})
|
||||||
|
其等效于:
|
||||||
|
t(`Now is ${bjTime(date(value))",{value: new Date()})
|
||||||
|
由于value分别经过两个管道符转换,上一个管道符的输出作为下一个管道符的输入,可以多次使用管道符。
|
||||||
|
|
||||||
|
最终的输出结果:
|
||||||
|
中文: "现在是北京时间2022年3月1日"
|
||||||
|
英文: "Now is BeiJing 2022/03/01"
|
||||||
|
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports ={
|
||||||
|
$settings:{
|
||||||
|
|
||||||
|
},
|
||||||
|
// 所有类型的默认格式化器
|
||||||
|
$types:{
|
||||||
|
// "*" : { },
|
||||||
|
// Date : { },
|
||||||
|
// Number: { },
|
||||||
|
// String: { },
|
||||||
|
// Array : { },
|
||||||
|
// Object: { }
|
||||||
|
}
|
||||||
|
// 允许重载内置的格式化器
|
||||||
|
// date : value => { ... },
|
||||||
|
// shortdate : value => { ... },
|
||||||
|
// time : value => { ... },
|
||||||
|
// shorttime : value => { ... },
|
||||||
|
// year : value => { ... },
|
||||||
|
// month : value => { ... },
|
||||||
|
// day : value => { ... },
|
||||||
|
// weekdayValue : value => { ... },
|
||||||
|
// weekday : value => { ... },
|
||||||
|
// shortWeekday : value => { ... },
|
||||||
|
// monthName : value => { ... },
|
||||||
|
// shorMonthName : value => { ... },
|
||||||
|
// // 时间
|
||||||
|
// hour : value => { ... },
|
||||||
|
// hour12 : value => { ... },
|
||||||
|
// minute : value => { ... },
|
||||||
|
// second : value => { ... },
|
||||||
|
// millisecond : value => { ... },
|
||||||
|
// timestamp : value => { ... },
|
||||||
|
// currency : value => { ... },
|
||||||
|
// number : value => { ... },
|
||||||
|
}
|
34
packages/apps/nodejs/languages/idMap.js
Normal file
34
packages/apps/nodejs/languages/idMap.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
module.exports = {
|
||||||
|
"VoerkaI18n多语言解决方案 ": 1,
|
||||||
|
"Hello world!": 2,
|
||||||
|
"中华人民共和国": 3,
|
||||||
|
"迎接中华民族的伟大复兴": 4,
|
||||||
|
"成立于{}年": 5,
|
||||||
|
"首都:北京": 6,
|
||||||
|
"商品价格:{ value | currency }": 7,
|
||||||
|
"商品价格:{ value | capitalizeCurrency }": 8,
|
||||||
|
"商品价格:{ value | capitalizeCurrency(true) }": 9,
|
||||||
|
"商品数量:{ value | number }": 10,
|
||||||
|
"现在是{ value }": 11,
|
||||||
|
"现在是{ value | date }": 12,
|
||||||
|
"现在是{ value | date | empty }": 13,
|
||||||
|
"现在是{ value | date | empty('无') }": 14,
|
||||||
|
"现在是{ value | shortdate }": 15,
|
||||||
|
"现在是{ value | time }": 16,
|
||||||
|
"现在是{ value | shorttime }": 17,
|
||||||
|
"现在是{ value | year }": 18,
|
||||||
|
"现在是{ value | month }": 19,
|
||||||
|
"现在是{ value | day }": 20,
|
||||||
|
"现在是{ value | weekdayValue }": 21,
|
||||||
|
"现在是{ value | weekday }": 22,
|
||||||
|
"现在是{ value | shortWeekday }": 23,
|
||||||
|
"现在是{ value | monthName }": 24,
|
||||||
|
"现在是{ value | shorMonthName }": 25,
|
||||||
|
"现在是{ value | hour }": 26,
|
||||||
|
"现在是{ value | hour12 }": 27,
|
||||||
|
"现在是{ value | minute }": 28,
|
||||||
|
"现在是{ value | second }": 29,
|
||||||
|
"现在是{ value | millisecond }": 30,
|
||||||
|
"现在是{ value | timestamp }": 31,
|
||||||
|
"商品价格:{ value | currency('CNY','元整',3)}": 32
|
||||||
|
}
|
60
packages/apps/nodejs/languages/index.js
Normal file
60
packages/apps/nodejs/languages/index.js
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
|
||||||
|
const messageIds =require("./idMap.js") // 语言ID映射文件
|
||||||
|
const runtime = require("../../../runtime/index.js");
|
||||||
|
const { translate,VoerkaI18nScope } = runtime
|
||||||
|
const defaultFormatters =require("./formatters/zh")
|
||||||
|
const activeFormatters = defaultFormatters
|
||||||
|
const defaultMessages =require("./zh.js")
|
||||||
|
const activeMessages = defaultMessages
|
||||||
|
|
||||||
|
|
||||||
|
// 语言配置文件
|
||||||
|
const scopeSettings = {
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"name": "zh",
|
||||||
|
"title": "中文"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "en",
|
||||||
|
"title": "英文"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "de",
|
||||||
|
"title": "德语"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultLanguage": "zh",
|
||||||
|
"activeLanguage": "zh",
|
||||||
|
"namespaces": {}
|
||||||
|
}
|
||||||
|
const formatters = {
|
||||||
|
'zh' : defaultFormatters,
|
||||||
|
'en' : require("./formatters/en.js"),
|
||||||
|
'de' : require("./formatters/de.js")
|
||||||
|
}
|
||||||
|
// 语言包加载器
|
||||||
|
const loaders = {
|
||||||
|
"en" : ()=>import("./en.js"),
|
||||||
|
"de" : ()=>import("./de.js")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 语言作用域
|
||||||
|
const scope = new VoerkaI18nScope({
|
||||||
|
...scopeSettings, // languages,defaultLanguage,activeLanguage,namespaces,formatters
|
||||||
|
id : "vueapp", // 当前作用域的id,自动取当前工程的package.json的name
|
||||||
|
debug : false, // 是否在控制台输出高度信息
|
||||||
|
default : defaultMessages, // 默认语言包
|
||||||
|
messages : activeMessages, // 当前语言包
|
||||||
|
idMap : messageIds, // 消息id映射列表
|
||||||
|
formatters, // 扩展自定义格式化器
|
||||||
|
loaders // 语言包加载器
|
||||||
|
})
|
||||||
|
// 翻译函数
|
||||||
|
const scopedTtranslate = translate.bind(scope)
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
t:scopedTtranslate ,
|
||||||
|
i18nScope:scope
|
||||||
|
}
|
||||||
|
|
19
packages/apps/nodejs/languages/settings.json
Normal file
19
packages/apps/nodejs/languages/settings.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"name": "zh",
|
||||||
|
"title": "中文"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "en",
|
||||||
|
"title": "英文"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "de",
|
||||||
|
"title": "德语"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultLanguage": "zh",
|
||||||
|
"activeLanguage": "zh",
|
||||||
|
"namespaces": {}
|
||||||
|
}
|
227
packages/apps/nodejs/languages/translates/default.json
Normal file
227
packages/apps/nodejs/languages/translates/default.json
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
{
|
||||||
|
"VoerkaI18n多语言解决方案 ": {
|
||||||
|
"en": "VoerkaI18n多语言解决方案 ",
|
||||||
|
"de": "VoerkaI18n multilingual solution ",
|
||||||
|
"$file": [
|
||||||
|
"App.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Hello world!": {
|
||||||
|
"en": "EN Hello world!",
|
||||||
|
"de": "DE Hello world!",
|
||||||
|
"$file": [
|
||||||
|
"App.vue",
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"中华人民共和国": {
|
||||||
|
"en": "The People's Republic of China",
|
||||||
|
"de": "中华人民共和国",
|
||||||
|
"$file": [
|
||||||
|
"App.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"迎接中华民族的伟大复兴": {
|
||||||
|
"en": "Welcome the great rejuvenation of the Chinese nation",
|
||||||
|
"de": "迎接中华民族的伟大复兴",
|
||||||
|
"$file": [
|
||||||
|
"App.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"成立于{}年": {
|
||||||
|
"en": "Founded in {}",
|
||||||
|
"de": "成立于{}年",
|
||||||
|
"$file": [
|
||||||
|
"components\\china.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"首都:北京": {
|
||||||
|
"en": "Capital: Beijing",
|
||||||
|
"de": "首都:北京",
|
||||||
|
"$file": [
|
||||||
|
"components\\china.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"商品价格:{ value | currency }": {
|
||||||
|
"en": "Price:{ value | currency }",
|
||||||
|
"de": "DE Price:{ value | currency }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"商品价格:{ value | capitalizeCurrency }": {
|
||||||
|
"en": "Price:{ value | capitalizeCurrency }",
|
||||||
|
"de": "商品价格:{ value | capitalizeCurrency }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"商品价格:{ value | capitalizeCurrency(true) }": {
|
||||||
|
"en": "Price:{ value | capitalizeCurrency(true) }",
|
||||||
|
"de": "商品价格:{ value | capitalizeCurrency(true) }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"商品数量:{ value | number }": {
|
||||||
|
"en": "Count:{ value | number }",
|
||||||
|
"de": "商品数量:{ value | number }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value }": {
|
||||||
|
"en": "Now is { value }",
|
||||||
|
"de": "D现在是{ value }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | date }": {
|
||||||
|
"en": "Now is { value | date }",
|
||||||
|
"de": "D现在是{ value | date }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | date | empty }": {
|
||||||
|
"en": "Now is { value | date | empty }",
|
||||||
|
"de": "D现在是{ value | date | empty }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | date | empty('无') }": {
|
||||||
|
"en": "Now is { value | date | empty('无') }",
|
||||||
|
"de": "D现在是{ value | date | empty('无') }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | shortdate }": {
|
||||||
|
"en": "Now is { value | shortdate }",
|
||||||
|
"de": "D现在是{ value | shortdate }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | time }": {
|
||||||
|
"en": "Now is { value | time }",
|
||||||
|
"de": "D现在是{ value | time }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | shorttime }": {
|
||||||
|
"en": "Now is { value | shorttime }",
|
||||||
|
"de": "D现在是{ value | shorttime }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | year }": {
|
||||||
|
"en": "Now is { value | year }",
|
||||||
|
"de": "D现在是{ value | year }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | month }": {
|
||||||
|
"en": "Now is { value | month }",
|
||||||
|
"de": "D现在是{ value | month }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | day }": {
|
||||||
|
"en": "Now is { value | day }",
|
||||||
|
"de": "D现在是{ value | day }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | weekdayValue }": {
|
||||||
|
"en": "Now is { value | weekdayValue }",
|
||||||
|
"de": "D现在是{ value | weekdayValue }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | weekday }": {
|
||||||
|
"en": "Now is { value | weekday }",
|
||||||
|
"de": "D现在是{ value | weekday }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | shortWeekday }": {
|
||||||
|
"en": "Now is { value | shortWeekday }",
|
||||||
|
"de": "D现在是{ value | shortWeekday }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | monthName }": {
|
||||||
|
"en": "Now is { value | monthName }",
|
||||||
|
"de": "D现在是{ value | monthName }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | shorMonthName }": {
|
||||||
|
"en": "Now is { value | shorMonthName }",
|
||||||
|
"de": "D现在是{ value | shorMonthName }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | hour }": {
|
||||||
|
"en": "Now is { value | hour }",
|
||||||
|
"de": "D现在是{ value | hour }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | hour12 }": {
|
||||||
|
"en": "Now is { value | hour12 }",
|
||||||
|
"de": "D现在是{ value | hour12 }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | minute }": {
|
||||||
|
"en": "Now is { value | minute }",
|
||||||
|
"de": "D现在是{ value | minute }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | second }": {
|
||||||
|
"en": "Now is { value | second }",
|
||||||
|
"de": "D现在是{ value | second }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | millisecond }": {
|
||||||
|
"en": "Now is { value | millisecond }",
|
||||||
|
"de": "D现在是{ value | millisecond }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"现在是{ value | timestamp }": {
|
||||||
|
"en": "Now is { value | timestamp }",
|
||||||
|
"de": "D现在是{ value | timestamp }",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"商品价格:{ value | currency('CNY','元整',3)}": {
|
||||||
|
"en": "Price:{ value | currency('CNY','元整',3)}",
|
||||||
|
"de": "D商品价格:{ value | currency('CNY','元整',3)}",
|
||||||
|
"$file": [
|
||||||
|
"components\\formatters.vue"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
32
packages/apps/nodejs/languages/zh.js
Normal file
32
packages/apps/nodejs/languages/zh.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
module.exports = {
|
||||||
|
"1": "Hello world!",
|
||||||
|
"2": "中华人民共和国",
|
||||||
|
"3": "迎接中华民族的伟大复兴",
|
||||||
|
"4": "成立于{}年",
|
||||||
|
"5": "首都:北京",
|
||||||
|
"6": "VoerkaI18n多语言解决方案 ",
|
||||||
|
"7": "现在是{ value | date }",
|
||||||
|
"8": "现在是{ value | shortdate }",
|
||||||
|
"9": "现在是{ value | time }",
|
||||||
|
"10": "现在是{ value | shorttime }",
|
||||||
|
"11": "现在是{ value | year }",
|
||||||
|
"12": "现在是{ value | month }",
|
||||||
|
"13": "现在是{ value | day }",
|
||||||
|
"14": "现在是{ value | weekdayValue }",
|
||||||
|
"15": "现在是{ value | weekday }",
|
||||||
|
"16": "现在是{ value | shortWeekday }",
|
||||||
|
"17": "现在是{ value | monthName }",
|
||||||
|
"18": "现在是{ value | shorMonthName }",
|
||||||
|
"19": "现在是{ value | hour }",
|
||||||
|
"20": "现在是{ value | hour12 }",
|
||||||
|
"21": "现在是{ value | minute }",
|
||||||
|
"22": "现在是{ value | second }",
|
||||||
|
"23": "现在是{ value | millisecond }",
|
||||||
|
"24": "现在是{ value | timestamp }",
|
||||||
|
"25": "商品价格:{ value | currency }",
|
||||||
|
"26": "商品价格:{ value | capitalizeCurrency }",
|
||||||
|
"27": "现在是{ value }",
|
||||||
|
"28": "商品价格:{ value | currency('CNY','元整',3)}",
|
||||||
|
"29": "商品价格:{ value | capitalizeCurrency(true) }",
|
||||||
|
"30": "商品数量:{ value | number }"
|
||||||
|
}
|
7
packages/apps/nodejs/package.json
Normal file
7
packages/apps/nodejs/package.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "@voerkai18n/testapp",
|
||||||
|
"main": "./index.js",
|
||||||
|
"scripts": {
|
||||||
|
"release": "pnpm autopublish"
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user