feat(demo-vue): 全站 i18n 抽文案、中英文资源与页面接入
- 引入 vue-i18n,集中维护 zh-CN / en-US 文案与产品 catalog、长文 HTML - 前台与后台列表/弹窗/校验/删除确认等改为 t(),顶栏与新闻/行业列表与详情页多语言 - 修正 Industry 等页面文首误粘贴;请求头 Accept-Language 与 Element 语言随 locale 切换
This commit is contained in:
230
demo-vue/src/locales/en-US/catalog.ts
Normal file
230
demo-vue/src/locales/en-US/catalog.ts
Normal file
@@ -0,0 +1,230 @@
|
||||
import type { ProductItemText } from '../types'
|
||||
|
||||
export const productCategoryLabelsEn = {
|
||||
all: 'All Products',
|
||||
ebike: 'E-Bike Series',
|
||||
emoto: 'Electric Motorcycle Series',
|
||||
trike: 'Civilian Tricycle Series',
|
||||
tractor: 'Compact Farm Machinery Series'
|
||||
} as const
|
||||
|
||||
export const productsEn: ProductItemText[] = [
|
||||
{
|
||||
id: 'changhong',
|
||||
categoryKey: 'ebike',
|
||||
name: 'Changhong',
|
||||
tags: ['Li/Lead-acid', 'Long range'],
|
||||
description: 'Changhong smart e-bike | dual battery, hydraulic shock, disc brakes.',
|
||||
specs: [
|
||||
{ value: 'Lithium 60V45AH / lead-acid 72V/20Ah', label: 'Battery', enLabel: 'BATTERY', valueEn: 'Lithium 60V45AH lead-acid 72V/20Ah' },
|
||||
{ value: '1000W', label: 'Motor', enLabel: 'MOTOR', valueEn: '1000W' },
|
||||
{ value: '12-tube controller', label: 'Controller', enLabel: 'CONTROLLER', valueEn: '12-channel controller' },
|
||||
{ value: '3.0-10 iron wheel vacuum', label: 'Tires', enLabel: 'TIRES', valueEn: '3.0-10 iron wheel vacuum tire' },
|
||||
{ value: 'Hydraulic fork, 7.0*290 shock', label: 'Shock', enLabel: 'SHOCK ABSORBER', valueEn: 'Hydraulic fork, 7.0*290 shock' },
|
||||
{ value: 'Front / rear disc', label: 'Brake', enLabel: 'BRAKE', valueEn: 'Disc brakes' },
|
||||
{ value: '90-100 km mid-speed range', label: 'Dashboard', enLabel: 'DASHBOARD', valueEn: 'Mid-speed range 90-100 km' },
|
||||
{ value: 'Lens headlight, taillight', label: 'Lighting', enLabel: 'LIGHTING', valueEn: 'Lens headlight, taillight' },
|
||||
{ value: '1790*680*1060mm', label: 'Dimensions', enLabel: 'OVERALL', valueEn: '1790*680*1060mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'mu5pro',
|
||||
categoryKey: 'ebike',
|
||||
name: 'MU5PRO',
|
||||
tags: ['Li/lead-acid', 'Large battery'],
|
||||
description: 'MU5PRO long-range e-bike | 1000W, 90-100 km range.',
|
||||
specs: [
|
||||
{ value: 'Lithium 60V45AH / lead-acid 72V/20Ah', label: 'Battery', enLabel: 'BATTERY', valueEn: 'Lithium 60V45AH lead-acid 72V/20Ah' },
|
||||
{ value: '1000W', label: 'Motor', enLabel: 'MOTOR', valueEn: '1000W' },
|
||||
{ value: '12-tube controller', label: 'Controller', enLabel: 'CONTROLLER', valueEn: '12-channel controller' },
|
||||
{ value: '3.0-12 vacuum', label: 'Tires', enLabel: 'TIRES', valueEn: '3.0-12 vacuum tire' },
|
||||
{ value: 'Hydraulic fork, lotus seat 7.0*290', label: 'Shock', enLabel: 'SHOCK', valueEn: 'Hydraulic fork, lotus seat' },
|
||||
{ value: 'Front / rear disc', label: 'Brake', enLabel: 'BRAKE', valueEn: 'Disc brakes' },
|
||||
{ value: '90-100 km range', label: 'Dashboard', enLabel: 'DASHBOARD', valueEn: '90-100 km' },
|
||||
{ value: 'Headlight, taillight', label: 'Lighting', enLabel: 'LIGHTING', valueEn: 'Headlight, taillight' },
|
||||
{ value: '1940*670*1130mm', label: 'Dimensions', enLabel: 'OVERALL', valueEn: '1940*670*1130mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'superknight',
|
||||
categoryKey: 'ebike',
|
||||
name: 'Super Knight',
|
||||
tags: ['Large battery', 'Disc brakes', 'NFC'],
|
||||
description: 'Super Knight commuter e-bike | 1200W, NFC smart unlock.',
|
||||
specs: [
|
||||
{ value: 'Lithium 60V24AH', label: 'Battery', enLabel: 'BATTERY', valueEn: 'Lithium 60V24AH' },
|
||||
{ value: '1200W', label: 'Motor', enLabel: 'MOTOR', valueEn: '1200W' },
|
||||
{ value: '12-tube controller', label: 'Controller', enLabel: 'CONTROLLER', valueEn: '12-channel' },
|
||||
{ value: '90/90-12 CY610 vacuum', label: 'Tires', enLabel: 'TIRES', valueEn: '90/90-12 vacuum' },
|
||||
{ value: 'Hydraulic shock', label: 'Shock', enLabel: 'SHOCK', valueEn: 'Hydraulic' },
|
||||
{ value: 'Front / rear disc', label: 'Brake', enLabel: 'BRAKE', valueEn: 'Disc brakes' },
|
||||
{ value: 'NFC', label: 'Dashboard', enLabel: 'DASHBOARD', valueEn: 'NFC' },
|
||||
{ value: 'Convex headlight, taillight', label: 'Lighting', enLabel: 'LIGHTING', valueEn: 'Convex headlight' },
|
||||
{ value: '1850*670*1150mm', label: 'Dimensions', enLabel: 'OVERALL', valueEn: '1850*670*1150mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'child18',
|
||||
categoryKey: 'trike',
|
||||
name: 'Load 1.8',
|
||||
tags: ['Tricycle', 'Heavy load', 'Jialing', 'Short haul'],
|
||||
description: 'JL 1.8 tricycle, strong load, Jialing maglev control for short-haul transport.',
|
||||
specs: [
|
||||
{ label: 'Dimensions', enLabel: 'DIMENSIONS', value: '3300*1380*1415', valueEn: '3300*1380*1415mm' },
|
||||
{ label: 'Power', enLabel: 'POWER', value: 'Jialing maglev 1200W', valueEn: 'Jialing maglev 1200W' },
|
||||
{ label: 'Tires', enLabel: 'TIRE', value: 'Front 400-12 / rear 450-12 steel', valueEn: '400-12 / 450-12' },
|
||||
{ label: 'Shock', enLabel: 'SHOCK', value: '43 external spring', valueEn: '43 ext. spring' },
|
||||
{ label: 'Rear axle', enLabel: 'AXLE', value: 'Full floating 180', valueEn: 'Full floating 180' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'moli1',
|
||||
categoryKey: 'trike',
|
||||
name: 'Moli V1',
|
||||
tags: ['Tricycle', 'IRS', 'Disc', 'Rear camera'],
|
||||
description: 'Moli V1 tricycle, IRS, disc brakes, rear camera and warm air.',
|
||||
specs: [
|
||||
{ label: 'Dimensions', enLabel: 'DIMENSIONS', value: '2750×1225×1670mm', valueEn: '2750×1225×1670mm' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'IRS front & rear disc', valueEn: 'IRS + disc' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '400-10 vacuum', valueEn: '400-10' },
|
||||
{ label: 'Motor', enLabel: 'MOTOR', value: '800W sine wave', valueEn: '800W' },
|
||||
{ label: 'Controller', enLabel: 'CTRL', value: 'Dual 18-tube', valueEn: 'Dual 18' },
|
||||
{ label: 'Voltage', enLabel: 'VOLT', value: '48V/60V', valueEn: '48V/60V' },
|
||||
{ label: 'Standard', enLabel: 'STD', value: 'Camera, sunroof, heat, disc, rear sus.', valueEn: 'Full spec' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'moli2',
|
||||
categoryKey: 'trike',
|
||||
name: 'Moli V2',
|
||||
tags: ['Tricycle', 'Compact', 'IRS', 'Urban'],
|
||||
description: 'Moli V2 compact tricycle, IRS, warm air, ideal for city use.',
|
||||
specs: [
|
||||
{ label: 'Dimensions', enLabel: 'DIMENSIONS', value: '2410×1225×1670mm', valueEn: '2410×1225×1670mm' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'IRS front & rear disc', valueEn: 'IRS + disc' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '400-10 vacuum', valueEn: '400-10' },
|
||||
{ label: 'Motor', enLabel: 'MOTOR', value: '800W sine wave', valueEn: '800W' },
|
||||
{ label: 'Controller', enLabel: 'CTRL', value: 'Dual 18-tube', valueEn: 'Dual 18' },
|
||||
{ label: 'Voltage', enLabel: 'VOLT', value: '48V/60V', valueEn: '48V/60V' },
|
||||
{ label: 'Standard', enLabel: 'STD', value: 'Camera, sunroof, heat, disc, rear sus.', valueEn: 'Full spec' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'yadea',
|
||||
categoryKey: 'emoto',
|
||||
name: 'Yadea Guanneng IF8',
|
||||
tags: ['Graphene', 'BLDC', 'Disc', 'Range'],
|
||||
description: 'Yadea IF8 e-moto | graphene Gen3 PLUS, 1200W BLDC, ~85 km range.',
|
||||
specs: [
|
||||
{ label: 'Battery', enLabel: 'BATTERY', value: 'TTFAR Graphene 3rd PLUS 72V23Ah', valueEn: '72V23Ah (Li optional)' },
|
||||
{ label: 'Motor', enLabel: 'MOTOR', value: '1200W BLDC', valueEn: '1200W BLDC' },
|
||||
{ label: 'Controller', enLabel: 'CTRL', value: 'Yadea TTFAR smart', valueEn: 'TTFAR' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '3.0-10 vacuum', valueEn: '3.0-10' },
|
||||
{ label: 'Shock', enLabel: 'SHOCK', value: 'Hydraulic fork + dual rear', valueEn: 'Hydraulic' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Dual disc F/R', valueEn: 'Disc' },
|
||||
{ label: 'Dashboard', enLabel: 'DASH', value: 'LCD, ~85 km', valueEn: 'LCD' },
|
||||
{ label: 'Lighting', enLabel: 'LIGHT', value: 'LED head + tail + turn', valueEn: 'LED' },
|
||||
{ label: 'Dimensions', enLabel: 'OVERALL', value: '1790*680*1060mm', valueEn: '1790*680*1060mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fengsu',
|
||||
categoryKey: 'emoto',
|
||||
name: 'Fengsu Phantom',
|
||||
tags: ['Dual battery', 'High power', 'Disc', 'Range'],
|
||||
description: 'Fengsu Phantom | 1000W BLDC, dual battery, 90-100 km.',
|
||||
specs: [
|
||||
{ label: 'Battery', enLabel: 'BATTERY', value: 'Li 60V45 / Pb 72V/20 (opt.)', valueEn: 'Optional dual' },
|
||||
{ label: 'Motor', enLabel: 'MOTOR', value: '1000W BLDC', valueEn: '1000W' },
|
||||
{ label: 'Controller', enLabel: 'CTRL', value: '12-tube smart', valueEn: '12-tube' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '3.0-10 vacuum', valueEn: '3.0-10' },
|
||||
{ label: 'Shock', enLabel: 'SHOCK', value: 'Hydraulic F + R', valueEn: 'Hydraulic' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Front / rear disc', valueEn: 'Disc' },
|
||||
{ label: 'Dashboard', enLabel: 'DASH', value: 'LCD, 90-100 km', valueEn: 'LCD' },
|
||||
{ label: 'Lighting', enLabel: 'LIGHT', value: 'Lens, LED tail & turn', valueEn: 'LED' },
|
||||
{ label: 'Dimensions', enLabel: 'OVERALL', value: '1790*680*1060mm', valueEn: '1790*680*1060mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'anying',
|
||||
categoryKey: 'emoto',
|
||||
name: 'Shadow Knight',
|
||||
tags: ['Dual battery', 'BLDC', 'Disc', 'Range'],
|
||||
description: 'Shadow Knight | 1000W BLDC, dual battery, 90-100 km.',
|
||||
specs: [
|
||||
{ label: 'Battery', enLabel: 'BATTERY', value: 'Li 60V45 / Pb 72V/20', valueEn: 'Dual option' },
|
||||
{ label: 'Motor', enLabel: 'MOTOR', value: '1000W BLDC', valueEn: '1000W' },
|
||||
{ label: 'Controller', enLabel: 'CTRL', value: '12-tube smart', valueEn: '12-tube' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '3.0-10 iron vacuum', valueEn: '3.0-10' },
|
||||
{ label: 'Shock', enLabel: 'SHOCK', value: 'Hydraulic 7.0*290', valueEn: 'Hydraulic' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Front / rear disc', valueEn: 'Disc' },
|
||||
{ label: 'Dashboard', enLabel: 'DASH', value: '90-100 km', valueEn: 'Dash' },
|
||||
{ label: 'Lighting', enLabel: 'LIGHT', value: 'Lens, LED, flow turn', valueEn: 'LED' },
|
||||
{ label: 'Dimensions', enLabel: 'OVERALL', value: '1790*680*1060mm', valueEn: '1790*680*1060mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'tractor6090',
|
||||
categoryKey: 'tractor',
|
||||
name: 'Power King 6090',
|
||||
tags: ['300 HP', '4WD', 'Hydraulic', 'Auto steer'],
|
||||
description: '6090 tractor | 300 HP inline-6, PowerShift, full wet brake.',
|
||||
specs: [
|
||||
{ label: 'Engine', enLabel: 'ENGINE', value: '6-cyl 9.0L turbo', valueEn: '6-cyl 9.0L' },
|
||||
{ label: 'Power', enLabel: 'POWER', value: '300 HP / 220.5 kW', valueEn: '300 HP' },
|
||||
{ label: 'Net power', enLabel: 'NET', value: '326.3 HP / 240 kW', valueEn: '326 HP' },
|
||||
{ label: 'Transmission', enLabel: 'TRANS', value: '16×4 PowerShift', valueEn: 'PowerShift' },
|
||||
{ label: 'PTO', enLabel: 'PTO', value: '1000 r/min, 187.5 kW', valueEn: '1000' },
|
||||
{ label: 'Hydraulic', enLabel: 'HYD', value: '4 e-valves, 288.3 kN lift', valueEn: 'E-hyd' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '600/70R30 F / 650/85R38 R', valueEn: 'std/opt' },
|
||||
{ label: 'Hitch', enLabel: 'HITCH', value: 'Cat 3/4N 3-pt', valueEn: '3-pt' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Full wet hydraulic', valueEn: 'Wet' },
|
||||
{ label: 'Cab', enLabel: 'CAB', value: '1750 air seat, A/C', valueEn: 'Premium' },
|
||||
{ label: 'Nav', enLabel: 'NAV', value: 'CommandCenter, ATI', valueEn: 'Auto' },
|
||||
{ label: 'Dimensions', enLabel: 'SIZE', value: '6613×3012-3351×3403', valueEn: 'mm' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'tractor665',
|
||||
categoryKey: 'tractor',
|
||||
name: 'Challenger MT665D',
|
||||
tags: ['340 HP', 'CVT', 'Wet brake', 'Panoramic cab'],
|
||||
description: 'MT665D | 340 HP diesel, CVT, full wet brake.',
|
||||
specs: [
|
||||
{ label: 'Engine', enLabel: 'ENGINE', value: 'AGCO 8.4L I6 diesel', valueEn: '8.4L' },
|
||||
{ label: 'Power', enLabel: 'PWR', value: '340 HP / 253.5 kW', valueEn: '340 HP' },
|
||||
{ label: 'PTO power', enLabel: 'PTO', value: '290 HP / 216.3 kW', valueEn: '290' },
|
||||
{ label: 'Transmission', enLabel: 'TRANS', value: 'CVT, 2 ranges', valueEn: 'CVT' },
|
||||
{ label: 'PTO', enLabel: 'PTO', value: '1000 r/min dual', valueEn: '1000' },
|
||||
{ label: 'Hydraulic', enLabel: 'HYD', value: 'Closed 160 L/min', valueEn: '160' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '480/70R34 F, 520/85R46 R', valueEn: 'opt dual' },
|
||||
{ label: 'Hitch', enLabel: 'HITCH', value: 'Cat III, ≥85 kN', valueEn: 'Cat III' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Full wet', valueEn: 'Wet' },
|
||||
{ label: 'Cab', enLabel: 'CAB', value: 'Panoramic glass, A/C', valueEn: 'A/C' },
|
||||
{ label: 'Fuel', enLabel: 'FUEL', value: '632 L', valueEn: '632' },
|
||||
{ label: 'Dimensions', enLabel: 'SIZE', value: '≈5500×2700×3200', valueEn: 'mm' },
|
||||
{ label: 'Weight', enLabel: 'WT', value: '≈11500 kg', valueEn: 'kg' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'leiting300',
|
||||
categoryKey: 'tractor',
|
||||
name: 'Leiting 300HP',
|
||||
tags: ['300 HP', 'I6', 'PowerShift', 'Wet brake'],
|
||||
description: 'Leiting 300 HP | I6 common rail, PowerShift, full wet.',
|
||||
specs: [
|
||||
{ label: 'Engine', enLabel: 'ENGINE', value: 'I6 common rail diesel', valueEn: 'I6' },
|
||||
{ label: 'Power', enLabel: 'PWR', value: '220 kW / ~300 HP', valueEn: '300' },
|
||||
{ label: 'Transmission', enLabel: 'TRANS', value: 'PowerShift', valueEn: 'PS' },
|
||||
{ label: 'PTO', enLabel: 'PTO', value: '1000 r/min', valueEn: '1000' },
|
||||
{ label: 'Hydraulic', enLabel: 'HYD', value: 'Closed ≥150 L/min', valueEn: '150' },
|
||||
{ label: 'Tires', enLabel: 'TIRES', value: '540/65R30 F, 650/85R38 R', valueEn: 'dual R' },
|
||||
{ label: 'Hitch', enLabel: 'HITCH', value: 'Cat III, ≥90 kN', valueEn: '90' },
|
||||
{ label: 'Brake', enLabel: 'BRAKE', value: 'Full wet', valueEn: 'Wet' },
|
||||
{ label: 'Cab', enLabel: 'CAB', value: 'Panoramic, A/C, air seat', valueEn: 'A/C' },
|
||||
{ label: 'Fuel', enLabel: 'FUEL', value: '≈500 L', valueEn: '500' },
|
||||
{ label: 'Dimensions', enLabel: 'SIZE', value: '≈6200×3000×3300', valueEn: 'mm' },
|
||||
{ label: 'Weight', enLabel: 'WT', value: '≈10500 kg', valueEn: 'kg' }
|
||||
]
|
||||
}
|
||||
]
|
||||
10
demo-vue/src/locales/en-US/index.ts
Normal file
10
demo-vue/src/locales/en-US/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { messages } from './messages'
|
||||
import { productCategoryLabelsEn, productsEn } from './catalog'
|
||||
|
||||
export default {
|
||||
...messages,
|
||||
catalog: {
|
||||
categoryLabels: productCategoryLabelsEn,
|
||||
products: productsEn
|
||||
}
|
||||
}
|
||||
172
demo-vue/src/locales/en-US/messages.ts
Normal file
172
demo-vue/src/locales/en-US/messages.ts
Normal file
@@ -0,0 +1,172 @@
|
||||
export const messages = {
|
||||
common: {
|
||||
enable: 'Enabled',
|
||||
disable: 'Disabled',
|
||||
status: 'Status',
|
||||
search: 'Search',
|
||||
add: 'Add',
|
||||
addShort: 'Add',
|
||||
edit: 'Edit',
|
||||
delete: 'Delete',
|
||||
batchDelete: 'Delete selected',
|
||||
operation: 'Actions',
|
||||
confirm: 'OK',
|
||||
cancel: 'Cancel',
|
||||
name: 'Name',
|
||||
phone: 'Phone',
|
||||
username: 'Username',
|
||||
password: 'Password',
|
||||
sex: 'Gender',
|
||||
male: 'Male',
|
||||
female: 'Female',
|
||||
selectPlaceholder: 'Select',
|
||||
createTime: 'Created',
|
||||
success: 'Success',
|
||||
logOut: 'Log out',
|
||||
currentUser: 'User',
|
||||
backToList: 'Back to list',
|
||||
back: 'Back',
|
||||
detail: 'Details',
|
||||
yes: 'Yes',
|
||||
no: 'No',
|
||||
goTo: 'Go to',
|
||||
toPage: 'Page',
|
||||
pageUnit: '',
|
||||
specBasicCn: 'Basic config',
|
||||
specBasicEn: 'BASIC CONFIGURATION',
|
||||
more: 'Show more',
|
||||
collapse: 'Collapse',
|
||||
views: 'Views',
|
||||
publishDate: 'Published',
|
||||
dateLabel: 'Published: ',
|
||||
viewsLabel: 'Views: ',
|
||||
companyShort: 'Shandong Showdart Tech',
|
||||
wechatOA: 'WeChat OA: Showdart',
|
||||
allRights: 'All rights reserved',
|
||||
copyrightFull: 'Copyright © 2026 Shandong Showdart Technology Engineering Co., Ltd. All rights reserved.',
|
||||
companyInfo: 'Company',
|
||||
addressLabel: 'Cunqian Village, Huangli Town, Wujin District, Changzhou, Jiangsu, China'
|
||||
},
|
||||
language: { zh: '中文', en: 'English', switch: 'Language' },
|
||||
nav: {
|
||||
home: 'Home',
|
||||
aboutUs: 'About',
|
||||
companyIntro: 'Profile',
|
||||
culture: 'Culture',
|
||||
base: 'Production',
|
||||
org: 'Organization',
|
||||
honors: 'Awards',
|
||||
history: 'History',
|
||||
products: 'Products',
|
||||
newsHub: 'News',
|
||||
companyNews: 'Company news',
|
||||
industryNews: 'Industry'
|
||||
},
|
||||
footer: {
|
||||
about: 'About us',
|
||||
news: 'News',
|
||||
followIndustry: 'Industry',
|
||||
siteSubtitle: 'Showdart website',
|
||||
privacy: 'Privacy',
|
||||
terms: 'Terms'
|
||||
},
|
||||
brand: { company: 'Shandong Showdart Technology Engineering Co., Ltd.' },
|
||||
headerAdmin: { title: 'Showdart Admin', currentUser: 'User', logout: 'Log out' },
|
||||
home: {
|
||||
heroTitle1: 'Built on trust and quality,',
|
||||
heroTitle2: 'leading the market with intelligence',
|
||||
heroSub: 'Smart material handling for global logistics',
|
||||
btnProducts: 'View products',
|
||||
btnContact: 'Contact us',
|
||||
aboutTitle: 'About us',
|
||||
aboutP1: 'Founded 7 Aug 2024, Showdart is an integrated R&D, manufacturing, sales, and service company. We focus on electromechanical equipment, smart control, and industrial products, covering machinery, automation, software, materials, building materials, hardware, chemicals, auto and farm parts, and import/export.',
|
||||
aboutP2: 'With a solid supply chain and professional team, we serve construction, industry, logistics, and agriculture with one-stop solutions—across China and worldwide.',
|
||||
more: 'Learn more',
|
||||
showcaseTitle: 'Products',
|
||||
showcaseSub: 'Full range of smart handling equipment. Certified processes to match your needs.',
|
||||
viewAll: 'View all',
|
||||
carouselAlt1: 'Aerial view of production base 1',
|
||||
carouselAlt2: 'Aerial view of production base 2',
|
||||
carouselAlt3: 'Aerial view of production base 3'
|
||||
},
|
||||
about: {
|
||||
title: 'Showdart Technology Engineering (Shandong) Co., Ltd.',
|
||||
section: 'Company profile',
|
||||
p1: 'An integrated R&D, manufacturing, and trading company registered in Jining, Shandong, with compliant operations in engineering, industry, and trade.',
|
||||
scopeTitle: 'Scope',
|
||||
scopeP: 'We serve intelligent building design, machinery sales and R&D, electromechanical manufacturing, metal products, surface treatment, software and electronics, general goods and chemicals (non-licensed), hardware, auto and motorcycle parts, textiles, livestock, and import/export worldwide.',
|
||||
missionTitle: 'Mission',
|
||||
missionP: 'From Shandong to the country and the world, we empower industry with technology and create value with service—driving smart industry and win-win with customers and society.',
|
||||
advTitle: 'Strengths',
|
||||
adv1: 'Diversified portfolio and cross-sector resource integration with strong risk resilience.',
|
||||
adv2: 'End-to-end capability from R&D and production to sales, import/export, and one-stop customer solutions.',
|
||||
adv3: 'Compliant operation between licensed and general projects, supporting long-term stability.',
|
||||
adv4: 'Flexible offer across industry, construction, agriculture, and consumer segments.'
|
||||
},
|
||||
productsPage: {
|
||||
bannerTitle: 'Multi-category supply for equipment and materials',
|
||||
bannerSub: 'With a compliant business system and professional quality, we support R&D, manufacturing, materials, and global trade in many scenarios—one-stop solutions for your needs.',
|
||||
filterLabel: 'Filter by category',
|
||||
filterAll: 'All products'
|
||||
},
|
||||
services: {
|
||||
pageTitle: 'Our services',
|
||||
pageSub: 'Top-tier credentials, four core processes, 400,000 units/year—full-chain smart handling from design to delivery.',
|
||||
s1: 'End-to-end solutions',
|
||||
s1d: 'From custom design to global delivery and marketing support across the product lifecycle.',
|
||||
c1t: 'OEM / ODM', c1d: 'Flexible configuration and co-development with our engineering and manufacturing base.',
|
||||
c1a: 'Configurable for different use cases', c1b: 'Colors, branding, and ID', c1c: 'Custom packaging', c1e: 'Support from concept to volume production',
|
||||
c2t: 'Precision manufacturing', c2d: 'Modern plants and four key processes for consistency and output.',
|
||||
c2a: 'Stamping, welding, paint, and assembly', c2b: 'Automated lines for accuracy and speed', c2c: '400k units / year capacity', c2e: 'Sustainable, green production',
|
||||
c3t: 'Quality control', c3d: 'Five quality gates for safe, reliable equipment.',
|
||||
c3L1: 'Incoming material control', c3L2: 'In-process checks', c3L3: 'Finished goods testing', c3L4: 'CE and international approvals',
|
||||
c4t: 'Global delivery', c4d: 'Logistics and compliance for fast, safe worldwide shipment.',
|
||||
c4L1: 'Export documentation support', c4L2: 'Sea, air, and multimodal options', c4L3: 'Protective export packaging', c4L4: 'End-to-end tracking',
|
||||
c5t: 'After sales', c5d: 'Responsive global support network.',
|
||||
c5L1: 'Technical support teams', c5L2: 'Warranty and genuine spare parts', c5L3: 'Remote guidance', c5L4: '24/7 response where applicable',
|
||||
c6t: 'Go-to-market', c6d: 'Helping partners grow with marketing and training.',
|
||||
c6L1: 'Product assets and collateral', c6L2: 'Market trends and playbooks', c6L3: 'Sales training', c6L4: 'Co-branding and campaigns',
|
||||
procTitle: 'How we work', procSub: 'A clear four-step path from your needs to on-site use.',
|
||||
p1t: 'Discovery', p1d: 'We align on market, use case, and product requirements with a dedicated contact.',
|
||||
p2t: 'Solution', p2d: 'Configuration, feasibility, and a tailored offer based on our processes and R&D.',
|
||||
p3t: 'Build', p3d: 'Manufacturing under our quality system and agreed lead times.',
|
||||
p4t: 'Deliver', p4d: 'Logistics, export services, and safe arrival worldwide.',
|
||||
faqTitle: 'FAQ', faqSub: 'Common questions from partners. Contact us for more.',
|
||||
faqContact: 'Contact support',
|
||||
fq1: 'What is the MOQ?', fa1: 'We support flexible MOQs for new partners; full-container orders are typical—details depend on product and need.',
|
||||
fq2: 'OEM / brand customization?', fa2: 'Yes—configuration, brand, color, and packaging in full OEM/ODM scope.',
|
||||
fq3: 'Lead time for production and delivery?', fa3: 'Production often 15–25 working days by volume. Transit typically 15–45 days by destination. Rush options on request.',
|
||||
fq4: 'Spare parts?', fa4: 'Yes—spare part kits and a full original parts pipeline for long-term operation.',
|
||||
ctaTitle: 'Start a project', ctaSub: 'Let’s build your smart handling solution on our certified manufacturing base.',
|
||||
ctaQuote: 'Get a quote', ctaView: 'View products'
|
||||
},
|
||||
privacy: {
|
||||
title: 'Privacy policy', updated: 'Last updated: 19 Feb 2025', intro: 'This policy describes how we collect and use your information.',
|
||||
c1: 'What we collect', c1p: 'Information you give us, such as:', c1a: 'Account', c1b: 'Usage', c1c: 'Preferences',
|
||||
c2: 'How we use it', c2p: 'We use it to:', c2a: 'Provide the service', c2b: 'Improve experience', c2c: 'Send important updates',
|
||||
c3: 'Security', c3p: 'We use appropriate measures to protect your data.',
|
||||
c4: 'Contact', c4p: 'For privacy questions, contact our team.',
|
||||
c5: 'Updates', c5p: 'We may update this policy from time to time.'
|
||||
},
|
||||
terms: {
|
||||
title: 'Terms of service', updated: 'Last updated: 19 Feb 2025', intro: 'By using this site you agree to these terms.',
|
||||
t1: '1. Acceptance', t1p: 'Using the site means you accept this agreement.',
|
||||
t2: '2. Your responsibilities', t2p: 'You agree to:', t2a: 'Provide accurate information', t2b: 'Keep your account safe', t2c: 'Follow applicable laws',
|
||||
t3: '3. Changes', t3p: 'We may:', t3a: 'Change or end services', t3b: 'Update these terms',
|
||||
t4: 'Contact', t4p: 'Questions? Please contact us.'
|
||||
},
|
||||
news: {
|
||||
listTitle: 'Title', content: 'Content', views: 'Views', adminTitle: 'News',
|
||||
batchWarn: 'Select rows to delete', delOk: 'Deleted', delConfirm: 'Delete this item?', delTitle: 'Confirm delete', selectDate: 'Pick date', enterTitle: 'Enter title', enterContent: 'Enter content', pickDate: 'Select publish date', pickStatus: 'Select status', saveOkAdd: 'Added', saveOkEdit: 'Updated',
|
||||
publicBanner: 'Company news', listBannerSub: 'NEWS', detailBannerSub: 'NEWS', metaDateLabel: 'Published: ', labelPublishDate: 'Publish date', newsCenter: 'News', newsDetail: 'Article', fetchFail: 'Failed to load news', fetchDetailFail: 'Failed to load article', noId: 'No article id', viewsIncrFail: 'View count update failed', backList: 'Back to list', publishTime: 'Published: '
|
||||
},
|
||||
industry: {
|
||||
listTitle: 'Title', content: 'Content', colTitle: 'Title', adminTitle: 'Industry', detailTitle: 'Industry article', detailTitleSub: 'NEWS', listBanner: 'Industry', listBannerSub: 'INDUSTRY', labelPublishDate: 'Publish date', plTitle: 'Enter title', plContent: 'Enter content', fetchFail: 'Failed to load list', publicTime: 'Published: ', returnList: 'Back to list', fetchDetailFail: 'Failed to load article', breadcrumbDetail: 'Detail'
|
||||
},
|
||||
admin: {
|
||||
welcome: 'Welcome to Showdart Admin', loginTitle: 'Showdart Admin', login: 'Sign in', plUser: 'Username', plPwd: 'Password', ok: 'Signed in', fail: 'Sign-in failed', avatar: 'Avatar', leftHome: 'Home', org: 'Organization', adminList: 'Administrators', companyNewsManage: 'Company news', industryManage: 'Industry posts',
|
||||
delWarn: 'Select rows to delete', delOk: 'Deleted', delConfirm: 'Delete?', delTitle: 'Confirm', saveOk: 'Success', reLogin: 'Session expired. Sign in again', reLoginTitle: 'Session ended', reLoginBtn: 'Sign in again'
|
||||
},
|
||||
request: { notLogin: 'Not signed in. Please sign in again', timeout: 'Request timed out', network: 'Network error', error: 'Request failed' },
|
||||
formRules: { userRequired: 'Username required', pwdRequired: 'Password required', nameRequired: 'Name required', sexRequired: 'Gender required', telRequired: 'Phone required', phoneEmpty: 'Phone required', phoneDigits: 'Digits only', phoneInvalid: 'Invalid phone' }
|
||||
}
|
||||
Reference in New Issue
Block a user