mirror of
https://github.com/wanglin2/mind-map.git
synced 2026-02-17 14:04:47 +08:00
Feat:新增越南语翻译
This commit is contained in:
@@ -7,6 +7,8 @@ import {
|
||||
lineHeightList,
|
||||
store,
|
||||
langList,
|
||||
shapeListMap,
|
||||
lineStyleMap,
|
||||
fontFamilyList as fontFamilyListZh,
|
||||
borderDasharrayList as borderDasharrayListZh,
|
||||
lineStyleList as lineStyleListZh,
|
||||
@@ -18,8 +20,6 @@ import {
|
||||
sidebarTriggerList as sidebarTriggerListZh,
|
||||
backgroundSizeList as backgroundSizeListZh,
|
||||
downTypeList as downTypeListZh,
|
||||
shapeListMap as shapeListMapZh,
|
||||
lineStyleMap as lineStyleMapZh,
|
||||
numberTypeList as numberTypeListZh,
|
||||
numberLevelList as numberLevelListZh,
|
||||
linearGradientDirList as linearGradientDirListZh,
|
||||
@@ -62,113 +62,135 @@ import {
|
||||
alignList as alignListZhtw,
|
||||
layoutGroupList as layoutGroupListZhtw
|
||||
} from './zhtw'
|
||||
import {
|
||||
fontFamilyList as fontFamilyListVi,
|
||||
borderDasharrayList as borderDasharrayListVi,
|
||||
lineStyleList as lineStyleListVi,
|
||||
rootLineKeepSameInCurveList as rootLineKeepSameInCurveListVi,
|
||||
backgroundRepeatList as backgroundRepeatListVi,
|
||||
backgroundPositionList as backgroundPositionListVi,
|
||||
shortcutKeyList as shortcutKeyListVi,
|
||||
shapeList as shapeListVi,
|
||||
sidebarTriggerList as sidebarTriggerListVi,
|
||||
backgroundSizeList as backgroundSizeListVi,
|
||||
downTypeList as downTypeListVi,
|
||||
numberTypeList as numberTypeListVi,
|
||||
numberLevelList as numberLevelListVi,
|
||||
linearGradientDirList as linearGradientDirListVi,
|
||||
alignList as alignListVi,
|
||||
layoutGroupList as layoutGroupListVi
|
||||
} from './vi'
|
||||
|
||||
const fontFamilyList = {
|
||||
zh: fontFamilyListZh,
|
||||
en: fontFamilyListEn,
|
||||
zhtw: fontFamilyListZhtw
|
||||
zhtw: fontFamilyListZhtw,
|
||||
vi: fontFamilyListVi
|
||||
}
|
||||
|
||||
const borderDasharrayList = {
|
||||
zh: borderDasharrayListZh,
|
||||
en: borderDasharrayListEn,
|
||||
zhtw: borderDasharrayListZhtw
|
||||
zhtw: borderDasharrayListZhtw,
|
||||
vi: borderDasharrayListVi
|
||||
}
|
||||
|
||||
const lineStyleList = {
|
||||
zh: lineStyleListZh,
|
||||
en: lineStyleListEn,
|
||||
zhtw: lineStyleListZhtw
|
||||
}
|
||||
|
||||
const lineStyleMap = {
|
||||
zh: lineStyleMapZh,
|
||||
en: lineStyleMapZh,
|
||||
zhtw: lineStyleMapZh
|
||||
zhtw: lineStyleListZhtw,
|
||||
vi: lineStyleListVi
|
||||
}
|
||||
|
||||
const rootLineKeepSameInCurveList = {
|
||||
zh: rootLineKeepSameInCurveListZh,
|
||||
en: rootLineKeepSameInCurveListEn,
|
||||
zhtw: rootLineKeepSameInCurveListZhtw
|
||||
zhtw: rootLineKeepSameInCurveListZhtw,
|
||||
vi: rootLineKeepSameInCurveListVi
|
||||
}
|
||||
|
||||
const backgroundRepeatList = {
|
||||
zh: backgroundRepeatListZh,
|
||||
en: backgroundRepeatListEn,
|
||||
zhtw: backgroundRepeatListZhtw
|
||||
zhtw: backgroundRepeatListZhtw,
|
||||
vi: backgroundRepeatListVi
|
||||
}
|
||||
|
||||
const backgroundPositionList = {
|
||||
zh: backgroundPositionListZh,
|
||||
en: backgroundPositionListEn,
|
||||
zhtw: backgroundPositionListZhtw
|
||||
zhtw: backgroundPositionListZhtw,
|
||||
vi: backgroundPositionListVi
|
||||
}
|
||||
|
||||
const backgroundSizeList = {
|
||||
zh: backgroundSizeListZh,
|
||||
en: backgroundSizeListEn,
|
||||
zhtw: backgroundSizeListZhtw
|
||||
zhtw: backgroundSizeListZhtw,
|
||||
vi: backgroundSizeListVi
|
||||
}
|
||||
|
||||
const shortcutKeyList = {
|
||||
zh: shortcutKeyListZh,
|
||||
en: shortcutKeyListEn,
|
||||
zhtw: shortcutKeyListZhtw
|
||||
zhtw: shortcutKeyListZhtw,
|
||||
vi: shortcutKeyListVi
|
||||
}
|
||||
|
||||
const shapeList = {
|
||||
zh: shapeListZh,
|
||||
en: shapeListEn,
|
||||
zhtw: shapeListZhtw
|
||||
}
|
||||
|
||||
const shapeListMap = {
|
||||
zh: shapeListMapZh,
|
||||
en: shapeListMapZh,
|
||||
zhtw: shapeListMapZh
|
||||
zhtw: shapeListZhtw,
|
||||
vi: shapeListVi
|
||||
}
|
||||
|
||||
const sidebarTriggerList = {
|
||||
zh: sidebarTriggerListZh,
|
||||
en: sidebarTriggerListEn,
|
||||
zhtw: sidebarTriggerListZhtw
|
||||
zhtw: sidebarTriggerListZhtw,
|
||||
vi: sidebarTriggerListVi
|
||||
}
|
||||
|
||||
const downTypeList = {
|
||||
zh: downTypeListZh,
|
||||
en: downTypeListEn,
|
||||
zhtw: downTypeListZhtw
|
||||
zhtw: downTypeListZhtw,
|
||||
vi: downTypeListVi
|
||||
}
|
||||
|
||||
const numberTypeList = {
|
||||
zh: numberTypeListZh,
|
||||
en: numberTypeListEn,
|
||||
zhtw: numberTypeListZhtw
|
||||
zhtw: numberTypeListZhtw,
|
||||
vi: numberTypeListVi
|
||||
}
|
||||
|
||||
const numberLevelList = {
|
||||
zh: numberLevelListZh,
|
||||
en: numberLevelListEn,
|
||||
zhtw: numberLevelListZhtw
|
||||
zhtw: numberLevelListZhtw,
|
||||
vi: numberLevelListVi
|
||||
}
|
||||
|
||||
const linearGradientDirList = {
|
||||
zh: linearGradientDirListZh,
|
||||
en: linearGradientDirListEn,
|
||||
zhtw: linearGradientDirListZhtw
|
||||
zhtw: linearGradientDirListZhtw,
|
||||
vi: linearGradientDirListVi
|
||||
}
|
||||
|
||||
const alignList = {
|
||||
zh: alignListZh,
|
||||
en: alignListEn,
|
||||
zhtw: alignListZhtw
|
||||
zhtw: alignListZhtw,
|
||||
vi: alignListVi
|
||||
}
|
||||
|
||||
const layoutGroupList = {
|
||||
zh: layoutGroupListZh,
|
||||
en: layoutGroupListEn,
|
||||
zhtw: layoutGroupListZhtw
|
||||
zhtw: layoutGroupListZhtw,
|
||||
vi: layoutGroupListVi
|
||||
}
|
||||
|
||||
export {
|
||||
|
||||
707
web/src/config/vi.js
Normal file
707
web/src/config/vi.js
Normal file
@@ -0,0 +1,707 @@
|
||||
// Danh sách phông chữ
|
||||
export const fontFamilyList = [
|
||||
{
|
||||
name: 'Song Thân',
|
||||
value: '宋体, SimSun, Songti SC'
|
||||
},
|
||||
{
|
||||
name: 'Microsoft và Yahoo',
|
||||
value: '微软雅黑, Microsoft YaHei'
|
||||
},
|
||||
{
|
||||
name: 'Chữ Khải',
|
||||
value: '楷体, 楷体_GB2312, SimKai, STKaiti'
|
||||
},
|
||||
{
|
||||
name: 'Da đen',
|
||||
value: '黑体, SimHei, Heiti SC'
|
||||
},
|
||||
{
|
||||
name: 'Lệ Thư',
|
||||
value: '隶书, SimLi'
|
||||
},
|
||||
{
|
||||
name: 'Andale Mono',
|
||||
value: 'andale mono'
|
||||
},
|
||||
{
|
||||
name: 'Arial',
|
||||
value: 'arial, helvetica, sans-serif'
|
||||
},
|
||||
{
|
||||
name: 'arialBlack',
|
||||
value: 'arial black, avant garde'
|
||||
},
|
||||
{
|
||||
name: 'Comic Sans Ms',
|
||||
value: 'comic sans ms'
|
||||
},
|
||||
{
|
||||
name: 'Impact',
|
||||
value: 'impact, chicago'
|
||||
},
|
||||
{
|
||||
name: 'Times New Roman',
|
||||
value: 'times new roman'
|
||||
},
|
||||
{
|
||||
name: 'Sans-Serif',
|
||||
value: 'sans-serif'
|
||||
},
|
||||
{
|
||||
name: 'serif',
|
||||
value: 'serif'
|
||||
}
|
||||
]
|
||||
|
||||
// Kiểu viền
|
||||
export const borderDasharrayList = [
|
||||
{
|
||||
name: 'Dòng rắn',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 1',
|
||||
value: '5,5'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 2',
|
||||
value: '10,10'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 3',
|
||||
value: '20,10,5,5,5,10'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 4',
|
||||
value: '5,5,1,5'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 5',
|
||||
value: '15,10,5,10,15'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 6',
|
||||
value: '1,5'
|
||||
},
|
||||
{
|
||||
name: 'Đường chấm 7',
|
||||
value: '6,4'
|
||||
}
|
||||
]
|
||||
|
||||
// Kiểu kết nối
|
||||
export const lineStyleList = [
|
||||
{
|
||||
name: 'Đường thẳng',
|
||||
value: 'straight'
|
||||
},
|
||||
{
|
||||
name: 'Đường cong',
|
||||
value: 'curve'
|
||||
},
|
||||
{
|
||||
name: 'Trực tiếp',
|
||||
value: 'direct'
|
||||
}
|
||||
]
|
||||
|
||||
// Trong một kiểu đường cong, kiểu nút gốc có giống với các nút khác hay không
|
||||
export const rootLineKeepSameInCurveList = [
|
||||
{
|
||||
name: 'ngoặc đơn',
|
||||
value: false
|
||||
},
|
||||
{
|
||||
name: 'ngoặc nhọn',
|
||||
value: true
|
||||
}
|
||||
]
|
||||
|
||||
// Cách lặp lại hình ảnh
|
||||
export const backgroundRepeatList = [
|
||||
{
|
||||
name: 'Không lặp lại',
|
||||
value: 'no-repeat'
|
||||
},
|
||||
{
|
||||
name: 'Lặp lại',
|
||||
value: 'repeat'
|
||||
},
|
||||
{
|
||||
name: 'Lặp lại hướng ngang',
|
||||
value: 'repeat-x'
|
||||
},
|
||||
{
|
||||
name: 'Lặp lại theo chiều dọc',
|
||||
value: 'repeat-y'
|
||||
}
|
||||
]
|
||||
|
||||
// Định vị ảnh nền
|
||||
export const backgroundPositionList = [
|
||||
{
|
||||
name: 'Mặc định',
|
||||
value: '0% 0%'
|
||||
},
|
||||
{
|
||||
name: 'Trái trên',
|
||||
value: 'left top'
|
||||
},
|
||||
{
|
||||
name: 'Trái giữa',
|
||||
value: 'left center'
|
||||
},
|
||||
{
|
||||
name: 'Trái dưới',
|
||||
value: 'left bottom'
|
||||
},
|
||||
{
|
||||
name: 'Phải trên',
|
||||
value: 'right top'
|
||||
},
|
||||
{
|
||||
name: 'Phải giữa',
|
||||
value: 'right center'
|
||||
},
|
||||
{
|
||||
name: 'Dưới bên phải',
|
||||
value: 'right bottom'
|
||||
},
|
||||
{
|
||||
name: 'Giữa trên',
|
||||
value: 'center top'
|
||||
},
|
||||
{
|
||||
name: 'Ở giữa',
|
||||
value: 'center center'
|
||||
},
|
||||
{
|
||||
name: 'Dưới',
|
||||
value: 'center bottom'
|
||||
}
|
||||
]
|
||||
|
||||
// Cỡ ảnh nền
|
||||
export const backgroundSizeList = [
|
||||
{
|
||||
name: 'Tự động',
|
||||
value: 'auto'
|
||||
},
|
||||
{
|
||||
name: 'Ghi đè',
|
||||
value: 'cover'
|
||||
},
|
||||
{
|
||||
name: 'Giữ',
|
||||
value: 'contain'
|
||||
}
|
||||
]
|
||||
|
||||
// Lưu trữ dữ liệu
|
||||
export const store = {
|
||||
sidebarZIndex: 1 //Thanh bên zIndex
|
||||
}
|
||||
const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0
|
||||
const ctrl = isMac ? '⌘' : 'Ctrl'
|
||||
const enter = isMac ? 'Return' : 'Enter'
|
||||
const macFn = isMac ? 'fn + ' : ''
|
||||
|
||||
// Danh sách phím tắt
|
||||
export const shortcutKeyList = [
|
||||
{
|
||||
type: 'Hoạt động nút',
|
||||
list: [
|
||||
{
|
||||
icon: 'icontianjiazijiedian',
|
||||
name: 'Chèn nút thấp hơn',
|
||||
value: 'Tab | Insert'
|
||||
},
|
||||
{
|
||||
icon: 'iconjiedian',
|
||||
name: 'Chèn nút ngang hàng',
|
||||
value: enter
|
||||
},
|
||||
{
|
||||
icon: 'icondodeparent',
|
||||
name: 'Chèn nút cha',
|
||||
value: 'Shift + Tab'
|
||||
},
|
||||
{
|
||||
icon: 'iconshangyi',
|
||||
name: 'Chuyển nút lên',
|
||||
value: `${ctrl} + ↑`
|
||||
},
|
||||
{
|
||||
icon: 'iconxiayi',
|
||||
name: 'Di chuyển nút xuống',
|
||||
value: `${ctrl} + ↓`
|
||||
},
|
||||
{
|
||||
icon: 'icongaikuozonglan',
|
||||
name: 'Chèn tóm tắt',
|
||||
value: `${ctrl} + G`
|
||||
},
|
||||
{
|
||||
icon: 'iconzhankai',
|
||||
name: 'Mở rộng/thu gọn các nút',
|
||||
value: '/'
|
||||
},
|
||||
{
|
||||
icon: 'iconshanchu',
|
||||
name: 'Xóa nút',
|
||||
value: 'Delete | Backspace'
|
||||
},
|
||||
{
|
||||
icon: 'iconshanchu',
|
||||
name: 'Chỉ xóa nút hiện tại',
|
||||
value: 'Shift + Backspace'
|
||||
},
|
||||
{
|
||||
icon: 'iconfuzhi',
|
||||
name: 'Sao chép nút',
|
||||
value: `${ctrl} + C`
|
||||
},
|
||||
{
|
||||
icon: 'iconjianqie',
|
||||
name: 'Cắt nút',
|
||||
value: `${ctrl} + X`
|
||||
},
|
||||
{
|
||||
icon: 'iconniantie',
|
||||
name: 'Dán nút',
|
||||
value: `${ctrl} + V`
|
||||
},
|
||||
{
|
||||
icon: 'iconbianji',
|
||||
name: 'Sửa nút',
|
||||
value: macFn + 'F2'
|
||||
},
|
||||
{
|
||||
icon: 'iconhuanhang',
|
||||
name: 'Dòng mới',
|
||||
value: `Shift + ${enter}`
|
||||
},
|
||||
{
|
||||
icon: 'iconhoutui-shi',
|
||||
name: 'Lùi lại',
|
||||
value: `${ctrl} + Z`
|
||||
},
|
||||
{
|
||||
icon: 'iconqianjin1',
|
||||
name: 'Tiến lên!',
|
||||
value: `${ctrl} + Y`
|
||||
},
|
||||
{
|
||||
icon: 'iconquanxuan',
|
||||
name: 'Chọn tất cả',
|
||||
value: `${ctrl} + A`
|
||||
},
|
||||
{
|
||||
icon: 'iconquanxuan',
|
||||
name: 'Nhiều lựa chọn',
|
||||
value: `Phải / ${ctrl} + Trái`
|
||||
},
|
||||
{
|
||||
icon: 'iconzhengli',
|
||||
name: 'Name',
|
||||
value: `${ctrl} + L`
|
||||
},
|
||||
{
|
||||
icon: 'iconsousuo',
|
||||
name: 'Tìm kiếm và thay thế',
|
||||
value: `${ctrl} + F`
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'Hoạt động Canvas',
|
||||
list: [
|
||||
{
|
||||
icon: 'iconfangda',
|
||||
name: 'Phóng to',
|
||||
value: `${ctrl} + +`
|
||||
},
|
||||
{
|
||||
icon: 'iconsuoxiao',
|
||||
name: 'Thu nhỏ',
|
||||
value: `${ctrl} + -`
|
||||
},
|
||||
{
|
||||
icon: 'iconfangda',
|
||||
name: 'Phóng to/Thu nhỏ',
|
||||
value: `${ctrl} + Cuộn chuột`
|
||||
},
|
||||
{
|
||||
icon: 'icondingwei',
|
||||
name: 'Trở lại Root Node',
|
||||
value: `${ctrl} + ${enter}`
|
||||
},
|
||||
{
|
||||
icon: 'iconquanping1',
|
||||
name: 'Thích nghi với Canvas',
|
||||
value: `${ctrl} + i`
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'Hoạt động phác thảo',
|
||||
list: [
|
||||
{
|
||||
icon: 'iconhuanhang',
|
||||
name: 'Dòng mới',
|
||||
value: `Shift + ${enter}`
|
||||
},
|
||||
{
|
||||
icon: 'iconshanchu',
|
||||
name: 'Xóa nút',
|
||||
value: 'Delete'
|
||||
},
|
||||
{
|
||||
icon: 'icontianjiazijiedian',
|
||||
name: 'Chèn nút thấp hơn',
|
||||
value: 'Tab'
|
||||
},
|
||||
{
|
||||
icon: 'iconjiedian',
|
||||
name: 'Chèn nút ngang hàng',
|
||||
value: enter
|
||||
},
|
||||
{
|
||||
icon: 'icondodeparent',
|
||||
name: 'Di chuyển lên một cấp',
|
||||
value: 'Shift + Tab'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
// Danh sách hình dạng
|
||||
export const shapeList = [
|
||||
{
|
||||
name: 'Hình chữ nhật',
|
||||
value: 'rectangle'
|
||||
},
|
||||
{
|
||||
name: 'Kim cương',
|
||||
value: 'diamond'
|
||||
},
|
||||
{
|
||||
name: 'Tứ giác song song',
|
||||
value: 'parallelogram'
|
||||
},
|
||||
{
|
||||
name: 'Hình chữ nhật tròn',
|
||||
value: 'roundedRectangle'
|
||||
},
|
||||
{
|
||||
name: 'Hình chữ nhật bát giác',
|
||||
value: 'octagonalRectangle'
|
||||
},
|
||||
{
|
||||
name: 'Hình chữ nhật tam giác ngoài',
|
||||
value: 'outerTriangularRectangle'
|
||||
},
|
||||
{
|
||||
name: 'Hình chữ nhật tam giác bên trong',
|
||||
value: 'innerTriangularRectangle'
|
||||
},
|
||||
{
|
||||
name: 'Hình elip',
|
||||
value: 'ellipse'
|
||||
},
|
||||
{
|
||||
name: 'Vòng tròn',
|
||||
value: 'circle'
|
||||
}
|
||||
]
|
||||
|
||||
// Danh sách đa ngôn ngữ
|
||||
export const langList = [
|
||||
{
|
||||
value: 'zh',
|
||||
name: '简体中文'
|
||||
},
|
||||
{
|
||||
value: 'zhtw',
|
||||
name: '繁體中文'
|
||||
},
|
||||
{
|
||||
value: 'en',
|
||||
name: 'English'
|
||||
},
|
||||
{
|
||||
value: 'vi',
|
||||
name: 'Tiếng Việt'
|
||||
}
|
||||
]
|
||||
|
||||
// Danh sách thanh bên
|
||||
export const sidebarTriggerList = [
|
||||
{
|
||||
name: 'Kiểu nút',
|
||||
value: 'nodeStyle',
|
||||
icon: 'iconzhuti'
|
||||
},
|
||||
{
|
||||
name: 'Kiểu nền tảng',
|
||||
value: 'baseStyle',
|
||||
icon: 'iconyangshi'
|
||||
},
|
||||
{
|
||||
name: 'Chủ đề',
|
||||
value: 'theme',
|
||||
icon: 'iconjingzi'
|
||||
},
|
||||
{
|
||||
name: 'Cấu trúc',
|
||||
value: 'structure',
|
||||
icon: 'iconjiegou'
|
||||
},
|
||||
{
|
||||
name: 'Trang chủ',
|
||||
value: 'outline',
|
||||
icon: 'iconfuhao-dagangshu'
|
||||
},
|
||||
// {
|
||||
// name: 'AI',
|
||||
// value: 'ai',
|
||||
// icon: 'iconAIshengcheng'
|
||||
// },
|
||||
{
|
||||
name: 'Thiết lập',
|
||||
value: 'setting',
|
||||
icon: 'iconshezhi'
|
||||
}
|
||||
// {
|
||||
// name: 'Phím tắt',
|
||||
// value: 'shortcutKey',
|
||||
// icon: 'iconjianpan'
|
||||
// }
|
||||
]
|
||||
|
||||
// Danh sách các loại tải xuống
|
||||
export const downTypeList = [
|
||||
{
|
||||
name: '思绪Tài liệu',
|
||||
type: 'smm',
|
||||
icon: 'iconwenjian',
|
||||
desc: 'SimpleMindMap Định dạng riêng tư, có thể được sử dụng để nhập lại, có thể được chỉnh sửa trực tiếp bởi khách hàng'
|
||||
},
|
||||
{
|
||||
name: 'Hình ảnh',
|
||||
type: 'png',
|
||||
icon: 'iconPNG',
|
||||
desc: 'Định dạng ảnh phổ biến, phù hợp để xem chia sẻ'
|
||||
},
|
||||
{
|
||||
name: 'SVG',
|
||||
type: 'svg',
|
||||
icon: 'iconSVG',
|
||||
desc: 'Thu phóng đồ họa vector'
|
||||
},
|
||||
{
|
||||
name: 'PDF',
|
||||
type: 'pdf',
|
||||
icon: 'iconpdf',
|
||||
desc: 'Thích hợp để xem trình duyệt và in'
|
||||
},
|
||||
{
|
||||
name: 'Markdown',
|
||||
type: 'md',
|
||||
icon: 'iconmarkdown',
|
||||
desc: 'Định dạng văn bản md để dễ dàng mở phần mềm khác'
|
||||
},
|
||||
{
|
||||
name: 'XMind',
|
||||
type: 'xmind',
|
||||
icon: 'iconxmind',
|
||||
desc: 'Định dạng phần mềm XMind'
|
||||
},
|
||||
{
|
||||
name: 'Txt',
|
||||
type: 'txt',
|
||||
icon: 'iconTXT',
|
||||
desc: 'Tập tin văn bản thuần túy'
|
||||
},
|
||||
{
|
||||
name: 'Excel',
|
||||
type: 'xlsx',
|
||||
icon: 'iconfile-excel',
|
||||
desc: 'Dạng văn bản bảng, có thể chỉnh sửa bằng phần mềm Excel'
|
||||
},
|
||||
{
|
||||
name: 'FreeMind',
|
||||
type: 'mm',
|
||||
icon: 'iconfreemind',
|
||||
desc: 'Định dạng phần mềm FreeMind'
|
||||
},
|
||||
{
|
||||
name: 'JSON',
|
||||
type: 'json',
|
||||
icon: 'iconjson',
|
||||
desc: 'Các định dạng trao đổi dữ liệu phổ biến có thể được sử dụng để nhập lại'
|
||||
}
|
||||
]
|
||||
|
||||
// Danh sách các loại số
|
||||
export const numberTypeList = [
|
||||
{
|
||||
name: 'Không có số',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
name: '1, 2, 3',
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
name: '1., 2., 3.',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
name: '(1), (2), (3)',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
name: 'a., b., c.',
|
||||
value: 4
|
||||
},
|
||||
{
|
||||
name: 'A., B., C.',
|
||||
value: 5
|
||||
},
|
||||
{
|
||||
name: 'i., ii., iii.',
|
||||
value: 6
|
||||
},
|
||||
{
|
||||
name: 'I., II., III.',
|
||||
value: 7
|
||||
},
|
||||
{
|
||||
name: '一、, 二、, 三、',
|
||||
value: 8
|
||||
}
|
||||
]
|
||||
|
||||
// Không. Danh sách phân cấp
|
||||
export const numberLevelList = [
|
||||
{
|
||||
name: 'Không. Tầng đầu tiên',
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
name: 'Không. Hai tầng đầu tiên',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
name: 'Không. Ba tầng đầu tiên',
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
name: 'Không. Tất cả các lớp',
|
||||
value: 0
|
||||
}
|
||||
]
|
||||
|
||||
// Hướng gradient nền
|
||||
export const linearGradientDirList = [
|
||||
{
|
||||
name: 'Từ trái sang phải',
|
||||
value: '1',
|
||||
start: [0, 0],
|
||||
end: [1, 0]
|
||||
},
|
||||
{
|
||||
name: 'Từ phải sang trái',
|
||||
value: '2',
|
||||
start: [1, 0],
|
||||
end: [0, 0]
|
||||
},
|
||||
{
|
||||
name: 'Từ trên xuống dưới',
|
||||
value: '3',
|
||||
start: [0, 0],
|
||||
end: [0, 1]
|
||||
},
|
||||
{
|
||||
name: 'Từ dưới lên trên',
|
||||
value: '4',
|
||||
start: [0, 1],
|
||||
end: [0, 0]
|
||||
},
|
||||
{
|
||||
name: 'Từ trái lên phải xuống',
|
||||
value: '5',
|
||||
start: [0, 0],
|
||||
end: [1, 1]
|
||||
},
|
||||
{
|
||||
name: 'Từ trái xuống phải',
|
||||
value: '6',
|
||||
start: [0, 1],
|
||||
end: [1, 0]
|
||||
},
|
||||
{
|
||||
name: 'Từ trên xuống dưới',
|
||||
value: '7',
|
||||
start: [1, 0],
|
||||
end: [0, 1]
|
||||
},
|
||||
{
|
||||
name: 'Từ phải xuống trái',
|
||||
value: '8',
|
||||
start: [1, 1],
|
||||
end: [0, 0]
|
||||
}
|
||||
]
|
||||
|
||||
// Căn lề văn bản
|
||||
export const alignList = [
|
||||
{
|
||||
name: 'Trái:',
|
||||
value: 'left'
|
||||
},
|
||||
{
|
||||
name: 'Căn giữa',
|
||||
value: 'center'
|
||||
},
|
||||
{
|
||||
name: 'Phải',
|
||||
value: 'right'
|
||||
}
|
||||
]
|
||||
|
||||
// Danh sách cấu trúc
|
||||
export const layoutGroupList = [
|
||||
{
|
||||
name: 'Sơ đồ cấu trúc logic',
|
||||
list: ['logicalStructure', 'logicalStructureLeft']
|
||||
},
|
||||
{
|
||||
name: 'Bản đồ tư duy',
|
||||
list: ['mindMap']
|
||||
},
|
||||
{
|
||||
name: 'Sơ đồ tổ chức',
|
||||
list: ['organizationStructure']
|
||||
},
|
||||
{
|
||||
name: 'Sơ đồ tổ chức thư mục',
|
||||
list: ['catalogOrganization']
|
||||
},
|
||||
{
|
||||
name: 'Dòng thời gian',
|
||||
list: [
|
||||
'timeline',
|
||||
'timeline2',
|
||||
'verticalTimeline2',
|
||||
'verticalTimeline3',
|
||||
'verticalTimeline'
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'Bản đồ Fishbone',
|
||||
list: ['fishbone', 'fishbone2', 'rightFishbone', 'rightFishbone2']
|
||||
}
|
||||
]
|
||||
@@ -6,8 +6,7 @@ Vue.use(VueI18n)
|
||||
|
||||
const i18n = new VueI18n({
|
||||
messages,
|
||||
locale: 'en', // Set English as default language
|
||||
fallbackLocale: 'en' // Fallback to English if a translation is missing
|
||||
fallbackLocale: 'zh'
|
||||
})
|
||||
|
||||
export default i18n
|
||||
|
||||
@@ -78,15 +78,16 @@ export default {
|
||||
watermarkTextFontSize: 'Cỡ chữ',
|
||||
belowNode: 'Hiển thị nút bên dưới',
|
||||
alwaysShowExpandBtn: 'Luôn hiển thị nút mở rộng',
|
||||
enableAutoEnterTextEditWhenKeydown: 'Tự động vào chế độ chỉnh sửa văn bản khi nhấn phím',
|
||||
enableAutoEnterTextEditWhenKeydown:
|
||||
'Tự động vào chế độ chỉnh sửa văn bản khi nhấn phím',
|
||||
confirm: 'Xác nhận',
|
||||
cancel: 'Hủy',
|
||||
changeRichTextTip:
|
||||
'Thao tác này sẽ xóa tất cả lịch sử chỉnh sửa và sửa đổi dữ liệu sơ đồ tư duy. Bạn có muốn tiếp tục?',
|
||||
changeRichTextTip2: 'Bạn có muốn chuyển sang chế độ văn bản phong phú?',
|
||||
changeRichTextTip3: 'Bạn có muốn chuyển sang chế độ không phải văn bản phong phú?',
|
||||
enableDragImport:
|
||||
'Cho phép kéo và thả tệp trực tiếp vào trang để nhập',
|
||||
changeRichTextTip3:
|
||||
'Bạn có muốn chuyển sang chế độ không phải văn bản phong phú?',
|
||||
enableDragImport: 'Cho phép kéo và thả tệp trực tiếp vào trang để nhập',
|
||||
imgTextMargin: 'Khoảng cách giữa hình ảnh và văn bản nút',
|
||||
textContentMargin: 'Khoảng cách nội dung nút',
|
||||
enableInheritAncestorLineStyle:
|
||||
@@ -176,8 +177,7 @@ export default {
|
||||
addFooterText: 'Thêm văn bản ở chân trang',
|
||||
desc: 'Mô tả',
|
||||
options: 'Tùy chọn',
|
||||
isFitBg:
|
||||
'Hiển thị đầy đủ hình nền (có hiệu lực khi dùng hình nền)',
|
||||
isFitBg: 'Hiển thị đầy đủ hình nền (có hiệu lực khi dùng hình nền)',
|
||||
format: 'Định dạng'
|
||||
},
|
||||
fullscreen: {
|
||||
@@ -209,7 +209,12 @@ export default {
|
||||
readonly: 'Chuyển sang chế độ chỉ đọc',
|
||||
edit: 'Chuyển sang chế độ chỉnh sửa',
|
||||
backToRoot: 'Quay lại nút gốc',
|
||||
changeSourceCodeEdit: 'Chuyển sang chế độ chỉnh sửa mã nguồn'
|
||||
changeSourceCodeEdit: 'Chuyển sang chế độ chỉnh sửa mã nguồn',
|
||||
shortcutKeys: 'Phím tắt',
|
||||
ai: 'Đối thoại AI',
|
||||
downloadClient: 'Tải về khách hàng',
|
||||
site: 'Trang web chính thức',
|
||||
current: 'Hiện tại:'
|
||||
},
|
||||
nodeHyperlink: {
|
||||
title: 'Liên kết',
|
||||
@@ -296,8 +301,7 @@ export default {
|
||||
classics: 'Cổ điển',
|
||||
dark: 'Tối',
|
||||
simple: 'Đơn giản',
|
||||
coverTip:
|
||||
'Bạn hiện đã tùy chỉnh kiểu cơ bản, bạn có muốn ghi đè không?',
|
||||
coverTip: 'Bạn hiện đã tùy chỉnh kiểu cơ bản, bạn có muốn ghi đè không?',
|
||||
tip: 'Mẹo',
|
||||
cover: 'Ghi đè',
|
||||
reserve: 'Giữ lại'
|
||||
@@ -362,7 +366,8 @@ export default {
|
||||
autoOpenNodeRichTextTip:
|
||||
'Phát hiện nội dung văn bản phong phú nhập vào, tự động bật chế độ văn bản phong phú',
|
||||
localStorageExceededTip:
|
||||
'Dung lượng sơ đồ tư duy bạn tạo đã vượt quá giới hạn lưu trữ tối đa cho phép của trình duyệt. Vui lòng xuất ngay lập tức, nếu không dữ liệu sẽ bị mất! Nên tải xuống ứng dụng khách để sử dụng, vì không có giới hạn kích thước khi sử dụng ứng dụng khách.'
|
||||
'Dung lượng sơ đồ tư duy bạn tạo đã vượt quá giới hạn lưu trữ tối đa cho phép của trình duyệt. Vui lòng xuất ngay lập tức, nếu không dữ liệu sẽ bị mất! Nên tải xuống ứng dụng khách để sử dụng, vì không có giới hạn kích thước khi sử dụng ứng dụng khách.',
|
||||
withBg: 'Với Background'
|
||||
},
|
||||
mouseAction: {
|
||||
tip1:
|
||||
@@ -412,7 +417,8 @@ export default {
|
||||
copy: 'Sao chép',
|
||||
confirm: 'Hoàn thành',
|
||||
close: 'Đóng',
|
||||
formatErrorTip: 'Định dạng JSON không chính xác. Vui lòng kiểm tra và thử lại',
|
||||
formatErrorTip:
|
||||
'Định dạng JSON không chính xác. Vui lòng kiểm tra và thử lại',
|
||||
copyTip: 'Đã sao chép vào clipboard',
|
||||
formatTip: 'Định dạng hoàn thành'
|
||||
},
|
||||
@@ -477,8 +483,7 @@ export default {
|
||||
'Vui lòng nhập chủ đề, và AI sẽ tạo sơ đồ tư duy dựa trên chủ đề của bạn, chẳng hạn như: Kế hoạch du lịch cuối tuần Hà Nội.',
|
||||
importantTip:
|
||||
'Lưu ý quan trọng: Tạo một nhấp sẽ ghi đè dữ liệu hiện có. Nên xuất dữ liệu hiện tại trước.',
|
||||
wantModifyAiConfigTip:
|
||||
'Bạn muốn sửa đổi cấu hình AI? Vui lòng nhấp vào:',
|
||||
wantModifyAiConfigTip: 'Bạn muốn sửa đổi cấu hình AI? Vui lòng nhấp vào:',
|
||||
modifyAIConfiguration: 'Sửa đổi cấu hình AI',
|
||||
chatInputPlaceholder: 'Nhấn Enter để gửi, Shift+Enter để xuống dòng.',
|
||||
send: 'Gửi',
|
||||
@@ -514,8 +519,7 @@ export default {
|
||||
aiCreatePartMsgPrefix: 'Tôi có một chủ đề là【',
|
||||
aiCreatePartMsgCenter:
|
||||
'】Bạn có thể giúp tôi tiếp tục viết một trong những nội dung của sơ đồ tư duy【',
|
||||
aiCreatePartMsgPostfix:
|
||||
'】Nội dung phụ thuộc của nút',
|
||||
aiCreatePartMsgPostfix: '】Nội dung phụ thuộc của nút',
|
||||
aiCreatePartMsgHelp:
|
||||
'. Cần được trả về ở định dạng Markdown và chỉ có thể sử dụng hai cú pháp: tiêu đề Markdown và danh sách không có thứ tự. Nó có thể hỗ trợ lồng ghép nhiều cấp độ. Chỉ cần trả về nội dung.',
|
||||
aiCreatePart: 'AI Tiếp tục'
|
||||
|
||||
@@ -880,6 +880,7 @@ export default {
|
||||
rainbowLinesOptions,
|
||||
lineWidthList,
|
||||
fontSizeList,
|
||||
lineStyleMap,
|
||||
activeTab: 'color',
|
||||
marginActiveTab: 'second',
|
||||
style: {
|
||||
@@ -958,9 +959,6 @@ export default {
|
||||
fontFamilyList() {
|
||||
return fontFamilyList[this.$i18n.locale] || fontFamilyList.zh
|
||||
},
|
||||
lineStyleMap() {
|
||||
return lineStyleMap[this.$i18n.locale] || lineStyleMap.zh
|
||||
},
|
||||
showNodeUseLineStyle() {
|
||||
return supportNodeUseLineStyleLayouts.includes(this.currentLayout)
|
||||
},
|
||||
|
||||
@@ -629,12 +629,13 @@ export default {
|
||||
}
|
||||
|
||||
.contentName {
|
||||
width: 45px;
|
||||
min-width: 40px;
|
||||
color: #808080;
|
||||
flex-shrink: 0;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
line-height: 25px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.contentValue {
|
||||
@@ -668,7 +669,7 @@ export default {
|
||||
|
||||
.name {
|
||||
margin-right: 12px;
|
||||
width: 85px;
|
||||
min-width: 85px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -649,13 +649,12 @@ export default {
|
||||
]
|
||||
},
|
||||
shapeListMap() {
|
||||
const map = shapeListMap[this.$i18n.locale] || shapeListMap.zh
|
||||
const map2 = {}
|
||||
this.mindMap.extendShapeList.forEach(item => {
|
||||
map2[item.name] = item.path
|
||||
})
|
||||
return {
|
||||
...map,
|
||||
...shapeListMap,
|
||||
...map2
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user