parent
eb0086a4b8
commit
82b8d2c5a9
@ -0,0 +1,42 @@
|
||||
import { ILang } from '../../interface/i18n/I18n'
|
||||
import zhCN from './lang/zh-CN.json'
|
||||
import en from './lang/en.json'
|
||||
|
||||
export class I18n {
|
||||
|
||||
private langMap: Map<string, ILang> = new Map([
|
||||
['zhCN', zhCN],
|
||||
['en', en]
|
||||
])
|
||||
|
||||
private currentLocale = 'zhCN'
|
||||
|
||||
public registerLangMap(locale: string, lang: ILang) {
|
||||
this.langMap.set(locale, lang)
|
||||
}
|
||||
|
||||
public setLocale(locale: string) {
|
||||
this.currentLocale = locale
|
||||
}
|
||||
|
||||
public getLang(): ILang {
|
||||
return this.langMap.get(this.currentLocale) || zhCN
|
||||
}
|
||||
|
||||
public t(path: string): string {
|
||||
const keyList = path.split('.')
|
||||
let value = ''
|
||||
let item = this.getLang()
|
||||
for (let k = 0; k < keyList.length; k++) {
|
||||
const key = keyList[k]
|
||||
const currentValue = Reflect.get(item, key)
|
||||
if (currentValue) {
|
||||
value = item = currentValue
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
{
|
||||
"contextmenu": {
|
||||
"global": {
|
||||
"cut": "Cut",
|
||||
"copy": "Copy",
|
||||
"paste": "Paste",
|
||||
"selectAll": "Select all",
|
||||
"print": "Print"
|
||||
},
|
||||
"control": {
|
||||
"delete": "Delete control"
|
||||
},
|
||||
"hyperlink": {
|
||||
"delete": "Delete hyperlink",
|
||||
"cancel": "Cancel hyperlink",
|
||||
"edit": "Edit hyperlink"
|
||||
},
|
||||
"image": {
|
||||
"change": "Change image",
|
||||
"saveAs": "Save as image",
|
||||
"textWrap": "Text wrap",
|
||||
"textWrapType": {
|
||||
"embed": "Embed",
|
||||
"upDown": "Up down"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"insertRowCol": "Insert row col",
|
||||
"insertTopRow": "Insert top 1 row",
|
||||
"insertBottomRow": "Insert bottom 1 row",
|
||||
"insertLeftCol": "Insert left 1 col",
|
||||
"insertRightCol": "Insert right 1 col",
|
||||
"deleteRowCol": "Delete row col",
|
||||
"deleteRow": "Delete 1 row",
|
||||
"deleteCol": "Delete 1 col",
|
||||
"deleteTable": "Delete table",
|
||||
"mergeCell": "Merge cell",
|
||||
"mergeCancelCell": "Cancel merge cell"
|
||||
}
|
||||
},
|
||||
"datePicker": {
|
||||
"now": "Now",
|
||||
"confirm": "Confirm",
|
||||
"return": "Return",
|
||||
"timeSelect": "Time select",
|
||||
"weeks": {
|
||||
"sun": "Sun",
|
||||
"mon": "Mon",
|
||||
"tue": "Tue",
|
||||
"wed": "Wed",
|
||||
"thu": "Thu",
|
||||
"fri": "Fri",
|
||||
"sat": "Sat"
|
||||
},
|
||||
"year": " ",
|
||||
"month": " ",
|
||||
"hour": "Hour",
|
||||
"minute": "Minute",
|
||||
"second": "Second"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
{
|
||||
"contextmenu": {
|
||||
"global": {
|
||||
"cut": "剪切",
|
||||
"copy": "复制",
|
||||
"paste": "粘贴",
|
||||
"selectAll": "全选",
|
||||
"print": "打印"
|
||||
},
|
||||
"control": {
|
||||
"delete": "删除控件"
|
||||
},
|
||||
"hyperlink": {
|
||||
"delete": "删除链接",
|
||||
"cancel": "取消链接",
|
||||
"edit": "编辑链接"
|
||||
},
|
||||
"image": {
|
||||
"change": "更改图片",
|
||||
"saveAs": "另存为图片",
|
||||
"textWrap": "文字环绕",
|
||||
"textWrapType": {
|
||||
"embed": "嵌入型",
|
||||
"upDown": "上下型环绕"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"insertRowCol": "插入行列",
|
||||
"insertTopRow": "上方插入1行",
|
||||
"insertBottomRow": "下方插入1行",
|
||||
"insertLeftCol": "左侧插入1列",
|
||||
"insertRightCol": "右侧插入1列",
|
||||
"deleteRowCol": "删除行列",
|
||||
"deleteRow": "删除1行",
|
||||
"deleteCol": "删除1列",
|
||||
"deleteTable": "删除整个表格",
|
||||
"mergeCell": "合并单元格",
|
||||
"mergeCancelCell": "取消合并"
|
||||
}
|
||||
},
|
||||
"datePicker": {
|
||||
"now": "此刻",
|
||||
"confirm": "确定",
|
||||
"return": "返回日期",
|
||||
"timeSelect": "时间选择",
|
||||
"weeks": {
|
||||
"sun": "日",
|
||||
"mon": "一",
|
||||
"tue": "二",
|
||||
"wed": "三",
|
||||
"thu": "四",
|
||||
"fri": "五",
|
||||
"sat": "六"
|
||||
},
|
||||
"year": "年",
|
||||
"month": "月",
|
||||
"hour": "时",
|
||||
"minute": "分",
|
||||
"second": "秒"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
import { IDatePickerLang } from '../../core/draw/particle/date/DatePicker'
|
||||
import { IContextmenuLang } from '../contextmenu/ContextMenu'
|
||||
|
||||
export interface ILang {
|
||||
contextmenu: IContextmenuLang;
|
||||
datePicker: IDatePickerLang;
|
||||
}
|
||||
Loading…
Reference in new issue