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)