diff --git a/nladmin-system/nlsso-server/libs/language-all.jar b/nladmin-system/nlsso-server/libs/language-all.jar
index a79897c..7f38463 100644
Binary files a/nladmin-system/nlsso-server/libs/language-all.jar and b/nladmin-system/nlsso-server/libs/language-all.jar differ
diff --git a/nladmin-system/nlsso-server/pom.xml b/nladmin-system/nlsso-server/pom.xml
index d4c8557..f6bebcc 100644
--- a/nladmin-system/nlsso-server/pom.xml
+++ b/nladmin-system/nlsso-server/pom.xml
@@ -284,7 +284,8 @@
nl.sdkall
language-all
0.0.1
-
+ system
+ ${project.basedir}/libs/language-all.jar
diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml
index 6218b0e..0cf0188 100644
--- a/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml
+++ b/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml
@@ -9,10 +9,10 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:fujia}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
+ url: jdbc:mysql://${DB_HOST:192.168.81.251}:${DB_PORT:3306}/${DB_NAME:fujia_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
# url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:wms_oulun}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
username: ${DB_USER:root}
- password: ${DB_PWD:123456}
+ password: ${DB_PWD:P@ssw0rd.}
# 初始连接数
initial-size: 15
# 最小连接数
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js
index 5193744..d3e08e3 100644
--- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js
+++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js
@@ -1,13 +1,748 @@
var config = {
- "lang": "English222",
+ "language": "English",
"platform": {
- "title": "NOBLELIFT Platform",
- "tip1": "The user name cannot be empty",
- "tip2": "The password cannot be empty",
- "tip3": "当前语言,111111英语"
+ "title": "NuoLi Platform"
+ },
+ "system": {
+ "exception": "System exception, please contact administrator",
+ "paramException": "Parameter exception, please check input parameters",
+ "resultException": "Request result does not exist",
+ "dataException": "Data exception, data does not exist",
+ "dataExceptionArg": "Data exception, %s data does not exist",
+ "dataDuplicationArg": "Data duplication, %s already exists in the system",
+ "dataFormat": "Data exception, data is incorrect",
+ "activatArg": "%s has not been activated in the system",
+ "operation": "Operation failed",
+ "error_param_undefined": "【%s】corresponding type 【%d】is undefined",
+ "per_auth": "Permission already assigned, cannot delete",
+ "error_isNull": "Data does not exist: %s",
+ "dept_has": "Department has associated users, cannot delete",
+ "user_not_exist": "User does not exist",
+ "password_error": "Incorrect password",
+ "account_not_activated": "Account not activated",
+ "vehicle_already_in_storage": "Carrier code: %s already exists in storage, please verify the data!",
+ "no_available_location": "No available storage location",
+ "detail_already_allocated": "Current detail has already been allocated a storage location",
+ "no_allocated_location": "This detail has not been allocated a storage location, please allocate first",
+ "main_table_status_must_be_allocated": "Main table status must be allocated!",
+ "no_task_allocation_detail": "No allocation detail found for the task",
+ "no_inbound_bill_detail": "No inbound bill detail record found",
+ "no_inbound_bill": "No inbound bill found",
+ "no_location_in_warehouse": "No storage locations in this warehouse area",
+ "no_vehicle_info": "No carrier number information",
+ "no_suitable_location": "No suitable storage location found",
+ "no_available_warehouse_area": "No available warehouse area found",
+ "cannot_select_suitable_warehouse_area": "Cannot select suitable warehouse area",
+ "captcha_config_error": "Verification code configuration error! Check LoginCodeEnum for correct configuration",
+ "available_quantity_cannot_be_negative": "Available quantity cannot be negative, please check the change quantity! Current available quantity is 【%s】, current change quantity is 【%s】",
+ "operation_failed": "Operation failed",
+ "local_ip": "Local IP address:"
+ },
+ "business": {
+ "InvReminder": "Current allocation strategy, %s has no available locations",
+ "loginPassword": "Login failed, incorrect account or password",
+ "accountUse": "Login failed, account not enabled"
},
"common": {
- "home": "Dashboard",
- "Layout_setting": "Layout Setting"
+ 'home': 'Dashboard',
+ 'Layout_setting': 'Layout Setting',
+ 'Personal_center': 'Personal Center',
+ 'Log_out': 'Log Out',
+ 'Personal_information': 'Personal Information',
+ 'username': 'UserName',
+ 'name': 'Name',
+ 'phone': 'Phone Number',
+ 'phone2': 'Phone',
+ 'sex': 'Sex',
+ 'sex_male': 'Male',
+ 'sex_female': 'Female',
+ 'email': 'E-mail',
+ 'Security_settings': 'Security Settings',
+ 'Save_settings': 'Save Settings',
+ 'Reset_settings': 'Reset Settings',
+ 'Change_password': 'Change Password',
+ 'New_password': 'New Password',
+ 'Old_password': 'Old Password',
+ 'Verify_password': 'Verify Password',
+ 'User_information': 'User Information',
+ 'Operation_log': 'Operation Log',
+ 'action': 'Action',
+ 'IP_source': 'IP Source',
+ 'Browser': 'Browser',
+ 'Request_time': 'Request Time',
+ 'Creation_date': 'Creation Date',
+ 'account': 'Account',
+ 'password': 'Password',
+ 'verification_code': 'Code',
+ 'login_rm': 'Remember Me',
+ 'login': 'Login',
+ 'login_ing': 'Logging in...',
+ 'Create': 'Create',
+ 'Update': 'Update',
+ 'Delete': 'Delete',
+ 'More': 'More',
+ 'Export': 'Export',
+ 'Editors': 'Editor',
+ 'SelectAll': 'SelectAll',
+ 'Query': 'Query',
+ 'Reset': 'Reset',
+ 'Confirm': 'Confirm',
+ 'Cancel': 'Cancel',
+ 'Yes': 'YES',
+ 'No': 'NO',
+ 'Success': 'success',
+ 'Fail': 'fail',
+ 'Please_select': 'Please Select',
+ 'Operation_success': 'Successful operation',
+ 'Upload_success': 'Upload Success',
+ 'Operate': 'Operate',
+ 'Refresh': 'Refresh',
+ 'Closes': 'Close',
+ 'Closes_l': 'Close Left',
+ 'Closes_r': 'Close Right',
+ 'Closes_o': 'Close Other',
+ 'Closes_a': 'Close All',
+ 'Theme_style_setting': 'Theme Style Setting',
+ 'Theme_color': 'Theme Color',
+ 'System_layout_configuration': 'System Layout Configuration',
+ 'Open': 'Open',
+ 'Fixation': 'Fixation',
+ 'Display': 'Display',
+ 'Dynamic_titles': 'Dynamic Titles',
+ 'crudTip': 'Are you sure to delete this data?',
+ 'startDate': 'StartDate',
+ 'endDate': 'EndDate',
+ 'moreMenu': 'MoreMenu',
+ 'browses': 'browse',
+ 'fz': 'Full screen zoom',
+ 'submit': 'Submit Success',
+ 'add': 'Add Success',
+ 'edit': 'Edit Success',
+ 'del': 'Delete Success',
+ 'close': 'Confirm Close',
+ 'save': 'Save Success',
+ 'datas': 'Data',
+ 'Tips': 'Tips',
+ 'Tip1': 'Confirm to delete the selected {count} pieces of data?',
+ 'Tip3': 'User name not used as login',
+ 'Tip4': 'Mobile phone number cannot be duplicate',
+ 'Tip5': 'Please enter a phone number',
+ 'Tip6': 'Please enter the correct 11 digit phone number',
+ 'Tip7': 'Drag and drop the excel file here or',
+ 'Tip8': 'The two passwords are different',
+ 'Tip9': 'Please enter your password again',
+ 'Tip10': 'Please enter your old password',
+ 'Tip11': 'Please enter your new password',
+ 'Tip12': '{min} to {max} characters in length',
+ 'Tip13': 'Are you sure to log out and exit the system?',
+ 'Tip14': 'WebSocket connection error',
+ 'Tip15': 'Please enter an icon name',
+ 'Tip16': 'NOT NULL',
+ 'Tip17': 'Please enter what you are searching for',
+ 'loading': 'loading...',
+ 'Tip18': 'select date time',
+ 'Tip19': 'Are you sure to delete the selected data?',
+ 'Tip20': 'The login has expired,please log in again!',
+ "name": "Name",
+ "create_name": "Created By",
+ "create_time": "Creation Time",
+ "update_name": "Modified By",
+ "remark": "Remark",
+ "is_used": "Activated",
+ "is_delete": "Deleted",
+ "create_mode": "Creation Method",
+ "input_optname": "Prepared By",
+ "input_time": "Preparation Time",
+ "update_optname": "Modified By",
+ "update_time": "Modification Time",
+ "dis_optname": "Allocated By",
+ "dis_time": "Allocation Time",
+ "confirm_optname": "Confirmed By",
+ "confirm_time": "Confirmation Time",
+ "bill_code": "Document Number",
+ "bill_type": "Document Type",
+ "biz_date": "Business Date",
+ "bill_status": "Document Status",
+ "zh_name": "Chinese Name",
+ "in_name": "Indonesian Name",
+ "en_name": "English Name",
+ "ext_id": "External ID",
+ "request_param_cannot_be_empty": "Request parameters cannot be empty",
+ "yes": "Yes",
+ "no": "No",
+ "user_info_get_fail": "Failed to get user information",
+ "operation_success": "Operation successful"
+ },
+ "gateway": {
+ "picking_point_not_exist": "The picking point you entered does not exist, please enter 1207 or 1210 picking point!",
+ "create_task_fail_empty": "Failed to create task: returned task information is empty, application parameters are",
+ "apply_task_fail": "Task application failed, application parameters are",
+ "check_error_log": "Please check the error log"
+ },
+ "md_pb_measureunit": {
+ "unit_code": "Code",
+ "unit_name": "Name",
+ "qty_precision": "Data Precision",
+ "qty_unit_id": "Base Measurement Unit",
+ "qty_unit_name": "Unit Name"
+ },
+ "md_pb_storagevehicleinfo": {
+ "storagevehicle_code": "Carrier Code",
+ "storagevehicle_name": "Carrier Name",
+ "one_code": "Barcode",
+ "two_code": "QR Code",
+ "storagevehicle_type": "Carrier Type",
+ "vehicle_width": "Carrier Width",
+ "vehicle_long": "Carrier Length",
+ "vehicle_height": "Carrier Height",
+ "weigth": "Pallet Weight",
+ "overstruct_type": "Does Carrier Exceed Location",
+ "occupystruct_qty": "Number of Occupied Locations",
+ "ext_id": "External ID"
+ },
+ "sch_base_point": {
+ "point_code": "Point Code",
+ "point_name": "Point Name",
+ "region_code": "Region Code",
+ "region_name": "Region Name",
+ "point_type": "Point Type",
+ "point_status": "Point Status",
+ "vehicle_type": "Carrier Type",
+ "vehicle_code": "Carrier Code",
+ "vehicle_qty": "Carrier Quantity",
+ "in_order_seq": "Inbound Sequence",
+ "out_order_seq": "Outbound Sequence",
+ "in_empty_seq": "Empty Carrier Inbound Sequence",
+ "out_empty_seq": "Empty Carrier Outbound Sequence",
+ "parent_point_code": "Parent Point Code",
+ "ext_point_code": "External Point Code",
+ "ing_task_code": "Task Code Being Executed",
+ "is_has_workder": "Generate Order",
+ "workshop_code": "Workshop Code",
+ "is_auto": "Auto"
+ },
+ "sch_base_region": {
+ "region_code": "Region Code",
+ "region_name": "Region Name",
+ "point_type_explain": "Point Type Description",
+ "point_status_explain": "Point Status Description",
+ "is_has_workder": "Generate Order",
+ "order_seq": "Sequence",
+ "workshop_code": "Workshop Code"
+ },
+ "sch_base_task": {
+ "task_code": "Task Code",
+ "task_status": "Task Status",
+ "config_code": "Configuration Code",
+ "point_code1": "Point 1",
+ "point_code2": "Point 2",
+ "point_code3": "Point 3",
+ "point_code4": "Point 4",
+ "group_id": "Group ID",
+ "vehicle_type": "Carrier Type",
+ "vehicle_qty": "Carrier Quantity",
+ "vehicle_code": "Carrier Code",
+ "vehicle_code2": "Carrier Code 2",
+ "handle_status": "Processing Status",
+ "car_no": "License Plate Number",
+ "task_group_id": "Task Group ID",
+ "task_group_seq": "Task Group Sequence",
+ "finished_type": "Task Completion Type",
+ "create_mode": "Creation Method",
+ "request_param": "Create Task Request Parameters",
+ "response_param": "Issue Task Request Parameters",
+ "workshop_code": "Workshop Code",
+ "ext_group_data": "Additional Group Information",
+ "priority": "ACS Priority"
+ },
+ "sch_base_taskconfig": {
+ "config_code": "Configuration Code",
+ "config_name": "Configuration Name",
+ "route_plan_code": "Route Planning Code",
+ "task_qf_type": "Task Pick/Drop Type",
+ "acs_task_type": "ACS Task Type",
+ "task_name": "Task Name",
+ "task_type": "Task Type",
+ "task_direction": "Task Direction",
+ "priority": "Priority",
+ "task_create_max_num": "Maximum Number of Tasks Allowed to Create",
+ "task_issue_max_num": "Maximum Number of Tasks Allowed to Issue",
+ "is_auto_issue": "Auto Issue",
+ "start_region_str": "Start Region Configuration",
+ "next_region_str": "End Region Configuration",
+ "start_point_pre": "Start Point Prefix",
+ "next_region_pre": "End Region Prefix",
+ "is_check_workorder": "Check Work Order",
+ "is_check_start_lock": "Evaluate Start Point Lock",
+ "is_immediate_create": "Create Immediately",
+ "is_check_next_lock": "Evaluate End Point Lock",
+ "is_start_auto": "Start Point Auto",
+ "is_next_auto": "End Point Auto",
+ "is_lock_start": "Lock Start Point",
+ "is_lock_next": "Lock End Point",
+ "request_param": "Create Task Request Parameters",
+ "response_param": "Issue Task Request Parameters",
+ "is_group_congrol_issue_seq": "Control Issue Sequence by Group",
+ "unfinish_notify_time": "Task Unfinished Notification Time",
+ "sql_param": "SQL Configuration",
+ "workshop_code": "Workshop Code"
+ },
+ "st_ivt_bsrealstorattr": {
+ "stor_code": "Warehouse Code",
+ "stor_name": "Warehouse Name",
+ "simple_name": "Warehouse Abbreviation",
+ "stor_capacity": "Warehouse Capacity",
+ "total_area": "Total Area",
+ "stor_type_scode": "Warehouse Nature",
+ "is_virtualstore": "Is Virtual Warehouse",
+ "is_semi_finished": "Is Semi-finished Product Warehouse",
+ "is_materialstore": "Is Raw Material Warehouse",
+ "is_productstore": "Is Finished Product Warehouse",
+ "is_attachment": "Is Accessory Warehouse",
+ "is_reversed": "Allow Returns",
+ "is_mvout_auto_cfm": "Auto Confirm Transfer Out Business",
+ "is_mvin_auto_cfm": "Auto Confirm Transfer In Business",
+ "area": "Area",
+ "storea_ddress": "Warehouse Address",
+ "principal": "Person in Charge",
+ "office_phone": "Office Phone",
+ "mobile_no": "Mobile Number",
+ "order_index": "Display Order",
+ "whstate_scode": "Status",
+ "base_class_id": "Material Basic Classification",
+ "sysownerid": "Owner ID",
+ "sysdeptid": "Department ID",
+ "syscompanyid": "Company ID",
+ "ext_id": "External ID",
+ "depart_name": "Department Name",
+ "company_name": "Company Name"
+ },
+ "st_ivt_checkdtl": {
+ "seq_no": "Detail Sequence",
+ "sect_code": "Inventory Area",
+ "struct_code": "Inventory Location",
+ "checkpoint_code": "Inventory Station",
+ "storagevehicle_code": "Storage Carrier Code",
+ "material_id": "Material ID",
+ "pcsn": "Batch",
+ "base_qty": "Inventory Quantity",
+ "status": "Status",
+ "is_down": "Issued",
+ "fac_qty": "Inventory Count Quantity",
+ "check_result": "Inventory Result",
+ "check_optname": "Inventory Person",
+ "check_time": "Inventory Time",
+ "remark": "Detail Remark",
+ "check_code": "Inventory Document Number",
+ "check_type": "Inventory Document Type",
+ "stor_name": "Warehouse Name",
+ "dtl_num": "Detail Quantity",
+ "create_mode": "Creation Method"
+ },
+ "st_ivt_iostor": {
+ "stor_code": "Warehouse Code",
+ "sect_date": "Date",
+ "quality_scode": "Quality Type",
+ "start_num": "Opening Quantity",
+ "in_num": "Inbound Quantity",
+ "out_num": "Outbound Quantity",
+ "total_qty": "Total Quantity",
+ "total_weight": "Total Weight",
+ "io_type": "In/Out Type",
+ "detail_count": "Detail Quantity",
+ "seq_no": "Detail Sequence",
+ "work_status": "Execution Status",
+ "task_id": "Task ID",
+ "storagevehicle_code": "Storage Carrier Code",
+ "is_issued": "Issued",
+ "plan_qty": "Planned Quantity",
+ "real_qty": "Actual Quantity",
+ "point_code": "In/Out Point ID",
+ "assign_qty": "Allocated Quantity",
+ "unassign_qty": "Unallocated Quantity",
+ "mol_code": "Loss Document Number",
+ "mol_inv_type": "Loss Document Type",
+ "mol_type": "Loss Type",
+ "turnout_sect_code": "Transfer Out Area Code",
+ "turnout_struct_code": "Transfer Out Location Code",
+ "turnin_sect_code": "Transfer In Area Code",
+ "turnin_struct_code": "Transfer In Location Code"
+ },
+ "structWarning": {
+ "safe_qty_lower_limit": "Safety Stock Lower Limit",
+ "safe_qty_upper_limit": "Safety Stock Upper Limit",
+ "cron": "Expression",
+ "notify_type": "Notification Type",
+ "overdue_days": "Overdue Days",
+ "safe_days": "Safety Days",
+ "is_read": "Read",
+ "current_qty": "Current Quantity"
+ },
+ "strategy": {
+ "sect_code": "Warehouse Area",
+ "strategy": "Rule",
+ "strategy_type": "1 Inbound Strategy 2 Outbound Strategy",
+ "description": "Description",
+ "strategy_code": "Strategy Code",
+ "strategy_name": "Strategy Name",
+ "class_type": "Processing Type",
+ "param": "Processing Class",
+ "ban": "Prohibit Operation",
+ "form_data": "Restriction Parameters"
+ },
+ "code_rule": {
+ "current_value": "Current Value"
+ },
+ "dept": {
+ "dept_id": "ID",
+ "pid": "Parent Department",
+ "sub_count": "Sub-department Count",
+ "name": "Name",
+ "zh_name": "Chinese Name",
+ "in_name": "Indonesian Name",
+ "en_name": "English Name",
+ "dept_sort": "Sort",
+ "is_used": "Status",
+ "create_name": "Created By",
+ "update_name": "Updated By",
+ "create_time": "Creation Date",
+ "update_time": "Update Time",
+ "code": "Department Code",
+ "ext_id": "External ID"
+ },
+ "dict": {
+ "dict_type": "Dictionary Type",
+ "dict_sort": "Sequence",
+ "label": "Dictionary Label",
+ "value": "Dictionary Value",
+ "para1": "Parameter 1",
+ "para2": "Parameter 2",
+ "para3": "Parameter 3"
+ },
+ "menu": {
+ "home": "home",
+ "menu_id": "Menu ID",
+ "pid": "Parent Menu ID",
+ "sub_count": "Sub-menu Count",
+ "type": "Menu Type",
+ "system_type": "Belonging System",
+ "category": "Menu Category",
+ "title": "Menu Title",
+ "en_title": "English Title",
+ "in_title": "Indonesian Title",
+ "zh_title": "Chinese Title",
+ "component_name": "Component Name",
+ "component": "Component",
+ "menu_sort": "Sort",
+ "icon": "Icon",
+ "path": "Path",
+ "iframe": "Is External Link",
+ "cache": "Is Cached",
+ "hidden": "Is Hidden",
+ "permission": "Permission",
+ "is_pc": "Is PC Menu"
+ },
+ "param": {
+ "code": "Code",
+ "name": "Name",
+ "zh_name": "Name",
+ "en_name": "English Name",
+ "in_name": "Indonesian Name",
+ "value": "Value"
+ },
+ "user": {
+ "user_id": "User ID",
+ "username": "Login Account",
+ "password": "Password",
+ "is_admin": "Is Administrator Account",
+ "person_name": "Full Name",
+ "zh_person_name": "Chinese Full Name",
+ "en_person_name": "English Full Name",
+ "in_person_name": "Indonesian Full Name",
+ "gender": "Gender",
+ "zh_gender": "Chinese Gender",
+ "en_gender": "English Gender",
+ "phone": "Phone",
+ "email": "Email",
+ "avatar_name": "Avatar Path",
+ "avatar_path": "Actual Avatar Path",
+ "extperson_id": "External Person ID",
+ "extuser_id": "External User ID",
+ "pwd_reset_user_id": "Password Reset By",
+ "pwd_reset_time": "Password Reset Time"
+ },
+ "basedata_manage": {
+ "same_warehouse_numbers": "Duplicate warehouse numbers exist",
+ "deleted_or_without_permission_operation_failed": "Deleted or no permission, operation failed!",
+ "same_supplier_code": "Duplicate supplier codes exist",
+ "current_device_code_already_exists": "Current device code already exists 【%s】",
+ "current_supplier_code_already_exists": "Current supplier code already exists 【%s】",
+ "current_cust_code_already_exists": "Current customer code already exists 【%s】",
+ "current_material_code_already_exists": "Current material code already exists 【%s】",
+ "current_sorting_code_already_exists": "Current classification code already exists 【%s】",
+ "current_unit_code_already_exists": "Current measurement unit code already exists 【%s】",
+ "unit_code_not_exists": "Measurement unit code 【%s】 does not exist!",
+ "current_vehicle_group_plate_info_exists": "Current carrier group plate information already exists",
+ "parents_cannot_be_oneself": "Parent cannot be itself",
+ "material_information_not_exists": "Material information 【%s】 does not exist!",
+ "storage_vehicle_code_already_exists": "Current carrier code already exists 【%s】",
+ "vehicle_type_no_dict_config": "This carrier type %s has no dictionary value configured",
+ "storage_vehicle_not_exist": "Carrier with code 【%s】 does not exist!",
+ "parent_class_code_invalid": "Please enter correct parent node code!",
+ "sect_code_already_exists": "Duplicate area codes in the same warehouse",
+ "struct_code_not_exist": "Structure code 【%s】 does not exist",
+ "sect_no_io_rule": "Area 【%s】 has no inbound/outbound strategy configured",
+ "strategy_no_available_struct": "Strategy 【%s】 has no available storage locations, total of %d locations queried",
+ "sect_no_in_rule": "Area 【%s】 has no inbound strategy configured",
+ },
+ "sch_manage": {
+ "task_already_completed": "This task is already completed!",
+ "task_already_cancelled": "This task is already cancelled!",
+ "task_not_exists": "This task does not exist",
+ "only_cancel_generating_tasks": "Can only cancel generating tasks!",
+ "task_status_must_be_create_to_cancel": "Task status must be 'created' to cancel task",
+ "same_point_code_exists": "Duplicate point codes exist",
+ "data_empty": "Data is empty!",
+ "task_config_already_exists": "Task configuration 【%s】 already exists!",
+ "start_and_end_region_cannot_be_empty": "Start region and end region cannot both be empty!",
+ "tray_cannot_be_empty": "Tray cannot be empty"
+ },
+ "decision_manage": {
+ "location_list_empty": "Storage location list is empty",
+ "strategy_type_error": "Strategy type error",
+ "no_available_location": "Current allocation strategy has no available storage locations",
+ "no_available_location_same_block_num": "Current allocation strategy sameBlockNum has no available storage locations",
+ "no_available_aisle": "No available aisle found",
+ "strategy_name_already_exists": "Strategy with same name already exists 【%s】",
+ "strategy_no_instance": "Start failed, current strategy 【%s】 has no corresponding instance information",
+ "alley_ave_no_available_location": "Balancing strategy result: Carrier code: 【%s】 current allocation strategy has no available storage locations",
+ "fifo_rule_inventory_shortage": "Current outbound strategy: FIFO, inventory allocation failed, reason: insufficient inventory!",
+ "depth_priority_location_not_found": " Depth priority strategy: Get deep location with stock and shallow location without stock: Carrier code: 【%s】 failed to get location, number of locations for this strategy is 0!",
+ "limit_storage_vehicle_not_exist": "Limit strategy: Current carrier information does not exist: 【%s】 does not exist",
+ "limit_storage_location_not_found": "Limit strategy: Carrier code: 【%s】 failed to get location, number of locations for this height level is 0!"
+ },
+ "task": {
+ "status": {
+ "created": "Created",
+ "applied": "Applied",
+ "created_completed": "Creation Completed",
+ "issued": "Issued",
+ "executing": "Executing",
+ "completed": "Completed",
+ "cancelled": "Cancelled",
+ "unfinished": "Unfinished"
+ }
+ ,
+ "created_desc": "Create Task",
+ "applied_desc": "Apply Task",
+ "create_completed_desc": "Create Completed Task",
+ "issued_desc": "Issue Task",
+ "executing_desc": "Executing Task",
+ "completed_desc": "Complete Task",
+ "cancelled_desc": "Cancelled Task",
+ "unfinished_desc": "Unfinished Task"
+ },
+ "bind": {
+ "type": {
+ "unbind": "Unbind",
+ "bind": "Bind",
+ "no_operation": "No Operation"
+ }
+ },
+ "vehicle": {
+ "type": {
+ "empty_pallet": "Empty Pallet",
+ "empty_container": "Empty Container"
+ }
+ },
+ "base_data": {
+ "type_not_defined": "Corresponding type 【%s】 is undefined"
+ },
+ "pm_manage": {
+ "no_such_unit_info": "No such measurement unit information",
+ "no_such_warehouse_info": "No such warehouse information",
+ "form_type_param_cannot_be_empty": "Form type parameter cannot be empty",
+ "current_bill_already_merged": "Current document has been merged, resubmission not allowed:【%s】",
+ "current_bill_is_new_merged_bill": "Current document is a new merged document, resubmission not allowed:【%s】",
+ "current_bill_is_not_new_merged_bill": "Current document is not a new merged document, submission not allowed:【%s】"
+ },
+ "warehouse_manage": {
+ "main_table_status_must_be_generate": "Main table status must be generated!",
+ "no_cancel_outbound_alloc_dtl": "No cancellable outbound allocation details exist",
+ "no_selected_outbound_point": "No outbound point selected",
+ "no_selected_floor": "No floor selected",
+ "no_related_outbound_bill": "No related outbound bill found",
+ "no_alloc_dtl_to_set": "Currently no allocation details to set",
+ "main_table_status_must_be_allocated": "Main table status must be allocated!",
+ "cannot_force_confirm_with_unfinished_tasks": "Cannot force confirm with unfinished tasks!",
+ "no_alloc_dtl_for_task": "No allocation detail found for the task",
+ "no_dtl_found": "No detail found",
+ "vehicle_already_in_storage": "Carrier code: 【%s】 already exists in storage, please verify the data!",
+ "detail_already_allocated_location": "Current detail has already been allocated a storage location",
+ "no_available_location": "No available storage location",
+ "detail_not_allocated_location": "This detail has not been allocated a storage location, please allocate first",
+ "cannot_find_allocation_detail_for_task": "No allocation detail found for the task",
+ "cannot_find_inbound_detail_record": "No inbound bill detail record found",
+ "cannot_find_inbound_order": "No inbound order found",
+ "no_location_in_sector": "No storage locations in this warehouse area",
+ "no_carrier_info": "No carrier number information",
+ "cannot_find_suitable_location": "No suitable storage location found",
+ "cannot_find_available_sector": "No available warehouse area found",
+ "cannot_select_suitable_sector": "Cannot select suitable warehouse area",
+ "outbill_qty_zero": "Quantity cannot be zero",
+ "outbill_sect_empty": "Allocation warehouse area cannot be empty",
+ "outbill_not_found": "Cannot find outbound bill information",
+ "outbill_no_details": "Current order has no allocatable outbound details",
+ "outbill_no_cancelable_details": "No cancellable outbound allocation details exist",
+ "outbill_allocated": "Fully allocated, unallocated quantity is 0",
+ "storagevehicle_no_inventory": "Current carrier 【%s】 has no related material batch inventory, please check data!",
+ "frozen_quantity_cannot_be_negative": "Frozen quantity cannot be negative, please check the change quantity! Current frozen quantity is 【%s】, current change quantity is 【%d】",
+ },
+ "pda_manage": {
+ "change_type_cannot_be_empty": "Change type cannot be empty!",
+ "carrier_code_cannot_be_empty": "Carrier code cannot be empty!",
+ "material_id_cannot_be_empty": "Material ID cannot be empty!",
+ "unit_id_cannot_be_empty": "Measurement unit ID cannot be empty!",
+ "unit_name_cannot_be_empty": "Measurement unit name cannot be empty!",
+ "change_qty_cannot_be_empty": "Change quantity cannot be empty!",
+ "carrier_already_has_inventory": "Current carrier already has inventory materials, please check data!",
+ "material_info_cannot_be_empty": "Material information cannot be empty!",
+ "vehicle_info_cannot_be_empty": "Carrier information cannot be empty!",
+ "vehicle_already_has_group_plate_info": "Carrier code: 【%s】 already has group plate information, please verify the data!",
+ "vehicle_already_in_storage": "Carrier code: 【%s】 already exists in storage:【%d】, please verify the data!",
+ "dtllist_cannot_be_empty": "dtlList cannot be empty",
+ "vehicle_not_group_plated": "This carrier is not group plated, please check!",
+ "vehicle_not_in_group_plate_status": "This carrier is not in group plate status, please check!",
+ "point_not_exists": "Point does not exist:【%s】",
+ "no_materials_available_for_storage": "Currently no materials available for storage!",
+ "move_in_location_cannot_be_empty": "Move-in location cannot be empty!",
+ "material_detail_cannot_be_empty": "Material detail cannot be empty!",
+ "vehicle_not_exist_in_system": "Carrier does not exist in the system!",
+ "move_in_location_not_exist_in_system": "Move-in location does not exist in the system!",
+ "location_and_vehicle_code_cannot_be_empty": "Location code and carrier code cannot both be empty!",
+ "vehicle_code_empty": "Carrier code cannot be empty",
+ "point_code_empty": "Point code cannot be empty",
+ "point_not_found": "Point 【%s】 does not exist",
+ "point_already_binded": "Point 【%s】 is already bound to carrier 【%d】",
+ "vehicle_already_binded": "Carrier 【%s】 is already bound to point 【%d】",
+ "point_no_vehicle_need_unbind": "Point 【%s】 has no bound carrier 【%d】, no need to unbind",
+ "start_point_not_exist": "Start point does not exist",
+ "end_point_not_exist": "End point does not exist",
+ "site_code_empty": "Point code cannot be empty",
+ "site_not_exist": "Point 【%s】 does not exist"
+ },
+ "acs": {
+ "connection_failed": "ACS connection failed"
+ },
+ "status": {
+ "published": "Published",
+ "unpublished": "Unpublished",
+ "started": "Started",
+ "stopped": "Stopped",
+ "production_in": "Production Inbound",
+ "purchase_in": "Purchase Inbound",
+ "other_in": "Other Inbound",
+ "production_out": "Production Outbound",
+ "sales_out": "Sales Outbound",
+ "other_out": "Other Outbound",
+ "generated": "Generated",
+ "allocated": "Allocated",
+ "type_not_defined": "Corresponding type 【%s】 is undefined",
+ "code_not_defined_r": "Corresponding code 【%s】 has no R data defined",
+ "code_not_defined_x": "Corresponding code 【%s】 has no x data defined",
+ "node_completed": "Node Completed",
+ "abnormal_completed": "Abnormally Completed",
+ "manual_in": "Manual Inbound",
+ "material_out": "Material Outbound",
+ "manual_out": "Manual Outbound",
+ "move_storage": "Move Storage",
+ "abnormal_move": "Abnormal Move",
+ "inventory": "Inventory",
+ "transfer": "Transfer",
+ "inventory_loss": "Inventory Loss",
+ "inventory_profit": "Inventory Profit",
+ "physical_inventory": "Physical Inventory",
+ "receipt_notice": "Receipt Notice",
+ "sales_order": "Sales Order",
+ "production_inbound": "Production Inbound",
+ "purchase_inbound": "Purchase Inbound",
+ "sales_return_inbound": "Sales Return Inbound",
+ "purchase_return_outbound": "Purchase Return Outbound",
+ "subcontract_material_list": "Subcontract Material List",
+ "production_material_list": "Production Material List",
+ "production_picking": "Production Picking",
+ "simple_production_picking": "Simple Production Picking",
+ "transfer_outbound": "Transfer Outbound",
+ "other_outbound": "Other Outbound",
+ "lowest": "Lowest Priority",
+ "normal": "Normal Priority",
+ "higher": "Higher Priority",
+ "urgent": "Urgent Priority",
+ "warehouse": "Warehouse Task",
+ "agv_task": "AGV Task",
+ "ctu_task": "CTU Task",
+ "third_floor_ctu": "Third Floor CTU",
+ "xian_gong": "Xian Gong System",
+ "hairou_ctu": "HaiRou CTU",
+ "hikvision_ctu": "Hikvision CTU",
+ "inbound": "Inbound",
+ "outbound": "Outbound",
+ "in_out_bound": "In/Out Bound",
+ "first_floor_workshop": "First Floor Workshop",
+ "second_floor_workshop": "Second Floor Workshop",
+ "third_floor_workshop": "Third Floor Workshop",
+ "main_storage_picking_platform": "Main Storage Picking Platform",
+ "first_floor_io_conveyor": "First Floor I/O Conveyor",
+ "second_floor_io_conveyor": "Second Floor I/O Conveyor",
+ "second_floor_ctu_shelf_docking": "Second Floor CTU Shelf Docking Position",
+ "second_floor_agv_production_line_docking": "Second Floor AGV Production Line Docking Position",
+ "second_floor_empty_shelf_buffer": "Second Floor Empty Shelf Buffer",
+ "pallet_warehouse": "Pallet Warehouse",
+ "container_warehouse": "Container Warehouse",
+ "virtual_warehouse": "Virtual Warehouse",
+ "second_floor_ctu_buffer": "Second Floor CTU Buffer",
+ "second_floor_shelf_buffer": "Second Floor Shelf Buffer",
+ "ascending": "Ascending",
+ "descending": "Descending",
+ "unbind": "Unbind",
+ "bind": "Bind",
+ "no_operation": "No Operation",
+ "empty_tray": "Empty Tray",
+ "empty_container": "Empty Container",
+ "start": "Start",
+ "pause": "Pause",
+ "completed": "Completed",
+ "force_completed": "Force Completed",
+ "cancelled": "Cancelled"
+ },
+ "error": {
+ "param_undefined": "Parameter 【%s】 undefined 【%s】",
+ "ParamExist": "Parameter 【%s】 already exists",
+ "Update": "Update failed",
+ "Detele": "Delete failed",
+ "NullPoint": "Null pointer exception",
+ "SystemAuthError": "System authorization error",
+ "File_3": "File upload failed",
+ "isNull": "Parameter 【%s】 cannot be empty",
+ "Send": "Send failed"
+ },
+ "role": {
+ "Check_1": "Role name cannot be empty",
+ "level": "Role level"
+ },
+ "quartz": {
+ "ip_different": "Local IP 【%s】 differs from scheduler IP 【%s】",
+ "create_job_failure": "Failed to create scheduled task"
+ },
+ "system_manage": {
+ "username_password_error": "Incorrect username or password",
+ "account_not_activated": "Account not activated",
+ "param_empty": "Parameters cannot be empty",
+ "code_rule_not_exist": "Missing configuration related to 【%s】",
+ "menu_no_permission": "No menu permission",
+ "current_business_executing": "Current business: 【%s】 is being executed, please try again later"
+ },
+ "login": {
+ "childError": "Child node menu cannot be set as directory"
}
-}
\ No newline at end of file
+}
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/in.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/in.js
deleted file mode 100644
index 2b65b37..0000000
--- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/in.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var config = {
- "lang": "English222",
- "platform": {
- "title": "NOBLELIFT Platform",
- "tip1": "The user name cannot be empty",
- "tip2": "The password cannot be empty",
- "tip3": "The verification code cannot be empty"
- },
- "common": {
- "home": "Dashboard",
- "Layout_setting": "Layout Setting"
- }
-}
\ No newline at end of file
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/ja.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/ja.js
deleted file mode 100644
index 2b65b37..0000000
--- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/ja.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var config = {
- "lang": "English222",
- "platform": {
- "title": "NOBLELIFT Platform",
- "tip1": "The user name cannot be empty",
- "tip2": "The password cannot be empty",
- "tip3": "The verification code cannot be empty"
- },
- "common": {
- "home": "Dashboard",
- "Layout_setting": "Layout Setting"
- }
-}
\ No newline at end of file
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/vi.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/vi.js
index f0f58c7..e4d2bea 100644
--- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/vi.js
+++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/vi.js
@@ -44,6 +44,105 @@ var config = {
"accountUse": "Đăng nhập thất bại, tài khoản chưa được kích hoạt"
},
"common": {
+ 'home': 'Trang chủ', // Trang chủ
+ 'Layout_setting': 'Cài đặt bố cục',
+ 'Personal_center': 'Trung tâm cá nhân',
+ 'Log_out': 'Đăng xuất',
+ 'Personal_information': 'Thông tin cá nhân',
+ 'username': 'Tên người dùng',
+ 'name': 'Họ tên',
+ 'phone': 'Số điện thoại',
+ 'phone2': 'Số điện thoại',
+ 'sex': 'Giới tính',
+ 'sex_male': 'Nam',
+ 'sex_female': 'Nữ',
+ 'email': 'Email người dùng',
+ 'Security_settings': 'Cài đặt bảo mật',
+ 'Save_settings': 'Lưu cài đặt',
+ 'Reset_settings': 'Đặt lại cài đặt',
+ 'Change_password': 'Đổi mật khẩu',
+ 'New_password': 'Mật khẩu mới',
+ 'Old_password': 'Mật khẩu cũ',
+ 'Verify_password': 'Xác nhận mật khẩu',
+ 'User_information': 'Thông tin người dùng',
+ 'Operation_log': 'Nhật ký hoạt động',
+ 'action': 'Hành động',
+ 'IP_source': 'Nguồn IP',
+ 'Browser': 'Trình duyệt',
+ 'Request_time': 'Thời gian xử lý yêu cầu',
+ 'Creation_date': 'Ngày tạo',
+ 'account': 'Tài khoản',
+ 'password': 'Mật khẩu',
+ 'verification_code': 'Mã xác minh',
+ 'login_rm': 'Ghi nhớ đăng nhập',
+ 'login': 'Đăng nhập',
+ 'login_ing': 'Đang đăng nhập...',
+ 'Create': 'Thêm mới',
+ 'Update': 'Chỉnh sửa',
+ 'Delete': 'Xóa',
+ 'More': 'Thêm',
+ 'Export': 'Xuất',
+ 'Editors': 'Biên tập',
+ 'SelectAll': 'Chọn tất cả',
+ 'Query': 'Truy vấn',
+ 'Reset': 'Đặt lại',
+ 'Confirm': 'Xác nhận',
+ 'Cancel': 'Hủy',
+ 'Yes': 'Có',
+ 'No': 'Không',
+ 'Success': 'Thành công',
+ 'Fail': 'Thất bại',
+ 'Please_select': 'Vui lòng chọn',
+ 'Operation_success': 'Thao tác thành công',
+ 'Upload_success': 'Tải lên thành công',
+ 'Operate': 'Thao tác',
+ 'Refresh': 'Làm mới',
+ 'Closes': 'Đóng',
+ 'Closes_l': 'Đóng bên trái',
+ 'Closes_r': 'Đóng bên phải',
+ 'Closes_o': 'Đóng khác',
+ 'Closes_a': 'Đóng tất cả',
+ 'Theme_style_setting': 'Cài đặt kiểu giao diện',
+ 'Theme_color': 'Màu chủ đề',
+ 'System_layout_configuration': 'Cấu hình bố cục hệ thống',
+ 'Open': 'Mở',
+ 'Fixation': 'Cố định',
+ 'Display': 'Hiển thị',
+ 'Dynamic_titles': 'Tiêu đề động',
+ 'crudTip': 'Xác nhận xóa dữ liệu này?',
+ 'startDate': 'Ngày bắt đầu',
+ 'endDate': 'Ngày kết thúc',
+ 'moreMenu': 'Menu thêm',
+ 'browses': 'Duyệt',
+ 'fz': 'Thu phóng toàn màn hình',
+ 'submit': 'Gửi thành công',
+ 'add': 'Thêm thành công',
+ 'edit': 'Chỉnh sửa thành công',
+ 'del': 'Xóa thành công',
+ 'close': 'Xác nhận đóng',
+ 'save': 'Lưu thành công',
+ 'datas': 'Dữ liệu',
+ 'Tips': 'Gợi ý',
+ 'Tip1': 'Xác nhận xóa {count} dữ liệu đã chọn?',
+ 'Tip3': 'Tên người dùng không dùng để đăng nhập',
+ 'Tip4': 'Số điện thoại không được trùng lặp',
+ 'Tip5': 'Vui lòng nhập số điện thoại',
+ 'Tip6': 'Vui lòng nhập đúng 11 chữ số điện thoại',
+ 'Tip7': 'Kéo thả file excel vào đây hoặc',
+ 'Tip8': 'Mật khẩu nhập hai lần không khớp',
+ 'Tip9': 'Vui lòng nhập lại mật khẩu',
+ 'Tip10': 'Vui lòng nhập mật khẩu cũ',
+ 'Tip11': 'Vui lòng nhập mật khẩu mới',
+ 'Tip12': 'Độ dài từ {min} đến {max} ký tự',
+ 'Tip13': 'Xác nhận đăng xuất khỏi hệ thống?',
+ 'Tip14': 'Kết nối WebSocket xảy ra lỗi',
+ 'Tip15': 'Vui lòng nhập tên biểu tượng',
+ 'Tip16': 'Không được để trống',
+ 'Tip17': 'Vui lòng nhập nội dung tìm kiếm',
+ 'loading': 'Dữ liệu đang tải...',
+ 'Tip18': 'Chọn ngày giờ',
+ 'Tip19': 'Bạn có chắc chắn xóa dữ liệu đã chọn?',
+ 'Tip20': 'Trạng thái đăng nhập hiện tại đã hết hạn, vui lòng đăng nhập lại!',
"name": "Tên",
"create_name": "Người tạo",
"create_time": "Thời gian tạo",
@@ -321,6 +420,7 @@ var config = {
"para3": "Tham số 3"
},
"menu": {
+ "home": "home",
"menu_id": "ID menu",
"pid": "ID menu cấp trên",
"sub_count": "Số lượng menu con",
@@ -644,4 +744,4 @@ var config = {
"login": {
"childError": "Menu nút con không thể đặt thành thư mục"
}
-}
\ No newline at end of file
+}
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js
index 13b4c19..3778a29 100644
--- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js
+++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js
@@ -44,6 +44,105 @@ var config = {
"accountUse": "登入失败,账号未启用"
},
"common": {
+ 'home': '首页', // 首页
+ 'Layout_setting': '布局设置',
+ 'Personal_center': '个人中心',
+ 'Log_out': '退出登录',
+ 'Personal_information': '个人信息',
+ 'username': '用户姓名',
+ 'name': '姓名',
+ 'phone': '手机号码',
+ 'phone2': '手机号',
+ 'sex': '性别',
+ 'sex_male': '男',
+ 'sex_female': '女',
+ 'email': '用户邮箱',
+ 'Security_settings': '安全设置',
+ 'Save_settings': '保存配置',
+ 'Reset_settings': '重置配置',
+ 'Change_password': '修改密码',
+ 'New_password': '新密码',
+ 'Old_password': '旧密码',
+ 'Verify_password': '确认密码',
+ 'User_information': '用户资料',
+ 'Operation_log': '操作日志',
+ 'action': '行为',
+ 'IP_source': 'IP来源',
+ 'Browser': '浏览器',
+ 'Request_time': '请求耗时',
+ 'Creation_date': '创建日期',
+ 'account': '账号',
+ 'password': '密码',
+ 'verification_code': '验证码',
+ 'login_rm': '记住我',
+ 'login': '登 录',
+ 'login_ing': '登 录 中...',
+ 'Create': '新增',
+ 'Update': '修改',
+ 'Delete': '删除',
+ 'More': '更多',
+ 'Export': '导出',
+ 'Editors': '编辑',
+ 'SelectAll': '全选',
+ 'Query': '查询',
+ 'Reset': '重置',
+ 'Confirm': '确认',
+ 'Cancel': '取消',
+ 'Yes': '是',
+ 'No': '否',
+ 'Success': '成功',
+ 'Fail': '失败',
+ 'Please_select': '请选择',
+ 'Operation_success': '操作成功',
+ 'Upload_success': '上传成功',
+ 'Operate': '操作',
+ 'Refresh': '刷新',
+ 'Closes': '关闭',
+ 'Closes_l': '关闭左侧',
+ 'Closes_r': '关闭右侧',
+ 'Closes_o': '关闭其他',
+ 'Closes_a': '关闭全部',
+ 'Theme_style_setting': '主题风格设置',
+ 'Theme_color': '主题颜色',
+ 'System_layout_configuration': '系统布局配置',
+ 'Open': '开启',
+ 'Fixation': '固定',
+ 'Display': '显示',
+ 'Dynamic_titles': '动态标题',
+ 'crudTip': '确定删除本条数据吗?',
+ 'startDate': '开始日期',
+ 'endDate': '结束日期',
+ 'moreMenu': '更多菜单',
+ 'browses': '浏览',
+ 'fz': '全屏缩放',
+ 'submit': '提交成功',
+ 'add': '新增成功',
+ 'edit': '编辑成功',
+ 'del': '删除成功',
+ 'close': '确认关闭',
+ 'save': '保存成功',
+ 'datas': '数据',
+ 'Tips': '提示',
+ 'Tip1': '确认删除选中的{count}条数据?',
+ 'Tip3': '用户姓名不作为登录使用',
+ 'Tip4': '手机号码不能重复',
+ 'Tip5': '请输入电话号码',
+ 'Tip6': '请输入正确的11位手机号码',
+ 'Tip7': '拖拽excel文件到此处 或者',
+ 'Tip8': '两次输入的密码不一致',
+ 'Tip9': '请再次输入密码',
+ 'Tip10': '请输入旧密码',
+ 'Tip11': '请输入新密码',
+ 'Tip12': '长度在 {min} 到 {max} 个字符',
+ 'Tip13': '确定注销并退出系统吗?',
+ 'Tip14': 'WebSocket连接发生错误',
+ 'Tip15': '请输入图标名称',
+ 'Tip16': '不能为空',
+ 'Tip17': '请输入你要搜索的内容',
+ 'loading': '数据加载中...',
+ 'Tip18': '选择日期时间',
+ 'Tip19': '你确定删除选中的数据吗?',
+ 'Tip20': '当前登录状态已过期,请重新登录!',
"name": "名称",
"create_name": "创建人",
"create_time": "创建时间",
@@ -321,6 +420,7 @@ var config = {
"para3": "参数3"
},
"menu": {
+ "home": "首页面",
"menu_id": "菜单ID",
"pid": "上级菜单ID",
"sub_count": "子菜单数量",
@@ -645,4 +745,4 @@ var config = {
"login": {
"childError": "子节点菜单不能设置为目录"
}
-}
\ No newline at end of file
+}
diff --git a/nladmin-system/nlsso-server/src/main/resources/language/zh.js b/nladmin-system/nlsso-server/src/main/resources/language/zh.js
new file mode 100644
index 0000000..6b61aac
--- /dev/null
+++ b/nladmin-system/nlsso-server/src/main/resources/language/zh.js
@@ -0,0 +1,333 @@
+var config = {
+ "language":"简体中文",
+ "platform": {
+ "title": "NOBLELIFT Platform",
+ },
+ "system": {
+ "exception": "系统异常,请联系管理员查看",
+ "exceptionArg": "系统异常,%s",
+ "paramException": "参数异常,输入参数不正确",
+ "paramExceptionArg": "参数异常,输入参数%s不正确",
+ "resultException": "请求结果不存在",
+ "dataException": "数据异常,数据不存在",
+ "dataExceptionArg": "数据异常,%s数据不存在",
+ "dataFormat": "数据异常,数据不正确",
+ "dataDuplicationArg": "数据重复,%s在系统中已存在",
+ "activatArg": "%s在系统不可用用",
+ "operationStatusArg": "操作失败,%s状态不正确"
+ },
+ "business": {
+ "InvReminder": "当前分配策略,%s无可用货位",
+ "loginPassword":"登入失败,账号密码不正确",
+ "accountUse":"登入失败,账号未启用",
+ "billDataExceptionArg":"操作失败,%s操作的单据数据不存在",
+ "billDataDtlExceptionArg":"操作失败,%s操作的单据明细不存在",
+ "billActivatArg":"操作失败,%s操作的单据数据无可用",
+ "billOperationStatusArg":"操作失败,%s单据的状态不正确",
+ },
+ "common": {
+ "name": "名称",
+ "create_name":"创建人",
+ "create_time":"创建时间",
+ "update_name":"修改人",
+ "remark":"备注",
+ "is_used":"是否启用",
+ "is_delete":"是否删除",
+ "create_mode":"生成方式",
+ "input_optname":"制单人姓名",
+ "input_time":"制单时间",
+ "update_optname":"修改人姓名",
+ "update_time":"修改时间",
+ "dis_optname":"分配人姓名",
+ "dis_time":"分配时间",
+ "confirm_optname":"确认人姓名",
+ "confirm_time":"确认时间",
+ "bill_code":"单据编号",
+ "bill_type":"单据类型",
+ "biz_date":"业务日期",
+ "bill_status":"单据状态/单据明细状态",
+ "zh_name":"中文名称",
+ "in_name":"印尼名称",
+ "en_name":"英文名称",
+ "ext_id":"外部标识"
+ },
+ "unit": {
+ "unit_code":"编码",
+ "unit_name":"名称",
+ "qty_precision":"数据精度",
+ "qty_unit_id":"基本计量单位",
+ "qty_unit_name":"单位名称"
+ },
+ "storagevehicle": {
+ "storagevehicle_code":"载具编码",
+ "storagevehicle_name":"载具名称",
+ "vehicle_type":"载具类型",
+ "vehicle_code":"载具编码",
+ "one_code":"一维码",
+ "two_code":"二维码",
+ "storagevehicle_type":"载具类型",
+ "vehicle_width":"载具宽度",
+ "vehicle_long":"载具长度",
+ "vehicle_height":"载具高度",
+ "weigth":"托盘重量",
+ "overstruct_type":"载具是否超仓位",
+ "occupystruct_qty":"占仓位数",
+ "ext_id":"外部标识"
+ },
+ "point": {"point_code":"点位编码",
+ "point_name":"点位名称",
+ "region_code":"区域编码",
+ "region_name":"区域名称",
+ "point_type":"点位类型",
+ "point_status":"点位状态",
+ "vehicle_type":"载具类型",
+ "vehicle_code":"载具编码",
+ "vehicle_qty":"载具数量",
+ "in_order_seq":"入库顺序",
+ "out_order_seq":"出库顺序",
+ "in_empty_seq":"入空载具顺序",
+ "out_empty_seq":"出空载具顺序",
+ "parent_point_code":"父点位编码",
+ "ext_point_code":"外部点位编码",
+ "ing_task_code":"在执行的任务标识",
+ "is_has_workder":"是否创建工单",
+ "workshop_code":"车间编码",
+ "is_auto":"是否自动"
+ },
+ "region": {"region_code":"区域编码",
+ "region_name":"区域名称",
+ "point_type_explain":"点位类型说明",
+ "point_status_explain":"点位状态说明",
+ "is_has_workder":"是否创建工单",
+ "order_seq":"顺序号",
+ "workshop_code":"车间编码"
+ },
+ "task":{
+ "task_code":"任务编码",
+ "task_status":"任务状态",
+ "config_code":"配置编码",
+ "point_code1":"点位1",
+ "point_code2":"点位2",
+ "point_code3":"点位3",
+ "point_code4":"点位4",
+ "group_id":"组盘标识",
+ "vehicle_type":"载具类型",
+ "vehicle_qty":"载具数量",
+ "vehicle_code":"载具编码",
+ "vehicle_code2":"载具编码2",
+ "handle_status":"处理状态",
+ "car_no":"车号",
+ "task_group_id":"任务组标识",
+ "task_group_seq":"任务组顺序号",
+ "finished_type":"任务完成类型",
+ "create_mode":"生成方式",
+ "request_param":"生成任务的请求参数",
+ "response_param":"下发任务的请求参数",
+ "workshop_code":"车间编码",
+ "ext_group_data":"额外组盘信息",
+ "priority":"acs优先级"
+ },
+ "taskconfig":{
+ "config_code":"配置编码",
+ "config_name":"配置名称",
+ "route_plan_code":"路由编码",
+ "task_qf_type":"任务取放类型",
+ "acs_task_type":"acs任务类型",
+ "task_name":"任务名字",
+ "task_type":"任务类型",
+ "task_direction":"任务去向",
+ "priority":"优先级",
+ "task_create_max_num":"允许最大任务生成数",
+ "task_issue_max_num":"允许最大任务下发数",
+ "is_auto_issue":"是否自动下发",
+ "start_region_str":"起点区域配置",
+ "next_region_str":"终点区域配置",
+ "start_point_pre":"起点点位前缀",
+ "next_region_pre":"终点点位前缀",
+ "is_check_workorder":"是否校验工单",
+ "is_check_start_lock":"是否判断起点锁定",
+ "is_immediate_create":"是否立即创建",
+ "is_check_next_lock":"是否判断终点锁定",
+ "is_start_auto":"是否起点自动",
+ "is_next_auto":"是否终点自动",
+ "is_lock_start":"是否锁定起点",
+ "is_lock_next":"是否锁定终点",
+ "request_param":"生成任务的请求参数",
+ "response_param":"下发任务的请求参数",
+ "is_group_congrol_issue_seq":"是否按组控制下发顺序",
+ "unfinish_notify_time":"任务未完成通知时间数",
+ "sql_param":"sql配置",
+ "workshop_code":"车间编码"
+ },
+ "storattr":{"stor_code":"仓库编码",
+ "stor_name":"仓库名称",
+ "simple_name":"仓库简称",
+ "stor_capacity":"仓库容量",
+ "total_area":"总面积",
+ "stor_type_scode":"仓库性质",
+ "is_virtualstore":"是否虚拟库",
+ "is_semi_finished":"是否半成品库",
+ "is_materialstore":"是否原料库",
+ "is_productstore":"是否成品库",
+ "is_attachment":"是否备件库",
+ "is_reversed":"是否允许红冲",
+ "is_mvout_auto_cfm":"是否移出业务自动确认",
+ "is_mvin_auto_cfm":"是否移入业务自动确认",
+ "area":"地区",
+ "storea_ddress":"仓库地址",
+ "principal":"负责人",
+ "office_phone":"办公电话",
+ "mobile_no":"负责人手机",
+ "order_index":"显示顺序",
+ "whstate_scode":"状态",
+ "base_class_id":"物料基本分类",
+ "sysownerid":"拥有者ID",
+ "sysdeptid":"部门ID",
+ "syscompanyid":"公司ID",
+ "ext_id":"外部标识",
+ "depart_name":"部门名称",
+ "company_name":"公司名称"},
+ "checkmst":{"seq_no":"明细序号",
+ "sect_code":"盘点库区",
+ "struct_code":"盘点货位",
+ "checkpoint_code":"盘点站台",
+ "storagevehicle_code":"存储载具编码",
+ "material_id":"物料标识",
+ "pcsn":"批次",
+ "base_qty":"库存数量",
+ "status":"状态",
+ "is_down":"是否已下发",
+ "fac_qty":"盘点数量",
+ "check_result":"盘点结果",
+ "check_optname":"盘点人姓名",
+ "check_time":"盘点时间",
+ "remark":"明细备注",
+ "check_code":"盘点单号",
+ "check_type":"盘点单类型",
+ "stor_name":"仓库名称",
+ "dtl_num":"明细数",
+ "create_mode":"生成方式",
+ },
+ "st_ivt_iostor": {"stor_code":"仓库编码",
+ "sect_date":"日期",
+ "quality_scode":"品质类型",
+ "start_num":"期初数",
+ "in_num":"入库数",
+ "out_num":"出库数",
+ "total_qty":"总数量",
+ "total_weight":"总重量",
+ "io_type":"出入类型",
+ "detail_count":"明细数",
+ "seq_no":"明细序号",
+ "work_status":"执行状态",
+ "task_id":"任务标识",
+ "storagevehicle_code":"存储载具编码",
+ "is_issued":"是否已下发",
+ "plan_qty":"计划数量",
+ "real_qty":"实际数量",
+ "point_code":"出入点位标识",
+ "assign_qty":"已分配数量",
+ "unassign_qty":"未分配数量",
+ "mol_code":"损溢单号",
+ "mol_inv_type":"损溢单类型",
+ "mol_type":"损溢类型",
+ "turnout_sect_code":"转出库区编码",
+ "turnout_struct_code":"转出仓位编码",
+ "turnin_sect_code":"转入库区编码",
+ "turnin_struct_code":"转入仓位编码"
+ },
+ "structWarning": {
+ "safe_qty_lower_limit":"安全库存数量下线",
+ "safe_qty_upper_limit":"安全库存数量上限",
+ "cron":"表达式",
+ "notify_type":"通知类型",
+ "overdue_days":"超时天数",
+ "safe_days":"安全天数",
+ "is_read":"是否已读",
+ "current_qty":"当前数量"
+ },
+ "strategy": {"sect_code":"库区",
+ "strategy":"规则",
+ "strategy_type":"1入库策略 2出库策略",
+ "description":"描述",
+ "strategy_code":"策略编码",
+ "strategy_name":"策略名称",
+ "class_type":"类处理类型",
+ "param":"处理类",
+ "ban":"禁止操作",
+ "form_data":"限定参数"},
+ "code_rule": {"current_value":"当前值"},
+ "dept": {"dept_id":"ID",
+ "pid":"上级部门",
+ "sub_count":"子部门数目",
+ "name":"名称",
+ "zh_name":"中文名称",
+ "in_name":"印尼名称",
+ "en_name":"英文名称",
+ "dept_sort":"排序",
+ "is_used":"状态",
+ "create_id":"",
+ "create_name":"创建者",
+ "update_id":"",
+ "update_name":"更新者",
+ "create_time":"创建日期",
+ "update_time":"更新时间",
+ "code":"部门编号",
+ "ext_id":""},
+ "dict":{"dict_type":"字典类型",
+ "dict_sort":"排序号",
+ "label":"字典标签",
+ "value":"字典值",
+ "para1":"参数1",
+ "para2":"参数2",
+ "para3":"参数3"},
+ "menu":{"menu_id":"菜单标识",
+ "pid":"上级菜单ID",
+ "sub_count":"子菜单数目",
+ "type":"菜单类型",
+ "system_type":"所属系统",
+ "category":"菜单分类",
+ "title":"菜单标题",
+ "en_title":"英语标题",
+ "in_title":"印尼标题",
+ "zh_title":"中文标题",
+ "component_name":"组件名称",
+ "component":"组件",
+ "menu_sort":"排序",
+ "icon":"图标",
+ "path":"链接地址",
+ "iframe":"是否外链",
+ "cache":"是否缓存",
+ "hidden":"是否隐藏",
+ "permission":"权限",
+ "is_pc":"是否PC菜单"},
+ "param":{
+ "code":"编码",
+ "name":"名称",
+ "zh_name":"名称",
+ "en_name":"英文名称",
+ "in_name":"印尼名称",
+ "value":"值"},
+ "role":{
+ "level":"角色级别"
+ },
+ "user":{"user_id":"用户标识",
+ "username":"登录账号",
+ "password":"密码",
+ "is_admin":"是否为admin账号",
+ "person_name":"姓名",
+ "zh_person_name":"姓(中文)",
+ "en_person_name":"姓(英文)",
+ "in_person_name":"印尼名称",
+ "gender":"性别",
+ "zh_gender":"性(中文)",
+ "en_gender":"性(英文)",
+ "phone":"电话",
+ "email":"电子邮箱",
+ "avatar_name":"头像地址",
+ "avatar_path":"头像真实路径",
+ "extperson_id":"外部人员标识",
+ "extuser_id":"外部用户标识",
+ "pwd_reset_user_id":"密码重置者",
+ "pwd_reset_time":"密码重置时间"}
+}
diff --git a/nladmin-ui/package-lock.json b/nladmin-ui/package-lock.json
index 53765cc..fb294db 100644
--- a/nladmin-ui/package-lock.json
+++ b/nladmin-ui/package-lock.json
@@ -4878,6 +4878,19 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
+ "node_modules/@vue/cli-plugin-unit-jest/node_modules/node-notifier": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-5.4.5.tgz",
+ "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==",
+ "dev": true,
+ "dependencies": {
+ "growly": "^1.3.0",
+ "is-wsl": "^1.1.0",
+ "semver": "^5.5.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.0"
+ }
+ },
"node_modules/@vue/cli-plugin-unit-jest/node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -13850,6 +13863,22 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "optional": true,
+ "peer": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-dotfile": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/is-dotfile/-/is-dotfile-1.0.3.tgz",
@@ -14352,7 +14381,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz",
"integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -18888,16 +18917,70 @@
}
},
"node_modules/node-notifier": {
- "version": "5.4.5",
- "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-5.4.5.tgz",
- "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==",
- "devOptional": true,
+ "version": "10.0.1",
+ "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-10.0.1.tgz",
+ "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==",
+ "optional": true,
+ "peer": true,
"dependencies": {
"growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.5",
"shellwords": "^0.1.1",
- "which": "^1.3.0"
+ "uuid": "^8.3.2",
+ "which": "^2.0.2"
+ }
+ },
+ "node_modules/node-notifier/node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/node-notifier/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "optional": true,
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-notifier/node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "optional": true,
+ "peer": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/node-notifier/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
"node_modules/node-plop": {
@@ -27711,7 +27794,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -32023,6 +32106,19 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
+ "node-notifier": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-5.4.5.tgz",
+ "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==",
+ "dev": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^1.1.0",
+ "semver": "^5.5.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.0"
+ }
+ },
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -39259,6 +39355,13 @@
"integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==",
"dev": true
},
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "optional": true,
+ "peer": true
+ },
"is-dotfile": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/is-dotfile/-/is-dotfile-1.0.3.tgz",
@@ -39602,7 +39705,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz",
"integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
- "devOptional": true
+ "dev": true
},
"isarray": {
"version": "1.0.0",
@@ -43056,16 +43159,54 @@
}
},
"node-notifier": {
- "version": "5.4.5",
- "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-5.4.5.tgz",
- "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==",
- "devOptional": true,
+ "version": "10.0.1",
+ "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-10.0.1.tgz",
+ "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==",
+ "optional": true,
+ "peer": true,
"requires": {
"growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.5",
"shellwords": "^0.1.1",
- "which": "^1.3.0"
+ "uuid": "^8.3.2",
+ "which": "^2.0.2"
+ },
+ "dependencies": {
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "optional": true,
+ "peer": true
+ },
+ "uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "optional": true,
+ "peer": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"node-plop": {
@@ -50160,7 +50301,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "devOptional": true,
+ "dev": true,
"requires": {
"isexe": "^2.0.0"
}
diff --git a/nladmin-ui/src/api/i18n.js b/nladmin-ui/src/api/i18n.js
new file mode 100644
index 0000000..c82a00f
--- /dev/null
+++ b/nladmin-ui/src/api/i18n.js
@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+export function fetchMessages(locale) {
+ return request({
+ url: '/api/language/js/' + locale,
+ method: 'get'
+ })
+}
+
+export default { fetchMessages }
diff --git a/nladmin-ui/src/i18n/index.js b/nladmin-ui/src/i18n/index.js
index 22a7fe8..bba566a 100644
--- a/nladmin-ui/src/i18n/index.js
+++ b/nladmin-ui/src/i18n/index.js
@@ -1,27 +1,19 @@
import Vue from 'vue'
import VueI18n from 'vue-i18n'
-import locale from 'element-ui/lib/locale'
-import zh from './langs/chinese'
-import en from './langs/english'
-import indonesian from './langs/indonesian'
+
Vue.use(VueI18n)
-const messages = {
- en: {
- ...en
- },
- zh: {
- ...zh
- },
- in: {
- ...indonesian
- }
-}
+
+// 准备默认的语言环境消息(可以是空对象,也可以是一些基本消息)
+const defaultLocale = 'zh'
+const fallbackLocale = 'zh'
+
+// 创建i18n实例
const i18n = new VueI18n({
- locale: localStorage.lang || 'zh',
- messages,
+ locale: defaultLocale, // 设置当前语言
+ fallbackLocale, // 设置回退语言
silentTranslationWarn: true, // 解决vue-i18n黄色警告"value of key 'xxx' is not a string"和"cannot translate the value of keypath 'xxx'.use the value of keypath as default",可忽略
- globalInjection: true, // 全局注入
- fallbackLocale: 'zh'
+ globalInjection: true,
+ messages: {} // 初始化为空,稍后从接口获取
})
-locale.i18n((key, value) => i18n.t(key, value))
export default i18n
+
diff --git a/nladmin-ui/src/i18n/langs/chinese.js b/nladmin-ui/src/i18n/langs/chinese.js
deleted file mode 100644
index 71fba7c..0000000
--- a/nladmin-ui/src/i18n/langs/chinese.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
-import zh from './zh-CN'
-import menu from '../../views/system/menu/locale/zh'
-import param from '../../views/system/param/locale/zh'
-import user from '../../views/system/user/locale/zh'
-import scheduler from '../../views/system/timing/locale/zh'
-import dept from '../../views/system/dept/locale/zh'
-import dict from '../../views/system/dict/locale/zh'
-import redis from '../../views/system/redis/locale/zh'
-import log from '../../views/monitor/log/locale/zh'
-import notice from '../../views/system/notice/locale/zh'
-import errorLog from '../../views/monitor/log/locale/error/zh'
-import online from '../../views/monitor/online/locale/zh'
-import role from '../../views/system/role/locale/zh'
-import corn from '../../views/system/timing/locale/corn/zh'
-import codegen from '../../views/tools/codeGen/locale/zh'
-import storage from '../../views/tools/storage/locale/zh'
-
-export default {
- ...zhLocale,
- ...zh,
- ...menu,
- ...param,
- ...user,
- ...scheduler,
- ...dept,
- ...dict,
- ...redis,
- ...log,
- ...notice,
- ...errorLog,
- ...online,
- ...role,
- ...corn,
- ...codegen,
- ...storage
-}
diff --git a/nladmin-ui/src/i18n/langs/en.js b/nladmin-ui/src/i18n/langs/en.js
deleted file mode 100644
index 783672e..0000000
--- a/nladmin-ui/src/i18n/langs/en.js
+++ /dev/null
@@ -1,134 +0,0 @@
-export default {
- 'lang': 'English',
- // 平台
- 'platform': {
- 'title': 'NOBLELIFT Platform',
- 'tip1': 'The user name cannot be empty',
- 'tip2': 'The password cannot be empty',
- 'tip3': 'The verification code cannot be empty'
- },
- 'common': {
- 'home': 'Dashboard',
- 'Layout_setting': 'Layout Setting',
- 'Personal_center': 'Personal Center',
- 'Log_out': 'Log Out',
- 'Personal_information': 'Personal Information',
- 'username': 'UserName',
- 'name': 'Name',
- 'phone': 'Phone Number',
- 'phone2': 'Phone',
- 'sex': 'Sex',
- 'sex_male': 'Male',
- 'sex_female': 'Female',
- 'email': 'E-mail',
- 'Security_settings': 'Security Settings',
- 'Save_settings': 'Save Settings',
- 'Reset_settings': 'Reset Settings',
- 'Change_password': 'Change Password',
- 'New_password': 'New Password',
- 'Old_password': 'Old Password',
- 'Verify_password': 'Verify Password',
- 'User_information': 'User Information',
- 'Operation_log': 'Operation Log',
- 'action': 'Action',
- 'IP_source': 'IP Source',
- 'Browser': 'Browser',
- 'Request_time': 'Request Time',
- 'Creation_date': 'Creation Date',
- 'account': 'Account',
- 'password': 'Password',
- 'verification_code': 'Code',
- 'login_rm': 'Remember Me',
- 'login': 'Login',
- 'login_ing': 'Logging in...',
- 'Create': 'Create',
- 'Update': 'Update',
- 'Delete': 'Delete',
- 'More': 'More',
- 'Export': 'Export',
- 'Editors': 'Editor',
- 'SelectAll': 'SelectAll',
- 'Query': 'Query',
- 'Reset': 'Reset',
- 'Confirm': 'Confirm',
- 'Cancel': 'Cancel',
- 'Yes': 'YES',
- 'No': 'NO',
- 'Success': 'success',
- 'Fail': 'fail',
- 'Please_select': 'Please Select',
- 'Operation_success': 'Successful operation',
- 'Upload_success': 'Upload Success',
- 'Operate': 'Operate',
- 'Refresh': 'Refresh',
- 'Closes': 'Close',
- 'Closes_l': 'Close Left',
- 'Closes_r': 'Close Right',
- 'Closes_o': 'Close Other',
- 'Closes_a': 'Close All',
- 'Theme_style_setting': 'Theme Style Setting',
- 'Theme_color': 'Theme Color',
- 'System_layout_configuration': 'System Layout Configuration',
- 'Open': 'Open',
- 'Fixation': 'Fixation',
- 'Display': 'Display',
- 'Dynamic_titles': 'Dynamic Titles',
- 'crudTip': 'Are you sure to delete this data?',
- 'startDate': 'StartDate',
- 'endDate': 'EndDate',
- 'moreMenu': 'MoreMenu',
- 'browses': 'browse',
- 'fz': 'Full screen zoom',
- 'submit': 'Submit Success',
- 'add': 'Add Success',
- 'edit': 'Edit Success',
- 'del': 'Delete Success',
- 'close': 'Confirm Close',
- 'save': 'Save Success',
- 'datas': 'Data',
- 'Tips': 'Tips',
- 'Tip1': 'Confirm to delete the selected {count} pieces of data?',
- 'Tip3': 'User name not used as login',
- 'Tip4': 'Mobile phone number cannot be duplicate',
- 'Tip5': 'Please enter a phone number',
- 'Tip6': 'Please enter the correct 11 digit phone number',
- 'Tip7': 'Drag and drop the excel file here or',
- 'Tip8': 'The two passwords are different',
- 'Tip9': 'Please enter your password again',
- 'Tip10': 'Please enter your old password',
- 'Tip11': 'Please enter your new password',
- 'Tip12': '{min} to {max} characters in length',
- 'Tip13': 'Are you sure to log out and exit the system?',
- 'Tip14': 'WebSocket connection error',
- 'Tip15': 'Please enter an icon name',
- 'Tip16': 'NOT NULL',
- 'Tip17': 'Please enter what you are searching for',
- 'loading': 'loading...',
- 'Tip18': 'select date time',
- 'Tip19': 'Are you sure to delete the selected data?',
- 'Tip20': 'The login has expired,please log in again!'
- },
- 'WorkOrder': {
- 'form': {
- 'WorkOrderCode': 'WorkOrderCode'
- },
- 'placeholder': {
- 'WorkOrderCode': 'Please enter the code'
- }
- },
- 'monitor': {
- 'sys': 'System',
- 'day': 'Running Day',
- 'status': 'Status',
- 'core': 'Core',
- 'cpu': 'CPU Utilization',
- 'memory': 'Memory Utilization',
- 'tality': 'Tality',
- 'used': 'Used',
- 'leisure': 'Leisure',
- 'exchange': 'Exchange Utilization',
- 'disk': 'Disk Utilization',
- 'cpu_monitoring': 'Cpu Utilization Monitoring',
- 'memory_monitoring': 'Memory Utilization Monitoring'
- }
-}
diff --git a/nladmin-ui/src/i18n/langs/english.js b/nladmin-ui/src/i18n/langs/english.js
deleted file mode 100644
index 07dee28..0000000
--- a/nladmin-ui/src/i18n/langs/english.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import enLocale from 'element-ui/lib/locale/lang/en'
-import en from './en'
-import menu from '../../views/system/menu/locale/en'
-import param from '../../views/system/param/locale/en'
-import user from '../../views/system/user/locale/en'
-import scheduler from '../../views/system/timing/locale/en'
-import dept from '../../views/system/dept/locale/en'
-import dict from '../../views/system/dict/locale/en'
-import redis from '../../views/system/redis/locale/en'
-import log from '../../views/monitor/log/locale/en'
-import notice from '../../views/system/notice/locale/en'
-import errorLog from '../../views/monitor/log/locale/error/en'
-import online from '../../views/monitor/online/locale/en'
-import role from '../../views/system/role/locale/en'
-import corn from '../../views/system/timing/locale/corn/en'
-import codegen from '../../views/tools/codeGen/locale/en'
-import storage from '../../views/tools/storage/locale/en'
-
-export default {
- ...enLocale,
- ...en,
- ...menu,
- ...param,
- ...user,
- ...scheduler,
- ...dept,
- ...dict,
- ...redis,
- ...log,
- ...notice,
- ...errorLog,
- ...online,
- ...role,
- ...corn,
- ...codegen,
- ...storage
-}
diff --git a/nladmin-ui/src/i18n/langs/in.js b/nladmin-ui/src/i18n/langs/in.js
deleted file mode 100644
index 122b11c..0000000
--- a/nladmin-ui/src/i18n/langs/in.js
+++ /dev/null
@@ -1,134 +0,0 @@
-export default {
- 'lang': 'in',
- // 平台
- 'platform': {
- 'title': 'NOBLELIFT Platform',
- 'tip1': 'Nama pengguna tidak dapat kosong',
- 'tip2': 'Kata sandi tidak dapat kosong',
- 'tip3': 'Kode verifikasi tidak dapat kosong'
- },
- 'common': {
- 'home': 'rumah', // 首页
- 'Layout_setting': 'Pengaturan Bentangan',
- 'Personal_center': 'Pusat Pribadi',
- 'Log_out': 'Log Out',
- 'Personal_information': 'Informasi Pribadi',
- 'username': 'Nama Pengguna',
- 'name': 'Nama',
- 'phone': 'Nomor Ponsel',
- 'phone2': 'Ponsel',
- 'sex': 'Gender',
- 'sex_male': 'laki-laki',
- 'sex_female': 'wanita',
- 'email': 'E-mail',
- 'Security_settings': 'Pengaturan Keamanan',
- 'Save_settings': 'Simpan Pengaturan',
- 'Reset_settings': 'Reset pengaturan',
- 'Change_password': 'Ubah kata sandi',
- 'New_password': 'Kata sandi baru',
- 'Old_password': 'Kata sandi lama',
- 'Verify_password': 'Konfirmasi Sandi',
- 'User_information': 'Informasi Pengguna',
- 'Operation_log': 'Log Operasi',
- 'action': 'Perilaku',
- 'Browser': 'Pelayar',
- 'IP_source': 'IP Sumber',
- 'Request_time': 'Meminta Konsumsi Waktu',
- 'Creation_date': 'Dicipta Pada',
- 'account': 'Akaun',
- 'password': 'Sandi',
- 'verification_code': 'Kode',
- 'login_rm': 'Ingat aku',
- 'login': 'Login',
- 'login_ing': 'Daftar masuk',
- 'Create': 'Buat',
- 'Update': 'Kemaskini',
- 'Delete': 'Hapus',
- 'More': 'Lebih',
- 'Export': 'Ekspor',
- 'Editors': 'Editor',
- 'SelectAll': 'Pilih Semua',
- 'Query': 'Pertanyaan',
- 'Reset': 'Reset',
- 'Confirm': 'konfirmasi',
- 'Cancel': 'Batalkan',
- 'Yes': 'Ya',
- 'No': 'Tidak',
- 'Success': 'sukses',
- 'Fail': 'gagal',
- 'Please_select': 'Silakan pilih',
- 'Operation_success': 'Operasi berhasil',
- 'Upload_success': 'Unggah Berhasil',
- 'Operate': 'Operasi',
- 'Refresh': 'Segar',
- 'Closes': 'Tutup',
- 'Closes_l': 'Tutup Sisi Kiri',
- 'Closes_r': 'Tutup Sisi Kanan',
- 'Closes_o': 'Tutup Lain',
- 'Closes_a': 'Tutup Semua',
- 'Theme_style_setting': 'Pengaturan Gaya Tema',
- 'Theme_color': 'Warna Tema',
- 'System_layout_configuration': 'Konfigurasi layout sistem',
- 'Open': 'Buka',
- 'Fixation': 'Tetap',
- 'Display': 'Tampilan',
- 'Dynamic_titles': 'Tajuk Dinamik',
- 'crudTip': 'Apakah Anda yakin untuk menghapus data ini?',
- 'startDate': 'TarikhAwal',
- 'endDate': 'TarikhAkhir',
- 'moreMenu': 'LebihBanyakMenu',
- 'browses': 'melayar',
- 'fz': 'Zum layar penuh',
- 'submit': 'Mengirim Sukses',
- 'add': 'Tambah Sukses',
- 'edit': 'Sunting Sukses',
- 'del': 'Hapus Sukses',
- 'close': 'Konfirmasi Tutup',
- 'save': 'Simpan Sukses',
- 'datas': 'Data',
- 'Tips': 'Prompt',
- 'Tip1': 'Konfirmasikan untuk menghapus {count} data yang dipilih?',
- 'Tip3': 'Nama pengguna tidak digunakan sebagai daftar masuk',
- 'Tip4': 'Nomor telepon ponsel tidak dapat duplikasi',
- 'Tip5': 'Silakan masukkan nomor telepon',
- 'Tip6': 'Silakan masukkan nomor telepon 11 digit yang benar',
- 'Tip7': 'Seret dan jatuhkan berkas Excel di sini atau',
- 'Tip8': 'Kata sandi yang dimasukkan dua kali tidak cocok',
- 'Tip9': 'Silakan masukkan sandi lagi',
- 'Tip10': 'Silakan masukkan kata sandi lama Anda',
- 'Tip11': 'Silakan masukkan sandi baru',
- 'Tip12': 'Antara {min} dan {max} karakter dalam panjang',
- 'Tip13': 'Apakah Anda yakin untuk log keluar dan keluar dari sistem?',
- 'Tip14': 'Koneksi WebSocket error',
- 'Tip15': 'Silakan masukkan nama ikon',
- 'Tip16': 'TIDAK NULL',
- 'Tip17': 'Silakan masukkan apa yang Anda cari',
- 'loading': 'Memuatkan Data...',
- 'Tip18': 'pilih tanggal waktu',
- 'Tip19': 'Apakah Anda yakin untuk menghapus data yang dipilih?',
- 'Tip20': 'Log masuk telah habis,silakan log masuk lagi!'
- },
- 'WorkOrder': {
- 'form': {
- 'WorkOrderCode': 'Kode Perintah Kerja'
- },
- 'placeholder': {
- 'WorkOrderCode': 'Silakan masukkan kode perintah kerja'
- }
- },
- 'monitor': {
- 'sys': 'Sistem',
- 'day': 'Proyek ini telah berjalan terus menerus',
- 'status': 'Keadaan',
- 'core': 'Inti',
- 'cpu': 'Kadar penggunaan CPU',
- 'memory': 'Kadar penggunaan ingatan',
- 'tality': 'Total',
- 'used': 'Digunakan',
- 'leisure': 'Bebas',
- 'exchange': 'Kadar penggunaan area pertukaran',
- 'disk': 'Kadar penggunaan disk',
- 'cpu_monitoring': 'Monitor penggunaan CPU',
- 'memory_monitoring': 'Monitor penggunaan memori'
- }
-}
diff --git a/nladmin-ui/src/i18n/langs/indonesian.js b/nladmin-ui/src/i18n/langs/indonesian.js
deleted file mode 100644
index fa0ecbd..0000000
--- a/nladmin-ui/src/i18n/langs/indonesian.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import idLocale from 'element-ui/lib/locale/lang/id'
-import id from './in'
-import menu from '../../views/system/menu/locale/in'
-import param from '../../views/system/param/locale/in'
-import user from '../../views/system/user/locale/in'
-import scheduler from '../../views/system/timing/locale/in'
-import dept from '../../views/system/dept/locale/in'
-import dict from '../../views/system/dict/locale/in'
-import redis from '../../views/system/redis/locale/in'
-import log from '../../views/monitor/log/locale/in'
-import notice from '../../views/system/notice/locale/in'
-import errorLog from '../../views/monitor/log/locale/error/in'
-import online from '../../views/monitor/online/locale/in'
-import role from '../../views/system/role/locale/in'
-import corn from '../../views/system/timing/locale/corn/in'
-import codegen from '../../views/tools/codeGen/locale/in'
-import storage from '../../views/tools/storage/locale/in'
-
-export default {
- ...idLocale,
- ...id,
- ...menu,
- ...param,
- ...user,
- ...scheduler,
- ...dept,
- ...dict,
- ...redis,
- ...log,
- ...notice,
- ...errorLog,
- ...online,
- ...role,
- ...corn,
- ...codegen,
- ...storage
-}
diff --git a/nladmin-ui/src/i18n/langs/zh-CN.js b/nladmin-ui/src/i18n/langs/zh-CN.js
deleted file mode 100644
index ef067db..0000000
--- a/nladmin-ui/src/i18n/langs/zh-CN.js
+++ /dev/null
@@ -1,134 +0,0 @@
-export default {
- 'lang': 'zh',
- // 平台
- 'platform': {
- 'title': '富佳WMS',
- 'tip1': '用户名不能为空',
- 'tip2': '密码不能为空',
- 'tip3': '验证码不能为空'
- },
- 'common': {
- 'home': '首页', // 首页
- 'Layout_setting': '布局设置',
- 'Personal_center': '个人中心',
- 'Log_out': '退出登录',
- 'Personal_information': '个人信息',
- 'username': '用户姓名',
- 'name': '姓名',
- 'phone': '手机号码',
- 'phone2': '手机号',
- 'sex': '性别',
- 'sex_male': '男',
- 'sex_female': '女',
- 'email': '用户邮箱',
- 'Security_settings': '安全设置',
- 'Save_settings': '保存配置',
- 'Reset_settings': '重置配置',
- 'Change_password': '修改密码',
- 'New_password': '新密码',
- 'Old_password': '旧密码',
- 'Verify_password': '确认密码',
- 'User_information': '用户资料',
- 'Operation_log': '操作日志',
- 'action': '行为',
- 'IP_source': 'IP来源',
- 'Browser': '浏览器',
- 'Request_time': '请求耗时',
- 'Creation_date': '创建日期',
- 'account': '账号',
- 'password': '密码',
- 'verification_code': '验证码',
- 'login_rm': '记住我',
- 'login': '登 录',
- 'login_ing': '登 录 中...',
- 'Create': '新增',
- 'Update': '修改',
- 'Delete': '删除',
- 'More': '更多',
- 'Export': '导出',
- 'Editors': '编辑',
- 'SelectAll': '全选',
- 'Query': '查询',
- 'Reset': '重置',
- 'Confirm': '确认',
- 'Cancel': '取消',
- 'Yes': '是',
- 'No': '否',
- 'Success': '成功',
- 'Fail': '失败',
- 'Please_select': '请选择',
- 'Operation_success': '操作成功',
- 'Upload_success': '上传成功',
- 'Operate': '操作',
- 'Refresh': '刷新',
- 'Closes': '关闭',
- 'Closes_l': '关闭左侧',
- 'Closes_r': '关闭右侧',
- 'Closes_o': '关闭其他',
- 'Closes_a': '关闭全部',
- 'Theme_style_setting': '主题风格设置',
- 'Theme_color': '主题颜色',
- 'System_layout_configuration': '系统布局配置',
- 'Open': '开启',
- 'Fixation': '固定',
- 'Display': '显示',
- 'Dynamic_titles': '动态标题',
- 'crudTip': '确定删除本条数据吗?',
- 'startDate': '开始日期',
- 'endDate': '结束日期',
- 'moreMenu': '更多菜单',
- 'browses': '浏览',
- 'fz': '全屏缩放',
- 'submit': '提交成功',
- 'add': '新增成功',
- 'edit': '编辑成功',
- 'del': '删除成功',
- 'close': '确认关闭',
- 'save': '保存成功',
- 'datas': '数据',
- 'Tips': '提示',
- 'Tip1': '确认删除选中的{count}条数据?',
- 'Tip3': '用户姓名不作为登录使用',
- 'Tip4': '手机号码不能重复',
- 'Tip5': '请输入电话号码',
- 'Tip6': '请输入正确的11位手机号码',
- 'Tip7': '拖拽excel文件到此处 或者',
- 'Tip8': '两次输入的密码不一致',
- 'Tip9': '请再次输入密码',
- 'Tip10': '请输入旧密码',
- 'Tip11': '请输入新密码',
- 'Tip12': '长度在 {min} 到 {max} 个字符',
- 'Tip13': '确定注销并退出系统吗?',
- 'Tip14': 'WebSocket连接发生错误',
- 'Tip15': '请输入图标名称',
- 'Tip16': '不能为空',
- 'Tip17': '请输入你要搜索的内容',
- 'loading': '数据加载中...',
- 'Tip18': '选择日期时间',
- 'Tip19': '你确定删除选中的数据吗?',
- 'Tip20': '当前登录状态已过期,请重新登录!'
- },
- 'WorkOrder': {
- 'form': {
- 'WorkOrderCode': '工单编码'
- },
- 'placeholder': {
- 'WorkOrderCode': '请输入工单编码'
- }
- },
- 'monitor': {
- 'sys': '系统',
- 'day': '项目已不间断运行',
- 'status': '状态',
- 'cpu': 'CPU使用率',
- 'core': '核心',
- 'memory': '内存使用率',
- 'tality': '总量',
- 'used': '已使用',
- 'leisure': '空闲',
- 'exchange': '交换区使用率',
- 'disk': '磁盘使用率',
- 'cpu_monitoring': 'CPU使用率监控',
- 'memory_monitoring': '内存使用率监控'
- }
-}
diff --git a/nladmin-ui/src/main.js b/nladmin-ui/src/main.js
index 0bc4fe0..f4cbc25 100644
--- a/nladmin-ui/src/main.js
+++ b/nladmin-ui/src/main.js
@@ -33,7 +33,11 @@ import './router/index' // permission control
import 'echarts-gl'
import 'jquery'
-
+// add-xy start
+import { fetchMessages } from '@/api/i18n' // 有一个API模块来获取语言文件
+// 当前语言,可以从本地存储、用户设置或URL参数中获取
+const currentLocale = localStorage.getItem('lang')
+// add-xy end
// 全局引入LogicFlow
import LogicFlow from '@logicflow/core'
import { Menu } from '@logicflow/extension'
@@ -100,3 +104,12 @@ new Vue({
i18n,
render: h => h(App)
})
+
+// add-xy start
+// 异步获取语言文件
+fetchMessages(currentLocale).then(messages => {
+ // 将获取到的消息设置到i18n实例
+ i18n.setLocaleMessage(currentLocale, messages)
+ // 设置当前语言
+ i18n.locale = currentLocale
+})
diff --git a/nladmin-ui/src/router/routers.js b/nladmin-ui/src/router/routers.js
index 3c0a61d..84050cf 100644
--- a/nladmin-ui/src/router/routers.js
+++ b/nladmin-ui/src/router/routers.js
@@ -42,7 +42,7 @@ export const constantRouterMap = [
path: 'dashboard',
component: (resolve) => require(['@/views/system/redis/index'], resolve),
name: 'Dashboard',
- meta: { title: i18n.t('menu.home'), icon: 'index', affix: true, noCache: true }
+ meta: { title: i18n.t('common.home'), icon: 'index', affix: true, noCache: true }
// meta: { title: '首页', icon: 'index', affix: true, noCache: true }
}
]
diff --git a/nladmin-ui/src/views/login.vue b/nladmin-ui/src/views/login.vue
index d723e61..460d711 100644
--- a/nladmin-ui/src/views/login.vue
+++ b/nladmin-ui/src/views/login.vue
@@ -28,7 +28,7 @@
-
+
{{ language }}
@@ -108,6 +108,18 @@ export default {
},
methods: {
// 中英文切换
+ // 语言切换-x
+ async changeLanguage(locale) {
+ // 如果已经加载过该语言,可以直接设置,避免重复请求
+ if (!this.$i18n.getLocaleMessage(locale)) {
+ const messages = await fetchMessages(locale)
+ this.$i18n.setLocaleMessage(locale, messages)
+ }
+ this.$i18n.locale = locale
+ // 可以将当前语言保存到本地存储,以便下次使用
+ localStorage.setItem('lang', locale)
+ this.setLang(locale)
+ },
langChange(command) {
this.$i18n.locale = command
localStorage.setItem('lang', command)