mirror of
https://github.com/Tencent/tdesign-vue-next-starter.git
synced 2024-12-23 04:36:31 +08:00
refactor: 移除i18n目录
This commit is contained in:
parent
2d7757c3ba
commit
6dc5b4c829
|
@ -1,67 +0,0 @@
|
|||
import { useLocalStorage, usePreferredLanguages } from '@vueuse/core';
|
||||
import { DropdownOption } from 'tdesign-vue-next';
|
||||
import { computed } from 'vue';
|
||||
import { createI18n } from 'vue-i18n';
|
||||
|
||||
// 导入语言文件
|
||||
const langModules = import.meta.glob('./lang/*/index.ts', { eager: true });
|
||||
|
||||
const langModuleMap = new Map<string, Object>();
|
||||
|
||||
export const langCode: Array<string> = [];
|
||||
|
||||
export const localeConfigKey = 'tdesign-starter-locale';
|
||||
|
||||
// 获取浏览器默认语言环境
|
||||
const languages = usePreferredLanguages();
|
||||
|
||||
// 生成语言模块列表
|
||||
const generateLangModuleMap = () => {
|
||||
const fullPaths = Object.keys(langModules);
|
||||
fullPaths.forEach((fullPath) => {
|
||||
const k = fullPath.replace('./lang', '');
|
||||
const startIndex = 1;
|
||||
const lastIndex = k.lastIndexOf('/');
|
||||
const code = k.substring(startIndex, lastIndex);
|
||||
langCode.push(code);
|
||||
langModuleMap.set(code, langModules[fullPath]);
|
||||
});
|
||||
};
|
||||
|
||||
// 导出 Message
|
||||
const importMessages = computed(() => {
|
||||
generateLangModuleMap();
|
||||
|
||||
const message: Recordable = {};
|
||||
langModuleMap.forEach((value: any, key) => {
|
||||
message[key] = value.default;
|
||||
});
|
||||
return message;
|
||||
});
|
||||
|
||||
export const i18n = createI18n({
|
||||
legacy: false,
|
||||
locale: useLocalStorage(localeConfigKey, 'zh_CN').value || languages.value[0] || 'zh_CN',
|
||||
fallbackLocale: 'zh_CN',
|
||||
messages: importMessages.value,
|
||||
globalInjection: true,
|
||||
});
|
||||
|
||||
export const langList = computed(() => {
|
||||
if (langModuleMap.size === 0) generateLangModuleMap();
|
||||
|
||||
const list: DropdownOption[] = [];
|
||||
langModuleMap.forEach((value: any, key) => {
|
||||
list.push({
|
||||
content: value.default.lang,
|
||||
value: key,
|
||||
});
|
||||
});
|
||||
|
||||
return list;
|
||||
});
|
||||
|
||||
// @ts-ignore
|
||||
export const { t } = i18n.global;
|
||||
|
||||
export default i18n;
|
|
@ -1,37 +0,0 @@
|
|||
export default {
|
||||
isSetup: {
|
||||
on: 'Enabled',
|
||||
off: 'Disabled',
|
||||
},
|
||||
manage: 'Manage',
|
||||
delete: 'Delete',
|
||||
commonTable: {
|
||||
contractName: 'Name',
|
||||
contractStatus: 'Status',
|
||||
contractNum: 'Number',
|
||||
contractType: 'Type',
|
||||
contractPayType: 'Pay Type',
|
||||
contractAmount: 'Amount',
|
||||
contractNamePlaceholder: 'enter contract name',
|
||||
contractStatusPlaceholder: 'enter contract status',
|
||||
contractNumPlaceholder: 'enter contract number',
|
||||
contractTypePlaceholder: 'enter contract type',
|
||||
operation: 'Operation',
|
||||
detail: 'detail',
|
||||
delete: 'delete',
|
||||
contractStatusEnum: {
|
||||
fail: 'fail',
|
||||
audit: 'audit',
|
||||
executing: 'executing',
|
||||
pending: 'pending',
|
||||
finish: 'finish',
|
||||
},
|
||||
contractTypeEnum: {
|
||||
main: 'main',
|
||||
sub: 'sub',
|
||||
supplement: 'supplement',
|
||||
},
|
||||
reset: 'reset',
|
||||
query: 'query',
|
||||
},
|
||||
};
|
|
@ -1,54 +0,0 @@
|
|||
import merge from 'lodash/merge';
|
||||
import componentsLocale from 'tdesign-vue-next/es/locale/en_US';
|
||||
|
||||
import components from './components';
|
||||
import layout from './layout';
|
||||
import pages from './pages';
|
||||
|
||||
export default {
|
||||
lang: 'English',
|
||||
layout,
|
||||
pages,
|
||||
components,
|
||||
constants: {
|
||||
contract: {
|
||||
name: 'Name',
|
||||
status: 'Status',
|
||||
num: 'Number',
|
||||
type: 'Type',
|
||||
typePlaceholder: 'Please enter type',
|
||||
payType: 'Pay Type',
|
||||
amount: 'Amount',
|
||||
amountPlaceholder: 'Please enter amount',
|
||||
signDate: 'Sign Date',
|
||||
effectiveDate: 'Effective Date',
|
||||
endDate: 'End Date',
|
||||
createDate: 'Create Date',
|
||||
attachment: 'Attachment',
|
||||
company: 'Company',
|
||||
employee: 'Employee',
|
||||
pay: 'pay',
|
||||
receive: 'received',
|
||||
remark: 'remark',
|
||||
statusOptions: {
|
||||
fail: 'Failure',
|
||||
auditPending: 'Pending audit',
|
||||
execPending: 'Pending performance',
|
||||
executing: 'Successful',
|
||||
finish: 'Finish',
|
||||
},
|
||||
typeOptions: {
|
||||
main: 'Master contract',
|
||||
sub: 'Subcontract',
|
||||
supplement: 'Supplementary contract',
|
||||
},
|
||||
},
|
||||
},
|
||||
componentsLocale: merge({}, componentsLocale, {
|
||||
// 可以在此处定义更多自定义配置,具体可配置内容参看 API 文档
|
||||
// https://tdesign.tencent.com/vue-next/config?tab=api
|
||||
// pagination: {
|
||||
// jumpTo: 'xxx'
|
||||
// },
|
||||
}),
|
||||
};
|
|
@ -1,54 +0,0 @@
|
|||
export default {
|
||||
header: {
|
||||
code: 'Code Repository',
|
||||
help: 'Document',
|
||||
user: 'Profile',
|
||||
signOut: 'Sign Out',
|
||||
setting: 'Setting',
|
||||
},
|
||||
notice: {
|
||||
title: 'Notification Center',
|
||||
clear: 'Clear',
|
||||
setRead: 'Set Read',
|
||||
empty: 'Empty',
|
||||
emptyNotice: 'No Notice',
|
||||
viewAll: 'View All',
|
||||
},
|
||||
tagTabs: {
|
||||
closeOther: 'close other',
|
||||
closeLeft: 'close left',
|
||||
closeRight: 'close right',
|
||||
refresh: 'refresh',
|
||||
},
|
||||
searchPlaceholder: 'Enter search content',
|
||||
setting: {
|
||||
title: 'Setting',
|
||||
theme: {
|
||||
mode: 'Theme Mode',
|
||||
color: 'Theme Color',
|
||||
options: {
|
||||
light: 'Light',
|
||||
dark: 'Dark ',
|
||||
auto: 'Follow System',
|
||||
},
|
||||
},
|
||||
navigationLayout: 'Navigation Layout',
|
||||
sideMode: 'Side Menu Mode',
|
||||
splitMenu: 'Split Menu(Only Mix mode)',
|
||||
fixedSidebar: 'Fixed Sidebar',
|
||||
element: {
|
||||
title: 'Element Switch',
|
||||
showHeader: 'Show Header',
|
||||
showBreadcrumb: 'Show Breadcrumb',
|
||||
showFooter: 'Show Footer',
|
||||
useTagTabs: 'Use Tag Tabs',
|
||||
menuAutoCollapsed: 'Menu Auto Collapsed',
|
||||
},
|
||||
tips: 'Please copy and manually modify the configuration file: /src/config/style.ts',
|
||||
copy: {
|
||||
title: 'Copy',
|
||||
success: 'copied',
|
||||
fail: 'fail to copy',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,62 +0,0 @@
|
|||
export default {
|
||||
outputOverview: {
|
||||
title: 'In/Out Overview',
|
||||
subtitle: '(pieces)',
|
||||
export: 'Export data',
|
||||
month: {
|
||||
input: 'Total in store this month',
|
||||
output: 'Total out store this month',
|
||||
},
|
||||
since: 'Since last week',
|
||||
},
|
||||
rankList: {
|
||||
title: 'Sales order ranking',
|
||||
week: 'This week',
|
||||
month: 'Latest 3 months',
|
||||
info: 'Detail',
|
||||
},
|
||||
topPanel: {
|
||||
card1: 'Total Revenue',
|
||||
card2: 'Total Refund',
|
||||
card3: 'Active User(s)',
|
||||
card4: 'Generate Order(s)',
|
||||
cardTips: 'since last week',
|
||||
analysis: {
|
||||
title: 'Analysis Data',
|
||||
unit: 'ten thousand yuan',
|
||||
series1: 'this month',
|
||||
series2: 'last month',
|
||||
channels: 'Sales Channels',
|
||||
channel1: 'online',
|
||||
channel2: 'shop',
|
||||
channelTips: ' sales ratio',
|
||||
},
|
||||
},
|
||||
saleColumns: {
|
||||
index: 'Ranking',
|
||||
productName: 'Customer',
|
||||
growUp: 'Grow up',
|
||||
count: 'Count',
|
||||
operation: 'Operation',
|
||||
},
|
||||
buyColumns: {
|
||||
index: 'Ranking',
|
||||
productName: 'Supplier',
|
||||
growUp: 'Grow up',
|
||||
count: 'Count',
|
||||
operation: 'Operation',
|
||||
},
|
||||
chart: {
|
||||
week1: 'MON',
|
||||
week2: 'TUE',
|
||||
week3: 'WED',
|
||||
week4: 'THU',
|
||||
week5: 'FRI',
|
||||
week6: 'SAT',
|
||||
week7: 'SUN',
|
||||
max: 'Max',
|
||||
min: 'Min',
|
||||
thisMonth: 'this month',
|
||||
lastMonth: 'last month',
|
||||
},
|
||||
};
|
|
@ -1,45 +0,0 @@
|
|||
export default {
|
||||
topPanel: {
|
||||
title: 'Purchase applications for this month',
|
||||
quarter: 'Quarter on quarter',
|
||||
paneList: {
|
||||
totalRequest: 'Apply count',
|
||||
suppliers: 'Number of Suppliers',
|
||||
productCategory: 'Product Category',
|
||||
applicant: 'Number of Application',
|
||||
completionRate: 'Completion Rate(%)',
|
||||
arrivalRate: 'Arrival Rate(%)',
|
||||
},
|
||||
},
|
||||
procurement: {
|
||||
title: 'Trends in purchase requisitions for goods',
|
||||
goods: {
|
||||
cup: 'cup',
|
||||
tea: 'tea',
|
||||
honey: 'honey',
|
||||
flour: 'flour',
|
||||
coffeeMachine: 'coffee machine',
|
||||
massageMachine: 'massage machine',
|
||||
},
|
||||
},
|
||||
ssl: 'SSL certificate',
|
||||
sslDescription:
|
||||
'SSL certificate, also known as a server certificate, is a digital certificate that authenticates the identity of a website and encrypts information sent to the server using SSL technology. Tencent Cloud provides you with a one-stop service for SSL certificates, including application, management, and deployment of both free and paid certificates.',
|
||||
satisfaction: {
|
||||
title: 'distribution of satisfaction levels for purchased goods',
|
||||
export: 'export data',
|
||||
},
|
||||
chart: {
|
||||
week1: 'MON',
|
||||
week2: 'TUE',
|
||||
week3: 'WED',
|
||||
week4: 'THU',
|
||||
week5: 'FRI',
|
||||
week6: 'SAT',
|
||||
week7: 'SUN',
|
||||
max: 'Max',
|
||||
min: 'Min',
|
||||
thisMonth: 'this month',
|
||||
lastMonth: 'last month',
|
||||
},
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
export default {
|
||||
baseInfo: {
|
||||
title: 'Base Info',
|
||||
},
|
||||
changelog: {
|
||||
title: 'Changelog',
|
||||
step1: {
|
||||
title: 'upload file',
|
||||
subtitle: 'subtitle',
|
||||
},
|
||||
step2: {
|
||||
title: 'modify contract amount',
|
||||
subtitle: 'subtitle',
|
||||
},
|
||||
step3: {
|
||||
title: 'create contract',
|
||||
desc: 'administrator',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,43 +0,0 @@
|
|||
export default {
|
||||
baseInfo: {
|
||||
title: 'Base Info',
|
||||
},
|
||||
invoice: {
|
||||
title: 'Invoice Progress',
|
||||
step1: {
|
||||
title: 'Apply',
|
||||
content: 'The electronic invoice has been submitted on December 21st',
|
||||
},
|
||||
step2: {
|
||||
title: 'Electronic invoice',
|
||||
content: 'expected to be processed within 1-3 business days.',
|
||||
},
|
||||
step3: {
|
||||
title: 'Invoice is send',
|
||||
content: 'we will contact you within 7 business days.',
|
||||
},
|
||||
step4: {
|
||||
title: 'Finish',
|
||||
},
|
||||
},
|
||||
product: {
|
||||
title: 'Product Category',
|
||||
add: 'add production',
|
||||
month: 'month',
|
||||
quarter: 'quarter',
|
||||
},
|
||||
detail: {
|
||||
title: 'Product Procurement Detail',
|
||||
form: {
|
||||
applyNo: 'Apply no',
|
||||
product: 'Name',
|
||||
productNo: 'No.',
|
||||
department: 'Department',
|
||||
num: 'Num',
|
||||
createTime: 'Create time',
|
||||
operation: 'Operation',
|
||||
manage: 'manage',
|
||||
delete: 'delete',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,32 +0,0 @@
|
|||
export default {
|
||||
deployTrend: {
|
||||
title: 'Deploy Trend',
|
||||
warning: 'Warning',
|
||||
thisMonth: 'this month',
|
||||
thisWeek: 'this week',
|
||||
lastMonth: 'last month',
|
||||
thisYear: 'this year',
|
||||
lastYear: 'last year',
|
||||
week1: 'MON',
|
||||
week2: 'TUE',
|
||||
week3: 'WED',
|
||||
week4: 'THU',
|
||||
week5: 'FRI',
|
||||
week6: 'SAT',
|
||||
week7: 'SUN',
|
||||
},
|
||||
projectList: {
|
||||
title: 'Project List',
|
||||
dialog: {
|
||||
title: 'Base Info',
|
||||
},
|
||||
table: {
|
||||
name: 'Name',
|
||||
admin: 'Admin',
|
||||
createTime: 'Create time',
|
||||
operation: 'Operation',
|
||||
manage: 'manage',
|
||||
delete: 'delete',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,9 +0,0 @@
|
|||
export default {
|
||||
read: 'Read',
|
||||
unread: 'Unread',
|
||||
all: 'All',
|
||||
setRead: 'set as read',
|
||||
setUnread: 'set as unread',
|
||||
delete: 'delete',
|
||||
empty: 'Empty',
|
||||
};
|
|
@ -1,27 +0,0 @@
|
|||
export default {
|
||||
title: 'Contract Info',
|
||||
contractName: 'Name',
|
||||
contractStatus: 'Status',
|
||||
contractNum: 'Number',
|
||||
contractType: 'Type',
|
||||
contractTypePlaceholder: 'Please enter type',
|
||||
contractPayType: 'Pay Type',
|
||||
contractAmount: 'Amount',
|
||||
contractAmountPlaceholder: 'Please enter amount',
|
||||
contractSignDate: 'Sign Date',
|
||||
contractEffectiveDate: 'Effective Date',
|
||||
contractEndDate: 'End Date',
|
||||
company: 'Company',
|
||||
employee: 'Employee',
|
||||
pay: 'pay',
|
||||
receive: 'received',
|
||||
upload: 'upload file',
|
||||
uploadFile: 'upload contract file',
|
||||
uploadTips: 'Please upload a PDF file, with a size limit of 60MB.',
|
||||
otherInfo: 'Other Info',
|
||||
remark: 'Remark',
|
||||
remarkPlaceholder: 'please enter remark',
|
||||
notaryPublic: 'Notary Public',
|
||||
confirm: 'confirm',
|
||||
cancel: 'cancel',
|
||||
};
|
|
@ -1,53 +0,0 @@
|
|||
export default {
|
||||
step1: {
|
||||
title: 'Submit Application',
|
||||
subtitle: 'Submitted on December 21st',
|
||||
rules: 'rules',
|
||||
rule1:
|
||||
'1. After applying for an invoice, the electronic invoice will be issued within 1-3 working days. If the qualification review is passed, the VAT special invoice (paper) will be mailed to you within 10 working days after the electronic invoice is issued;',
|
||||
rule2: '2. The invoiced amount will be the actual amount you paid;',
|
||||
rule3: '3. For any questions, please contact us directly at 13300001111.',
|
||||
contractName: 'Name',
|
||||
contractTips: 'Please select a contract name',
|
||||
invoiceType: 'Invoice type',
|
||||
amount: 'Amount',
|
||||
submit: 'Submit Application',
|
||||
},
|
||||
step2: {
|
||||
title: 'Electronic Information',
|
||||
subtitle: 'Contact Customer Service if you have any questions',
|
||||
invoiceTitle: 'Invoice Title',
|
||||
taxNum: 'Tax Num',
|
||||
address: 'Address',
|
||||
bank: 'Bank',
|
||||
bankAccount: 'Bank Account',
|
||||
email: 'Email',
|
||||
tel: 'Tel',
|
||||
invoiceTitlePlaceholder: 'please enter invoice title',
|
||||
taxNumPlaceholder: 'please enter tax num',
|
||||
addressPlaceholder: 'please enter address',
|
||||
bankPlaceholder: 'please enter bank',
|
||||
bankAccountPlaceholder: 'please enter bank account',
|
||||
emailPlaceholder: 'please enter email',
|
||||
telPlaceholder: 'please enter tel',
|
||||
},
|
||||
step3: {
|
||||
title: 'Invoice Mailed',
|
||||
subtitle: 'Contact us after the electronic invoice is issued',
|
||||
consignee: 'Consignee',
|
||||
mobileNum: 'Mobile Num',
|
||||
deliveryAddress: 'Address',
|
||||
fullAddress: 'Full Address',
|
||||
},
|
||||
step4: {
|
||||
title: 'Application Completed',
|
||||
subtitle: 'Contact Customer Service if you have any questions',
|
||||
finishTitle: 'Application is completed.',
|
||||
finishTips:
|
||||
'The electronic invoice is expected to be sent to your email within 1-3 working days. Please be patient for the delivery of the paper invoice.',
|
||||
reapply: 'reapply',
|
||||
check: 'check progress',
|
||||
},
|
||||
preStep: 'pre step',
|
||||
nextStep: 'next step',
|
||||
};
|
|
@ -1,33 +0,0 @@
|
|||
import dashboardBase from './dashboard-base';
|
||||
import dashboardDetail from './dashboard-detail';
|
||||
import detailBase from './detail-base';
|
||||
import detailCard from './detail-card';
|
||||
import detailDeploy from './detail-deploy';
|
||||
import detailSecondary from './detail-secondary';
|
||||
import formBase from './form-base';
|
||||
import formStep from './form-step';
|
||||
import listBase from './list-base';
|
||||
import listCard from './list-card';
|
||||
import listFilter from './list-filter';
|
||||
import listTree from './list-tree';
|
||||
import login from './login';
|
||||
import result from './result';
|
||||
import user from './user';
|
||||
|
||||
export default {
|
||||
dashboardBase,
|
||||
dashboardDetail,
|
||||
listBase,
|
||||
listCard,
|
||||
listFilter,
|
||||
listTree,
|
||||
detailBase,
|
||||
detailCard,
|
||||
detailDeploy,
|
||||
detailSecondary,
|
||||
formBase,
|
||||
formStep,
|
||||
user,
|
||||
login,
|
||||
result,
|
||||
};
|
|
@ -1,25 +0,0 @@
|
|||
export default {
|
||||
export: 'export',
|
||||
create: 'create',
|
||||
select: 'select',
|
||||
items: 'items',
|
||||
contractName: 'Name',
|
||||
contractStatus: 'Status',
|
||||
contractNum: 'Number',
|
||||
contractType: 'Type',
|
||||
contractPayType: 'Pay Type',
|
||||
contractAmount: 'Amount',
|
||||
operation: 'Operation',
|
||||
detail: 'detail',
|
||||
delete: 'delete',
|
||||
pay: 'pay',
|
||||
receive: 'received',
|
||||
placeholder: 'please enter to search',
|
||||
contractStatusEnum: {
|
||||
fail: 'fail',
|
||||
audit: 'audit',
|
||||
executing: 'executing',
|
||||
pending: 'pending',
|
||||
finish: 'finish',
|
||||
},
|
||||
};
|
|
@ -1,13 +0,0 @@
|
|||
export default {
|
||||
create: 'Create Product',
|
||||
placeholder: 'please enter to search',
|
||||
productName: 'Name',
|
||||
productStatus: 'Status',
|
||||
productDescription: 'Description',
|
||||
productType: 'Type',
|
||||
productRemark: 'Remark',
|
||||
productStatusEnum: {
|
||||
off: 'off',
|
||||
on: 'on',
|
||||
},
|
||||
};
|
|
@ -1 +0,0 @@
|
|||
export default {};
|
|
@ -1,3 +0,0 @@
|
|||
export default {
|
||||
placeholder: 'please enter to search',
|
||||
};
|
|
@ -1,26 +0,0 @@
|
|||
export default {
|
||||
loginTitle: 'Login in',
|
||||
noAccount: 'No Account?',
|
||||
createAccount: 'Create Account',
|
||||
remember: 'Remember Account',
|
||||
forget: 'Forget Account',
|
||||
signIn: 'Sign in',
|
||||
existAccount: 'Exist Account?',
|
||||
refresh: 'refresh',
|
||||
wechatLogin: 'Login with WeChat',
|
||||
accountLogin: 'Login with Account',
|
||||
phoneLogin: 'Login with Mobile Phone',
|
||||
input: {
|
||||
account: 'please enter account',
|
||||
password: 'please enter password',
|
||||
phone: 'please enter phone',
|
||||
verification: 'please enter verification code',
|
||||
},
|
||||
required: {
|
||||
account: 'account is required',
|
||||
phone: 'phone is required',
|
||||
password: 'password is required',
|
||||
verification: 'verification code is require',
|
||||
},
|
||||
sendVerification: 'send',
|
||||
};
|
|
@ -1,43 +0,0 @@
|
|||
export default {
|
||||
403: {
|
||||
tips: 'sorry, you don not have permission to access this page. Please contact the creator through WeCom',
|
||||
back: 'Back to homepage',
|
||||
},
|
||||
404: {
|
||||
subtitle: 'Sorry, the page is not found',
|
||||
back: 'Back to homepage',
|
||||
},
|
||||
500: {
|
||||
subtitle: 'Sorry, the server is error',
|
||||
back: 'Back to homepage',
|
||||
},
|
||||
fail: {
|
||||
title: 'Create fail',
|
||||
subtitle: 'Sorry, your project creation has failed',
|
||||
back: 'Back to homepage',
|
||||
modify: 'Back to modify',
|
||||
},
|
||||
success: {
|
||||
title: 'Project is created',
|
||||
subtitle: 'Contact the person in charge of distributing the application',
|
||||
back: 'Back to homepage',
|
||||
progress: 'Check Progress',
|
||||
},
|
||||
maintenance: {
|
||||
title: 'System maintenance',
|
||||
subtitle: 'Please try again later',
|
||||
back: 'Back to homepage',
|
||||
},
|
||||
browserIncompatible: {
|
||||
title: 'browser is incompatible',
|
||||
subtitle: 'the browser version you are using is too outdated to open the current webpage.',
|
||||
back: 'Back to homepage',
|
||||
recommend: 'TDesign Starter recommend the following browser',
|
||||
},
|
||||
networkError: {
|
||||
title: 'Network Error',
|
||||
subtitle: 'Network error, please try again later',
|
||||
back: 'Back to homepage',
|
||||
reload: 'Reload',
|
||||
},
|
||||
};
|
|
@ -1,23 +0,0 @@
|
|||
export default {
|
||||
markDay: 'Good afternoon, today marks your 100th day at Tencent',
|
||||
personalInfo: {
|
||||
title: 'Personal Info',
|
||||
position: 'Employee of the Hong Kong and Macau Business Expansion team',
|
||||
|
||||
desc: {
|
||||
phone: 'Phone',
|
||||
mobile: 'Mobile',
|
||||
seat: 'Seat',
|
||||
email: 'Email',
|
||||
position: 'Position',
|
||||
leader: 'Leader',
|
||||
entity: 'Entity',
|
||||
joinDay: 'Day of join',
|
||||
group: 'Group',
|
||||
},
|
||||
},
|
||||
contentList: 'Content List',
|
||||
visitData: 'Visit Data',
|
||||
teamMember: 'Team Member',
|
||||
serviceProduction: 'Service Product',
|
||||
};
|
|
@ -1,38 +0,0 @@
|
|||
export default {
|
||||
isSetup: {
|
||||
on: '已启用',
|
||||
off: '已停用',
|
||||
},
|
||||
manage: '管理',
|
||||
delete: '删除',
|
||||
commonTable: {
|
||||
contractName: '合同名称',
|
||||
contractNamePlaceholder: '请输入合同名称',
|
||||
contractStatus: '合同状态',
|
||||
contractStatusPlaceholder: '请输入合同状态',
|
||||
contractNum: '合同编号',
|
||||
contractNumPlaceholder: '请输入合同编号',
|
||||
contractType: '合同类型',
|
||||
contractTypePlaceholder: '请选择合同类型',
|
||||
contractPayType: '合同支付类型',
|
||||
contractAmount: '合同金额',
|
||||
operation: '操作',
|
||||
detail: '详情',
|
||||
delete: '删除',
|
||||
placeholder: '请输入内容搜索',
|
||||
contractStatusEnum: {
|
||||
fail: '审核失败',
|
||||
audit: '待审核',
|
||||
executing: '履行中',
|
||||
pending: '待履行',
|
||||
finish: '已完成',
|
||||
},
|
||||
contractTypeEnum: {
|
||||
main: '主合同',
|
||||
sub: '子合同',
|
||||
supplement: '补充合同',
|
||||
},
|
||||
reset: '重置',
|
||||
query: '查询',
|
||||
},
|
||||
};
|
|
@ -1,47 +0,0 @@
|
|||
import componentsLocale from 'tdesign-vue-next/es/locale/zh_CN';
|
||||
|
||||
import components from './components';
|
||||
import layout from './layout';
|
||||
import pages from './pages';
|
||||
|
||||
export default {
|
||||
lang: '简体中文',
|
||||
layout,
|
||||
pages,
|
||||
components,
|
||||
constants: {
|
||||
contract: {
|
||||
name: '合同名称',
|
||||
status: '合同状态',
|
||||
num: '合同编号',
|
||||
type: '合同类型',
|
||||
typePlaceholder: '请输入类型',
|
||||
payType: '合同收支类型',
|
||||
amount: '合同金额',
|
||||
amountPlaceholder: '请输入金额',
|
||||
signDate: '合同签订日期',
|
||||
effectiveDate: '合同生效日期',
|
||||
endDate: '合同结束日期',
|
||||
createDate: '合同创建时间',
|
||||
company: '甲方',
|
||||
employee: '乙方',
|
||||
pay: '付款',
|
||||
receive: '收款',
|
||||
remark: '备注',
|
||||
attachment: '附件',
|
||||
statusOptions: {
|
||||
fail: '审核失败',
|
||||
auditPending: '待审核',
|
||||
execPending: '待履行',
|
||||
executing: '审核成功',
|
||||
finish: '已完成',
|
||||
},
|
||||
typeOptions: {
|
||||
main: '主合同',
|
||||
sub: '子合同',
|
||||
supplement: '补充合同',
|
||||
},
|
||||
},
|
||||
},
|
||||
componentsLocale,
|
||||
};
|
|
@ -1,54 +0,0 @@
|
|||
export default {
|
||||
header: {
|
||||
code: '代码仓库',
|
||||
help: '帮助文档',
|
||||
user: '个人中心',
|
||||
signOut: '退出登录',
|
||||
setting: '系统设置',
|
||||
},
|
||||
notice: {
|
||||
title: '通知中心',
|
||||
clear: '清空',
|
||||
setRead: '设为已读',
|
||||
empty: '空',
|
||||
emptyNotice: '暂无通知',
|
||||
viewAll: '查看全部',
|
||||
},
|
||||
searchPlaceholder: '请输入搜索内容',
|
||||
tagTabs: {
|
||||
closeOther: '关闭其他',
|
||||
closeLeft: '关闭左侧',
|
||||
closeRight: '关闭右侧',
|
||||
refresh: '刷新',
|
||||
},
|
||||
setting: {
|
||||
title: '页面配置',
|
||||
theme: {
|
||||
mode: '主题模式',
|
||||
color: '主题色',
|
||||
options: {
|
||||
light: '明亮',
|
||||
dark: '暗黑',
|
||||
auto: '跟随系统',
|
||||
},
|
||||
},
|
||||
navigationLayout: '导航布局',
|
||||
sideMode: '侧边栏模式',
|
||||
splitMenu: '分割菜单(混合模式下有效)',
|
||||
fixedSidebar: '固定侧边栏',
|
||||
element: {
|
||||
title: '元素开关',
|
||||
showHeader: '显示顶栏',
|
||||
showBreadcrumb: '显示面包屑',
|
||||
showFooter: '显示页脚',
|
||||
useTagTabs: '展示多标签Tab页',
|
||||
menuAutoCollapsed: '菜单自动折叠',
|
||||
},
|
||||
tips: '请复制后手动修改配置文件: /src/config/style.ts',
|
||||
copy: {
|
||||
title: '复制配置项',
|
||||
success: '复制成功',
|
||||
fail: '复制失败',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,63 +0,0 @@
|
|||
export default {
|
||||
title: '概览仪表盘',
|
||||
outputOverview: {
|
||||
title: '出入库概览',
|
||||
subtitle: '(件)',
|
||||
export: '导出数据',
|
||||
month: {
|
||||
input: '本月入库总计(件)',
|
||||
output: '本月出库总计(件)',
|
||||
},
|
||||
since: '自从上周以来',
|
||||
},
|
||||
rankList: {
|
||||
title: '销售订单排名',
|
||||
week: '本周',
|
||||
month: '近三月',
|
||||
info: '详情',
|
||||
},
|
||||
topPanel: {
|
||||
card1: '总收入',
|
||||
card2: '总退款',
|
||||
card3: '活跃用户(个)',
|
||||
card4: '产生订单(个)',
|
||||
cardTips: '自从上周以来',
|
||||
analysis: {
|
||||
title: '统计数据',
|
||||
unit: '万元',
|
||||
series1: '本月',
|
||||
series2: '上月',
|
||||
channels: '销售渠道',
|
||||
channel1: '线上',
|
||||
channel2: '门店',
|
||||
channelTips: '销售占比',
|
||||
},
|
||||
},
|
||||
saleColumns: {
|
||||
index: '排名',
|
||||
productName: '客户名称',
|
||||
growUp: '较上周',
|
||||
count: '订单量',
|
||||
operation: '操作',
|
||||
},
|
||||
buyColumns: {
|
||||
index: '排名',
|
||||
productName: '供应商名称',
|
||||
growUp: '较上周',
|
||||
count: '订单量',
|
||||
operation: '操作',
|
||||
},
|
||||
chart: {
|
||||
week1: '周一',
|
||||
week2: '周二',
|
||||
week3: '周三',
|
||||
week4: '周四',
|
||||
week5: '周五',
|
||||
week6: '周六',
|
||||
week7: '周日',
|
||||
max: '最大值',
|
||||
min: '最小值',
|
||||
thisMonth: '本月',
|
||||
lastMonth: '上月',
|
||||
},
|
||||
};
|
|
@ -1,44 +0,0 @@
|
|||
export default {
|
||||
topPanel: {
|
||||
title: '本月采购申请情况',
|
||||
quarter: '环比',
|
||||
paneList: {
|
||||
totalRequest: '总申请数(次)',
|
||||
suppliers: '供应商数量(个)',
|
||||
productCategory: '采购商品品类(类)',
|
||||
applicant: '申请人数量(人)',
|
||||
completionRate: '申请完成率(%)',
|
||||
arrivalRate: '到货及时率(%)',
|
||||
},
|
||||
},
|
||||
procurement: {
|
||||
title: '采购商品申请趋势',
|
||||
goods: {
|
||||
cup: '杯子',
|
||||
tea: '茶叶',
|
||||
honey: '蜂蜜',
|
||||
flour: '面粉',
|
||||
coffeeMachine: '咖啡机',
|
||||
massageMachine: '按摩仪',
|
||||
},
|
||||
},
|
||||
ssl: 'SSL证书',
|
||||
sslDescription: 'SSL证书又叫服务器证书,腾讯云为您提供证书的一站式服务,包括免费、付费证书的申请、管理及部署',
|
||||
satisfaction: {
|
||||
title: '采购商品满意度分布',
|
||||
export: '导出数据',
|
||||
},
|
||||
chart: {
|
||||
week1: '周一',
|
||||
week2: '周二',
|
||||
week3: '周三',
|
||||
week4: '周四',
|
||||
week5: '周五',
|
||||
week6: '周六',
|
||||
week7: '周日',
|
||||
max: '最大值',
|
||||
min: '最小值',
|
||||
thisMonth: '本月',
|
||||
lastMonth: '上月',
|
||||
},
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
export default {
|
||||
baseInfo: {
|
||||
title: '基本信息',
|
||||
},
|
||||
changelog: {
|
||||
title: '变更记录',
|
||||
step1: {
|
||||
title: '上传合同附件',
|
||||
subtitle: '这里是提示文字',
|
||||
},
|
||||
step2: {
|
||||
title: '修改合同金额',
|
||||
subtitle: '这里是提示文字',
|
||||
},
|
||||
step3: {
|
||||
title: '新建合同',
|
||||
desc: '管理员-李川操作',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,43 +0,0 @@
|
|||
export default {
|
||||
baseInfo: {
|
||||
title: '基本信息',
|
||||
},
|
||||
invoice: {
|
||||
title: '发票进度',
|
||||
step1: {
|
||||
title: '申请提交',
|
||||
content: '已于12月21日提交',
|
||||
},
|
||||
step2: {
|
||||
title: '电子发票',
|
||||
content: '预计1~3个工作日',
|
||||
},
|
||||
step3: {
|
||||
title: '发票已邮寄',
|
||||
content: '电子发票开出后7个工作日联系',
|
||||
},
|
||||
step4: {
|
||||
title: '完成',
|
||||
},
|
||||
},
|
||||
product: {
|
||||
title: '产品目录',
|
||||
add: '新增产品',
|
||||
month: '月份',
|
||||
quarter: '季度',
|
||||
},
|
||||
detail: {
|
||||
title: '产品采购明细',
|
||||
form: {
|
||||
applyNo: '申请号',
|
||||
product: '产品名称',
|
||||
productNo: '产品编号',
|
||||
operation: '操作',
|
||||
department: '申请部门',
|
||||
num: '采购数量',
|
||||
createTime: '创建时间',
|
||||
manage: '管理',
|
||||
delete: '删除',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,32 +0,0 @@
|
|||
export default {
|
||||
deployTrend: {
|
||||
title: '部署趋势',
|
||||
warning: '告警情况',
|
||||
thisMonth: '本月',
|
||||
thisWeek: '本周',
|
||||
lastMonth: '上月',
|
||||
thisYear: '今年',
|
||||
lastYear: '去年',
|
||||
week1: '周一',
|
||||
week2: '周二',
|
||||
week3: '周三',
|
||||
week4: '周四',
|
||||
week5: '周五',
|
||||
week6: '周六',
|
||||
week7: '周日',
|
||||
},
|
||||
projectList: {
|
||||
title: '项目列表',
|
||||
dialog: {
|
||||
title: '基本信息',
|
||||
},
|
||||
table: {
|
||||
name: '名称',
|
||||
admin: '管理员',
|
||||
createTime: '创建时间',
|
||||
operation: '操作',
|
||||
manage: '管理',
|
||||
delete: '删除',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,9 +0,0 @@
|
|||
export default {
|
||||
read: '已读通知',
|
||||
unread: '未读通知',
|
||||
all: '全部通知',
|
||||
setRead: '设为已读',
|
||||
setUnread: '设为未读',
|
||||
delete: '删除通知',
|
||||
empty: '暂无通知',
|
||||
};
|
|
@ -1,27 +0,0 @@
|
|||
export default {
|
||||
title: '合同信息',
|
||||
contractName: '合同名称',
|
||||
contractStatus: '合同状态',
|
||||
contractNum: '合同编号',
|
||||
contractType: '合同类型',
|
||||
contractTypePlaceholder: '请输入类型',
|
||||
contractPayType: '合同收支类型',
|
||||
contractAmount: '合同金额',
|
||||
contractAmountPlaceholder: '请输入金额',
|
||||
contractSignDate: '合同签订日期',
|
||||
contractEffectiveDate: '合同生效日期',
|
||||
contractEndDate: '合同结束日期',
|
||||
company: '甲方',
|
||||
employee: '乙方',
|
||||
pay: '付款',
|
||||
receive: '收款',
|
||||
upload: '上传文件',
|
||||
uploadFile: '上传合同',
|
||||
uploadTips: '请上传pdf文件,大小在60M以内',
|
||||
otherInfo: '其他信息',
|
||||
remark: '备注',
|
||||
remarkPlaceholder: '请输入备注',
|
||||
notaryPublic: '公证人',
|
||||
confirm: '确认提交',
|
||||
cancel: '取消',
|
||||
};
|
|
@ -1,54 +0,0 @@
|
|||
export default {
|
||||
step1: {
|
||||
title: '提交申请',
|
||||
subtitle: '已于12月21日提交',
|
||||
rules: '发票开具规则',
|
||||
rule1:
|
||||
'1、申请开票后,电子发票在1~3个工作日内开具;增值税专用发票(纸质)如资质审核通过,将在电子发票开具后10个工作日内为您寄出;',
|
||||
rule2: '2、开票金额为您实际支付金额;',
|
||||
rule3: '3、如有疑问请直接联系:13300001111。',
|
||||
contractName: '合同名称',
|
||||
contractTips: '请选择合同名称',
|
||||
invoiceType: '发票类型',
|
||||
amount: '开票金额',
|
||||
submit: '提交申请',
|
||||
},
|
||||
step2: {
|
||||
title: '电子信息',
|
||||
subtitle: '如有疑问联系客服',
|
||||
invoiceTitle: '发票抬头',
|
||||
taxNum: '纳税人识别号',
|
||||
address: '地址',
|
||||
bank: '开户行',
|
||||
bankAccount: '银行账号',
|
||||
email: '邮箱',
|
||||
tel: '手机号',
|
||||
titlePlaceholder: '请输入电子信息',
|
||||
subtitlePlaceholder: '请输入如有疑问联系客服',
|
||||
invoiceTitlePlaceholder: '请输入发票抬头',
|
||||
taxNumPlaceholder: '请输入纳税人识别号',
|
||||
addressPlaceholder: '请输入地址',
|
||||
bankPlaceholder: '请输入开户行',
|
||||
bankAccountPlaceholder: '请输入银行账号',
|
||||
emailPlaceholder: '请输入邮箱',
|
||||
telPlaceholder: '请输入手机号',
|
||||
},
|
||||
step3: {
|
||||
title: '发票已邮寄',
|
||||
subtitle: '电子发票开出后联系',
|
||||
consignee: '收货人',
|
||||
mobileNum: '手机号码',
|
||||
deliveryAddress: '收货地址',
|
||||
fullAddress: '详细地址',
|
||||
},
|
||||
step4: {
|
||||
title: '完成申请',
|
||||
subtitle: '如有疑问联系客服',
|
||||
finishTitle: '完成开票申请',
|
||||
finishTips: '预计1~3个工作日会将电子发票发至邮箱,发票邮寄请耐心等待',
|
||||
reapply: '再次申请',
|
||||
check: '查看进度',
|
||||
},
|
||||
preStep: '上一步',
|
||||
nextStep: '下一步',
|
||||
};
|
|
@ -1,33 +0,0 @@
|
|||
import dashboardBase from './dashboard-base';
|
||||
import dashboardDetail from './dashboard-detail';
|
||||
import detailBase from './detail-base';
|
||||
import detailCard from './detail-card';
|
||||
import detailDeploy from './detail-deploy';
|
||||
import detailSecondary from './detail-secondary';
|
||||
import formBase from './form-base';
|
||||
import formStep from './form-step';
|
||||
import listBase from './list-base';
|
||||
import listCard from './list-card';
|
||||
import listFilter from './list-filter';
|
||||
import listTree from './list-tree';
|
||||
import login from './login';
|
||||
import result from './result';
|
||||
import user from './user';
|
||||
|
||||
export default {
|
||||
dashboardBase,
|
||||
dashboardDetail,
|
||||
listBase,
|
||||
listCard,
|
||||
listFilter,
|
||||
listTree,
|
||||
detailBase,
|
||||
detailCard,
|
||||
detailDeploy,
|
||||
detailSecondary,
|
||||
formBase,
|
||||
formStep,
|
||||
user,
|
||||
login,
|
||||
result,
|
||||
};
|
|
@ -1,25 +0,0 @@
|
|||
export default {
|
||||
export: '导出合同',
|
||||
create: '新建合同',
|
||||
select: '已选',
|
||||
items: '项',
|
||||
contractName: '合同名称',
|
||||
contractStatus: '合同状态',
|
||||
contractNum: '合同编号',
|
||||
contractType: '合同类型',
|
||||
contractPayType: '合同收支类型',
|
||||
contractAmount: '合同金额',
|
||||
operation: '操作',
|
||||
detail: '详情',
|
||||
delete: '删除',
|
||||
pay: '付款',
|
||||
receive: '收款',
|
||||
placeholder: '请输入内容搜索',
|
||||
contractStatusEnum: {
|
||||
fail: '审核失败',
|
||||
audit: '待审核',
|
||||
executing: '履行中',
|
||||
pending: '待履行',
|
||||
finish: '已完成',
|
||||
},
|
||||
};
|
|
@ -1,13 +0,0 @@
|
|||
export default {
|
||||
create: '新建产品',
|
||||
placeholder: '请输入内容搜索',
|
||||
productName: '产品名称',
|
||||
productStatus: '产品状态',
|
||||
productDescription: '产品描述',
|
||||
productType: '产品类型',
|
||||
productRemark: '备注',
|
||||
productStatusEnum: {
|
||||
off: '停用',
|
||||
on: '启用',
|
||||
},
|
||||
};
|
|
@ -1 +0,0 @@
|
|||
export default {};
|
|
@ -1,3 +0,0 @@
|
|||
export default {
|
||||
placeholder: '请输入内容进行搜索',
|
||||
};
|
|
@ -1,27 +0,0 @@
|
|||
export default {
|
||||
loginTitle: '登录到',
|
||||
noAccount: '没有账号吗?',
|
||||
existAccount: '已有账号?',
|
||||
createAccount: '注册新账号',
|
||||
remember: '记住账号',
|
||||
forget: '忘记账号',
|
||||
signIn: '登录',
|
||||
register: '注册',
|
||||
refresh: '刷新',
|
||||
wechatLogin: '使用微信扫一扫登录',
|
||||
accountLogin: '使用账号登录',
|
||||
phoneLogin: '使用手机号登录',
|
||||
input: {
|
||||
account: '请输入账号',
|
||||
password: '请输入登录密码',
|
||||
phone: '请输入手机号',
|
||||
verification: '请输入验证码',
|
||||
},
|
||||
required: {
|
||||
account: '账号必填',
|
||||
phone: '手机号必填',
|
||||
password: '密码必填',
|
||||
verification: '验证码必填',
|
||||
},
|
||||
sendVerification: '发送验证码',
|
||||
};
|
|
@ -1,43 +0,0 @@
|
|||
export default {
|
||||
403: {
|
||||
tips: '抱歉,您无权限访问此页面,企业微信联系创建者',
|
||||
back: '返回首页',
|
||||
},
|
||||
404: {
|
||||
subtitle: '抱歉,您访问的页面不存在',
|
||||
back: '返回首页',
|
||||
},
|
||||
500: {
|
||||
subtitle: '抱歉,服务器出错啦',
|
||||
back: '返回首页',
|
||||
},
|
||||
fail: {
|
||||
title: '创建失败',
|
||||
subtitle: '抱歉,您的项目创建失败,企业微信联系检查创建者权限,或返回修改。',
|
||||
back: '回到首页',
|
||||
modify: '返回修改',
|
||||
},
|
||||
success: {
|
||||
title: '项目已创建成功',
|
||||
subtitle: '可以联系负责人分发应用',
|
||||
back: '回到首页',
|
||||
progress: '查看进度',
|
||||
},
|
||||
maintenance: {
|
||||
title: '系统维护中',
|
||||
subtitle: '系统维护中,请稍后再试',
|
||||
back: '回到首页',
|
||||
},
|
||||
browserIncompatible: {
|
||||
title: '浏览器不兼容',
|
||||
subtitle: '抱歉,您正在使用的浏览器版本过低,无法打开当前网页。',
|
||||
back: '回到首页',
|
||||
recommend: 'TDesign Starter 推荐以下主流浏览器',
|
||||
},
|
||||
networkError: {
|
||||
title: '网络异常',
|
||||
subtitle: '网络异常, 请稍后重试',
|
||||
back: '回到首页',
|
||||
reload: '重新加载',
|
||||
},
|
||||
};
|
|
@ -1,22 +0,0 @@
|
|||
export default {
|
||||
markDay: '下午好,今天是你加入鹅厂的第 100 天',
|
||||
personalInfo: {
|
||||
title: '个人信息',
|
||||
position: '港澳业务拓展组员工 直客销售 ',
|
||||
desc: {
|
||||
phone: '座机',
|
||||
mobile: '手机',
|
||||
seat: '座位',
|
||||
email: '邮箱',
|
||||
position: '职位',
|
||||
leader: '上级',
|
||||
entity: '主体',
|
||||
joinDay: '入职时间',
|
||||
group: '所属团队',
|
||||
},
|
||||
},
|
||||
visitData: '首页访问数据',
|
||||
contentList: '内容列表',
|
||||
teamMember: '团队成员',
|
||||
serviceProduction: '服务产品',
|
||||
};
|
|
@ -1,28 +0,0 @@
|
|||
import { useLocalStorage } from '@vueuse/core';
|
||||
import { computed } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
import { i18n, langCode, localeConfigKey } from '@/locales/index';
|
||||
|
||||
export function useLocale() {
|
||||
const { locale } = useI18n({ useScope: 'global' });
|
||||
function changeLocale(lang: string) {
|
||||
// 如果切换的语言不在对应语言文件里则默认为简体中文
|
||||
if (!langCode.includes(lang)) {
|
||||
lang = 'zh_CN';
|
||||
}
|
||||
|
||||
locale.value = lang;
|
||||
useLocalStorage(localeConfigKey, 'zh_CN').value = lang;
|
||||
}
|
||||
|
||||
const getComponentsLocale = computed(() => {
|
||||
return i18n.global.getLocaleMessage(locale.value).componentsLocale;
|
||||
});
|
||||
|
||||
return {
|
||||
changeLocale,
|
||||
getComponentsLocale,
|
||||
locale,
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user