add en/vi language
This commit is contained in:
197
locales/en.json
Normal file
197
locales/en.json
Normal file
@@ -0,0 +1,197 @@
|
||||
{
|
||||
"common": {
|
||||
"app_name": "Sea Gateway",
|
||||
"footer_text": "Product of Mobifone v1.0",
|
||||
"ok": "OK",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"back": "Back",
|
||||
"next": "Next",
|
||||
"previous": "Previous",
|
||||
"loading": "Loading...",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"language": "Language",
|
||||
"language_vi": "Vietnamese",
|
||||
"language_en": "English"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Monitor",
|
||||
"diary": "Diary",
|
||||
"sensor": "Sensor",
|
||||
"trip": "Trip",
|
||||
"setting": "Settings"
|
||||
},
|
||||
"home": {
|
||||
"welcome": "Welcome",
|
||||
"noData": "No data available",
|
||||
"gpsInfo": "GPS Information",
|
||||
"tripActive": "Active Trip",
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude",
|
||||
"speed": "Speed",
|
||||
"heading": "Heading",
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"sos": {
|
||||
"title": "Emergency Alert",
|
||||
"active": "In Emergency State",
|
||||
"inactive": "Emergency",
|
||||
"description": "Emergency Notification",
|
||||
"content": "Content:",
|
||||
"selectReason": "Select reason",
|
||||
"statusInput": "Enter status",
|
||||
"enterStatus": "Describe emergency status",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel",
|
||||
"statusRequired": "Please enter status",
|
||||
"sendError": "Unable to send SOS signal"
|
||||
}
|
||||
},
|
||||
"trip": {
|
||||
"createNewTrip": "Create New Trip",
|
||||
"endTrip": "End Trip",
|
||||
"cancelTrip": "Cancel Trip",
|
||||
"tripStatus": "Trip Status",
|
||||
"tripDuration": "Trip Duration",
|
||||
"distance": "Distance",
|
||||
"speed": "Speed",
|
||||
"startTime": "Start Time",
|
||||
"endTime": "End Time",
|
||||
"startTrip": "Start Trip",
|
||||
"endHaul": "End Haul",
|
||||
"startHaul": "Start Haul",
|
||||
"endHaulConfirm": "Are you sure you want to end this haul?",
|
||||
"endHaulTitle": "End Haul",
|
||||
"startHaulConfirm": "Do you want to start a new haul?",
|
||||
"startHaulTitle": "Start Haul",
|
||||
"cancelButton": "Cancel",
|
||||
"endButton": "End",
|
||||
"startButton": "Start",
|
||||
"successTitle": "Success",
|
||||
"endHaulSuccess": "Haul ended successfully!",
|
||||
"startHaulSuccess": "New haul started successfully!",
|
||||
"startTripSuccess": "Trip started successfully!",
|
||||
"alreadyStarted": "Trip has already been started or completed.",
|
||||
"finishCurrentHaul": "Please finish the current haul before starting a new one",
|
||||
"createHaulFailed": "Failed to create new haul!",
|
||||
"weatherDescription": "Clear",
|
||||
"costTable": {
|
||||
"title": "Trip Cost",
|
||||
"typeHeader": "Type",
|
||||
"totalCostHeader": "Total Cost",
|
||||
"totalLabel": "Total",
|
||||
"viewDetail": "View Details"
|
||||
},
|
||||
"fishingTools": {
|
||||
"title": "Fishing Tools List",
|
||||
"nameHeader": "Name",
|
||||
"quantityHeader": "Quantity",
|
||||
"totalLabel": "Total"
|
||||
},
|
||||
"crewList": {
|
||||
"title": "Crew List",
|
||||
"nameHeader": "Name",
|
||||
"roleHeader": "Role",
|
||||
"totalLabel": "Total"
|
||||
},
|
||||
"netList": {
|
||||
"title": "Haul List",
|
||||
"sttHeader": "No.",
|
||||
"statusHeader": "Status",
|
||||
"completed": "Completed",
|
||||
"pending": "Pending",
|
||||
"haulPrefix": "Haul"
|
||||
},
|
||||
"createHaulModal": {
|
||||
"title": "Catch Information",
|
||||
"addSuccess": "Catch added successfully",
|
||||
"addError": "Failed to add catch",
|
||||
"updateSuccess": "Catch updated successfully",
|
||||
"updateError": "Failed to update catch",
|
||||
"fishName": "Fish Name",
|
||||
"selectFish": "Select fish species",
|
||||
"quantity": "Quantity",
|
||||
"unit": "Unit",
|
||||
"size": "Size",
|
||||
"optional": "Optional",
|
||||
"addFish": "Add Fish",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"edit": "Edit",
|
||||
"done": "Done",
|
||||
"fishListNotReady": "Fish species list not ready",
|
||||
"gpsError": "Unable to get current GPS data",
|
||||
"validationError": "Please add at least 1 fish species"
|
||||
},
|
||||
"crewDetailModal": {
|
||||
"title": "Crew Information",
|
||||
"personalId": "Personal ID",
|
||||
"fullName": "Full Name",
|
||||
"role": "Role",
|
||||
"birthDate": "Date of Birth",
|
||||
"phone": "Phone",
|
||||
"address": "Address",
|
||||
"joinedDate": "Joined Date",
|
||||
"note": "Note",
|
||||
"status": "Status",
|
||||
"working": "Working",
|
||||
"resigned": "Resigned",
|
||||
"notUpdated": "Not updated"
|
||||
},
|
||||
"costDetailModal": {
|
||||
"title": "Trip Cost Details",
|
||||
"costType": "Cost Type",
|
||||
"quantity": "Quantity",
|
||||
"unit": "Unit",
|
||||
"costPerUnit": "Cost Per Unit (VND)",
|
||||
"totalCost": "Total Cost",
|
||||
"total": "Total",
|
||||
"edit": "Edit",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"enterCostType": "Enter cost type",
|
||||
"placeholder": "e.g. kg, liters",
|
||||
"vnd": "VND"
|
||||
},
|
||||
"buttonEndTrip": {
|
||||
"title": "End",
|
||||
"endTrip": "End Trip"
|
||||
},
|
||||
"buttonCancelTrip": {
|
||||
"title": "Cancel Trip"
|
||||
},
|
||||
"infoSection": {
|
||||
"sttLabel": "No.",
|
||||
"haulPrefix": "Haul",
|
||||
"statusLabel": "Status",
|
||||
"statusCompleted": "Completed",
|
||||
"statusPending": "Pending",
|
||||
"startTimeLabel": "Start Time",
|
||||
"endTimeLabel": "End Time",
|
||||
"notUpdated": "Not updated"
|
||||
}
|
||||
},
|
||||
"alarm": {
|
||||
"title": "Alarm",
|
||||
"noAlarm": "No alarm",
|
||||
"warning": "Warning",
|
||||
"danger": "Danger",
|
||||
"critical": "Critical"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"username": "Username",
|
||||
"username_placeholder": "Enter username",
|
||||
"password": "Password",
|
||||
"password_placeholder": "Enter password",
|
||||
"loginError": "Login failed. Please try again.",
|
||||
"sessionExpired": "Your session has expired. Please login again."
|
||||
}
|
||||
}
|
||||
198
locales/vi.json
Normal file
198
locales/vi.json
Normal file
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"common": {
|
||||
"app_name": "Hệ thống giám sát tàu cá",
|
||||
"footer_text": "Sản phẩm của Mobifone v1.0",
|
||||
"ok": "OK",
|
||||
"cancel": "Hủy",
|
||||
"save": "Lưu",
|
||||
"delete": "Xóa",
|
||||
"edit": "Chỉnh sửa",
|
||||
"add": "Thêm",
|
||||
"close": "Đóng",
|
||||
"back": "Quay lại",
|
||||
"next": "Tiếp theo",
|
||||
"previous": "Quay lại",
|
||||
"loading": "Đang tải...",
|
||||
"error": "Lỗi",
|
||||
"success": "Thành công",
|
||||
"warning": "Cảnh báo",
|
||||
"language": "Ngôn ngữ",
|
||||
"language_vi": "Tiếng Việt",
|
||||
"language_en": "Tiếng Anh"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Giám sát",
|
||||
"diary": "Nhật ký",
|
||||
"sensor": "Cảm biến",
|
||||
"trip": "Chuyến đi",
|
||||
"setting": "Cài đặt"
|
||||
},
|
||||
"home": {
|
||||
"welcome": "Chào mừng",
|
||||
"noData": "Không có dữ liệu",
|
||||
"gpsInfo": "Thông tin GPS",
|
||||
"tripActive": "Chuyến hoạt động",
|
||||
"latitude": "Vĩ độ",
|
||||
"longitude": "Kinh độ",
|
||||
"speed": "Tốc độ",
|
||||
"heading": "Hướng",
|
||||
"offline": "Ngoại tuyến",
|
||||
"online": "Trực tuyến",
|
||||
"sos": {
|
||||
"title": "Thông báo khẩn cấp",
|
||||
"active": "Đang trong trạng thái khẩn cấp",
|
||||
"inactive": "Khẩn cấp",
|
||||
"description": "Thông báo khẩn cấp",
|
||||
"content": "Nội dung:",
|
||||
"selectReason": "Chọn lý do",
|
||||
"statusInput": "Nhập trạng thái",
|
||||
"enterStatus": "Mô tả trạng thái khẩn cấp",
|
||||
"confirm": "Xác nhận",
|
||||
"cancel": "Hủy",
|
||||
"statusRequired": "Vui lòng nhập trạng thái",
|
||||
"sendError": "Không thể gửi tín hiệu SOS"
|
||||
}
|
||||
},
|
||||
"trip": {
|
||||
"createNewTrip": "Tạo chuyến mới",
|
||||
"endTrip": "Kết thúc chuyến",
|
||||
"cancelTrip": "Hủy chuyến",
|
||||
"tripStatus": "Trạng thái chuyến",
|
||||
"tripDuration": "Thời lượng chuyến",
|
||||
"distance": "Khoảng cách",
|
||||
"speed": "Tốc độ",
|
||||
"startTime": "Thời gian bắt đầu",
|
||||
"endTime": "Thời gian kết thúc",
|
||||
"startTrip": "Bắt đầu chuyến đi",
|
||||
"endHaul": "Kết thúc mẻ lưới",
|
||||
"startHaul": "Bắt đầu mẻ lưới",
|
||||
"endHaulConfirm": "Bạn có chắc chắn muốn kết thúc mẻ lưới này?",
|
||||
"endHaulTitle": "Kết thúc mẻ lưới",
|
||||
"startHaulConfirm": "Bạn có muốn bắt đầu mẻ lưới mới?",
|
||||
"startHaulTitle": "Bắt đầu mẻ lưới",
|
||||
"cancelButton": "Hủy",
|
||||
"endButton": "Kết thúc",
|
||||
"startButton": "Bắt đầu",
|
||||
"successTitle": "Thành công",
|
||||
"endHaulSuccess": "Đã kết thúc mẻ lưới!",
|
||||
"startHaulSuccess": "Đã bắt đầu mẻ lưới mới!",
|
||||
"startTripSuccess": "Bắt đầu chuyến đi thành công!",
|
||||
"alreadyStarted": "Chuyến đi đã được bắt đầu hoặc hoàn thành.",
|
||||
"finishCurrentHaul": "Vui lòng kết thúc mẻ lưới hiện tại trước khi bắt đầu mẻ mới",
|
||||
"createHaulFailed": "Tạo mẻ lưới mới thất bại!",
|
||||
"weatherDescription": "Nắng đẹp",
|
||||
"costTable": {
|
||||
"title": "Chi phí chuyến đi",
|
||||
"typeHeader": "Loại",
|
||||
"totalCostHeader": "Tổng chi phí",
|
||||
"totalLabel": "Tổng cộng",
|
||||
"viewDetail": "Xem chi tiết"
|
||||
},
|
||||
"fishingTools": {
|
||||
"title": "Danh sách ngư cụ",
|
||||
"nameHeader": "Tên",
|
||||
"quantityHeader": "Số lượng",
|
||||
"totalLabel": "Tổng cộng"
|
||||
},
|
||||
"crewList": {
|
||||
"title": "Danh sách thuyền viên",
|
||||
"nameHeader": "Tên",
|
||||
"roleHeader": "Chức vụ",
|
||||
"totalLabel": "Tổng cộng"
|
||||
},
|
||||
"netList": {
|
||||
"title": "Danh sách mẻ lưới",
|
||||
"sttHeader": "STT",
|
||||
"statusHeader": "Trạng thái",
|
||||
"completed": "Đã hoàn thành",
|
||||
"pending": "Chưa hoàn thành",
|
||||
"haulPrefix": "Mẻ"
|
||||
},
|
||||
"createHaulModal": {
|
||||
"title": "Thông tin mẻ cá",
|
||||
"addSuccess": "Thêm mẻ cá thành công",
|
||||
"addError": "Thêm mẻ cá thất bại",
|
||||
"updateSuccess": "Cập nhật mẻ cá thành công",
|
||||
"updateError": "Cập nhật mẻ cá thất bại",
|
||||
"fishName": "Tên cá",
|
||||
"selectFish": "Chọn loài cá",
|
||||
"quantity": "Số lượng",
|
||||
"unit": "Đơn vị",
|
||||
"size": "Kích thước",
|
||||
"optional": "Không bắt buộc",
|
||||
"addFish": "Thêm cá",
|
||||
"save": "Lưu",
|
||||
"cancel": "Hủy",
|
||||
"edit": "Chỉnh sửa",
|
||||
"done": "Xong",
|
||||
"fishListNotReady": "Danh sách loài cá chưa sẵn sàng",
|
||||
"gpsError": "Không thể lấy dữ liệu GPS hiện tại",
|
||||
"validationError": "Vui lòng thêm ít nhất 1 loài cá"
|
||||
},
|
||||
"crewDetailModal": {
|
||||
"title": "Thông tin thuyền viên",
|
||||
"personalId": "Mã định danh",
|
||||
"fullName": "Họ và tên",
|
||||
"role": "Chức vụ",
|
||||
"birthDate": "Ngày sinh",
|
||||
"phone": "Số điện thoại",
|
||||
"address": "Địa chỉ",
|
||||
"joinedDate": "Ngày vào làm",
|
||||
"note": "Ghi chú",
|
||||
"status": "Tình trạng",
|
||||
"working": "Đang làm việc",
|
||||
"resigned": "Đã nghỉ",
|
||||
"notUpdated": "Chưa cập nhật"
|
||||
},
|
||||
"costDetailModal": {
|
||||
"title": "Chi tiết chi phí chuyến đi",
|
||||
"costType": "Loại chi phí",
|
||||
"quantity": "Số lượng",
|
||||
"unit": "Đơn vị",
|
||||
"costPerUnit": "Chi phí/đơn vị (VNĐ)",
|
||||
"totalCost": "Tổng chi phí",
|
||||
"total": "Tổng cộng",
|
||||
"edit": "Chỉnh sửa",
|
||||
"save": "Lưu",
|
||||
"cancel": "Hủy",
|
||||
"enterCostType": "Nhập loại chi phí",
|
||||
"placeholder": "ví dụ: kg, lít",
|
||||
"vnd": "VNĐ"
|
||||
},
|
||||
"buttonEndTrip": {
|
||||
"title": "Kết thúc",
|
||||
"endTrip": "Kết thúc chuyến"
|
||||
},
|
||||
"buttonCancelTrip": {
|
||||
"title": "Hủy chuyến đi"
|
||||
},
|
||||
"infoSection": {
|
||||
"sttLabel": "Số thứ tự",
|
||||
"haulPrefix": "Mẻ",
|
||||
"statusLabel": "Trạng thái",
|
||||
"statusCompleted": "Đã hoàn thành",
|
||||
"statusPending": "Chưa hoàn thành",
|
||||
"startTimeLabel": "Thời gian bắt đầu",
|
||||
"endTimeLabel": "Thời gian kết thúc",
|
||||
"notUpdated": "Chưa cập nhật"
|
||||
}
|
||||
},
|
||||
"alarm": {
|
||||
"title": "Cảnh báo",
|
||||
"noAlarm": "Không có cảnh báo",
|
||||
"warning": "Cảnh báo",
|
||||
"danger": "Nguy hiểm",
|
||||
"critical": "Rất nguy hiểm"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Đăng nhập",
|
||||
"logout": "Đăng xuất",
|
||||
"username": "Tài khoản",
|
||||
"username_placeholder": "Nhập tài khoản",
|
||||
|
||||
"password": "Mật khẩu",
|
||||
"password_placeholder": "Nhập mật khẩu",
|
||||
"loginError": "Đăng nhập thất bại. Vui lòng thử lại.",
|
||||
"sessionExpired": "Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user