package localized

import m "github.com/UpmeshLTD/urus-aio/infrastructure/errors/messages"

var English = map[interface{}]string{
	// common
	m.InternalServer:               "Internal Server.",
	m.Other:                        "Undefined error.",
	m.VariableEmpty:                "%s is empty.",
	m.VariableInvalid:              "%s is invalid.",
	m.FailedToCallAPI:              "Failed to call API: %s.",
	m.FailedToGetResponse:          "Failed to get response: %s.",
	m.FailedToParseJson:            "Failed to parse JSON: %s.",
	m.FailedToDecodeMapstructure:   "Failed to decode mapstructure: %s.",
	m.FailedToLoadLocationTimeZone: "Failed to load location time zone.",

	// seller courier
	m.MerchantIDInvalidDigitNumbers: "MerchantID must be digit numbers.",

	// shipment
	m.SenderPhoneEmpty:                         "Pickup point phone number is empty.",
	m.SenderPhoneInvalidThai:                   "Pickup point phone number is invalid. Phone has 10 digit numbers and should begin with 06, 08 and 09.",
	m.SenderPostalCodeInvalid:                  "Pickup point postal code is invalid.",
	m.SenderCityInvalid:                        "Pickup point city not match address data.",
	m.SenderProvinceInvalid:                    "Pickup point province not match address data.",
	m.SenderSubLevelLocationInvalid:            "Pickup point sub level location is invalid or missing params.",
	m.ReceiverPhoneEmpty:                       "Receiver phone number is empty.",
	m.ReceiverPhoneInvalid:                     "Receiver phone number is invalid.",
	m.ReceiverPhoneInvalidThai:                 "Receiver phone number is invalid. Phone has 10 digit numbers and should begin with 06, 08 and 09.",
	m.ReceiverPostalCodeInvalid:                "Receiver postal code is invalid.",
	m.ReceiverCityInvalid:                      "Receiver city not match address data.",
	m.ReceiverProvinceInvalid:                  "Receiver province not match address data.",
	m.ReceiverSubLevelLocationInvalid:          "Receiver sub level location is invalid or missing params.",
	m.ShipmentCodeEmpty:                        "Shipment code is empty.",
	m.OtherShipmentError:                       "Undefined shipment error",
	m.ShopInfoNotFound:                         "ShopID and ShopName not setup yet.",
	m.CourierNotRegister:                       "Courier not register or invalid.",
	m.CartIdsAlreadyExistInShipment:            "These cartID(s) already exist in shipment: %s.",
	m.FailedToDecryptCourierAuthenticationInfo: "Failed to decrypt courier authentication info: %s.",
	m.FailedToCreateShipment:                   "Failed to create shipment: %s.",
	m.FailedToUpdateShipment:                   "Failed to update shipment: %s.",
	m.FailedToCancelShipment:                   "Failed to cancel shipment: %s.",
	m.FailedToGetShipment:                      "Failed to get shipment: %s.",
	m.FailedToGetShippingLabel:                 "Failed to get shipping label: %s.",
	m.CourierAuthenticationInvalid:             "Courier not register or invalid.",
	m.RecipientAddressInvalid:                  "Delivery address is not serviceable.",
	m.RecipientPhoneInvalid:                    "Recipient phone number is invalid.",
	m.DimensionInvalid:                         "Dimension is invalid.",
	m.PickupAddressInvalid:                     "Pickup address is not serviceable.",
	m.PickupAddressAndRecipientAddressInvalid:  "Delivery address and Pickup address are not serviceable.",
	m.SenderNameEmpty:                          "The sender's name is empty.",
	m.SenderPhoneInvalid:                       "The sender's phone number is invalid.",
	m.SenderPostalCodeEmpty:                    "The zip code of the pickup point is empty.",
	m.OrderItemsEmpty:                          "The order items is empty.",
	m.PDFInvalid:                               "Invalid PDF file.",
	m.DeliveryPlanInvalid:                      "Delivery plan invalid.",

	// fulfillment
	m.PickupStartTimeInvalid:        "Pickup start time is invalid.",
	m.PickupStartTimeOutOfRange:     "Pickup start time must be between 9AM to 6PM.",
	m.PickupEndTimeInvalid:          "Pickup end time is invalid.",
	m.PickupEndTimeOutOfRange:       "Pickup end time must be between 9AM to 6PM.",
	m.PickupEndTimeNotSameStartDate: "Pickup start time and pickup end time must be the same day.",
	m.PickupTimeOnWeekend:           "Pickup time must be from Monday to Saturday.",
	m.PickupTimeslotInvalid:         "Pickup timeslot is invalid.",
	m.PickupTimeslotUnavailable:     "The time slot selected for collecting your order is no more available. Please select another one.",

	// shipment - jt th
	m.JntThaiS01:   "logistics_interface data does not conform to JSON format standards.",
	m.JntThaiS02:   "The data_digest signature is incorrect and has not passed the checksum.",
	m.JntThaiS03:   "The eccompany id is incorrect and has not passed the checksum.",
	m.JntThaiS04:   "The value of the service type msg_type is not in the scope specified by the document.",
	m.JntThaiS05:   "The content format in logistics_interface is incorrect.",
	m.JntThaiS06:   "If the response is not received within 30 seconds when the order is created, it is considered to be timeout.",
	m.JntThaiS07:   "Database exception or other system error.",
	m.JntThaiS08:   "Eccompanyid error.",
	m.JntThaiS09:   "Freight query, shipment tracking query returns when there is no record.",
	m.JntThaiS10:   "Duplicate order number.",
	m.JntThaiS11:   "Repeating waybill number.",
	m.JntThaiS12:   "Order status is GOT can not cancel order.",
	m.JntThaiS13:   "Customer information does not exist.",
	m.JntThaiS15:   "Order does not exist.",
	m.JntThaiS16:   "Waybill number does not exist.",
	m.JntThaiS17:   "Connect to the database or process execution exception.",
	m.JntThaiS18:   "Customer number does not exist in the shop table.",
	m.JntThaiB002:  "Customer ID can not be empty.",
	m.JntThaiB003:  "Order number can not be empty.",
	m.JntThaiB004:  "Order type can not be empty.",
	m.JntThaiB005:  "Service type can not be empty.",
	m.JntThaiB006:  "Sender name can not be empty.",
	m.JntThaiB008:  "Sender mobile can not be empty.",
	m.JntThaiB010:  "Sender city can not be empty.",
	m.JntThaiB011:  "Sender area can not be empty.",
	m.JntThaiB012:  "Sender address can not be empty.",
	m.JntThaiB013:  "Receiver name can not be empty.",
	m.JntThaiB014:  "Receiver mobile can not be empty.",
	m.JntThaiB016:  "Receiver city can not be empty.",
	m.JntThaiB017:  "Receiver area can not be empty.",
	m.JntThaiB018:  "Receiver address can not be empty.",
	m.JntThaiB019:  "Order creation time can not be empty.",
	m.JntThaiB020:  "Pick-up start time can not be empty.",
	m.JntThaiB021:  "Pick-up end time can not be empty.",
	m.JntThaiB022:  "Payment method can not be empty.",
	m.JntThaiB023:  "Total quantity can not be empty.",
	m.JntThaiB024:  "Item value can not be empty.",
	m.JntThaiB025:  "Item name can not be empty (Chinese).",
	m.JntThaiB026:  "Item name can not be empty (English).",
	m.JntThaiB027:  "Number of items can not be empty.",
	m.JntThaiB028:  "Item value can not be empty.",
	m.JntThaiB029:  "Item url can not be empty.",
	m.JntThaiB030:  "When the order type is a transfer order or a return order.",
	m.JntThaiB031:  "When the order type is a transfer order or a return order.",
	m.JntThaiB032:  "Receiver area does not exist.",
	m.JntThaiB033:  "Can not find the receiving area according to the receiving postal code.",
	m.JntThaiB034:  "The receiving office does not exist.",
	m.JntThaiB035:  "Items list length exceeds 10.",
	m.JntThaiB060:  "Order operation type can not be empty.",
	m.JntThaiB062:  "Shipment downtown error.",
	m.JntThaiB063:  "Incoming province downtown error.",
	m.JntThaiB064:  "Weight can not be empty.",
	m.JntThaiB065:  "Order type operation is illegal.",
	m.JntThaiB066:  "Order number can not be empty.",
	m.JntThaiB067:  "Waybill number can not be empty.",
	m.JntThaiB068:  "Waybill does not match current e-commerce.",
	m.JntThaiB069:  "Cancel the number of orders is 0.",
	m.JntThaiB070:  "Save failed.",
	m.JntThaiB071:  "Entry number does not exist.",
	m.JntThaiB072:  "Order file creation failed.",
	m.JntThaiB073:  "Remark longer than 400.",
	m.JntThaiB074:  "Weight over 50kg.",
	m.JntThaiB075:  "Incorrect length, width and height.",
	m.JntThaiB076:  "One side can not exceed 100 CM.",
	m.JntThaiB077:  "COD exceeds the maximum limit.",
	m.JntThaiB078:  "Shipping information can not be empty.",
	m.JntThaiB079:  "Receiving information can not be empty.",
	m.JntThaiB080:  "Face sheet type can not be empty.",
	m.JntThaiB081:  "E-commerce registration - Registration information already exists.",
	m.JntThaiB083:  "E-commerce registration - Customer ID is too long.",
	m.JntThaiB084:  "E-commerce registration - Customer information does not exist.",
	m.JntThaiB085:  "E-commerce registration - Registration failed.",
	m.JntThaiB086:  "E-commerce registration - The outlet information does not exist.",
	m.JntThaiB087:  "E-commerce registration - Customer quote is not maintained.",
	m.JntThaiB088:  "E-commerce registration - Customer ID can not be empty.",
	m.JntThaiB089:  "E-commerce registration - Name can not be empty.",
	m.JntThaiB090:  "E-commerce registration - Phone can not be empty.",
	m.JntThaiB091:  "E-commerce registration - Address can not be empty.",
	m.JntThaiB092:  "E-commerce registration - PostCode can not be empty.",
	m.JntThaiB093:  "E-commerce registration - Source can not be empty.",
	m.JntThaiB094:  "Shipping zip code is incorrect format.",
	m.JntThaiB095:  "Receiving postal code is incorrect format.",
	m.JntThaiB096:  "Pick-up start time is incorrect format.",
	m.JntThaiB097:  "Pick-up end time is incorrect format.",
	m.JntThaiB098:  "Creation time is incorrect format.",
	m.JntThaiB0101: "Sender phone number is incorrect.",
	m.JntThaiB0102: "Receiver phone number is incorrect.",
	m.JntThaiB0103: "Receiver phone number is incorrect.",
	m.JntThaiB0104: "Receiver mobile number is incorrect.",
	m.JntThaiB0106: "COD is incorrect format.",
	m.JntThaiB0110: "Length, width and height should not exceed 100 cm on one side and 180 cm on three sides.",
	m.JntThaiB0107: "Receiver address type can not be empty.",

	// shipment - flash
	m.FlashErrorCode0:    "Internal server error.",
	m.FlashErrorCode1000: "Failed to submit.",
	m.FlashErrorCode1001: "Customer not found.",
	m.FlashErrorCode1002: "Invalid signature.",
	m.FlashErrorCode1003: "Order is exists.",
	m.FlashErrorCode1004: "Sender address does not match.",
	m.FlashErrorCode1005: "Destination address does not match.",
	m.FlashErrorCode1006: "Order not found.",
	m.FlashErrorCode1007: "Warehouse not found.",
	m.FlashErrorCode1008: "COD Service is not registered.",
	m.FlashErrorCode1009: "COD amount cannot be negative value.",
	m.FlashErrorCode1010: "Incomplete schedule of pickup is exists, no schedule of pickup is required.",
	m.FlashErrorCode1011: "This courier notification can't be cancelled.",
	m.FlashErrorCode1015: "Parcel is picked up, not allowed to cancel.",
	m.FlashErrorCode1018: "Either sender's address and warehouse no should be sent.",
	m.FlashErrorCode1019: "pno and mchId not match.",
	m.FlashErrorCode1020: "insureDeclareValue cannot be negative value.",
	m.FlashErrorCode1021: "Postal Code should be 5 digit number.",
	m.FlashErrorCode1022: "Sender's address are not in service range yet.",
	m.FlashErrorCode1035: "Sub-customer does not exist.",
	m.FlashErrorCode1052: "Drainage platform customer does not exist.",

	// shipment - flash - submit failed
	m.FlashConsigneeRegionNotMatch:    "Consignee region does not match.",
	m.FlashSenderRegionNotMatch:       "Sender region does not match.",
	m.FlashSumDimensions:              "Sum of length, width and height exceeds the limit [280cm].",
	m.FlashWeightExceedMaximum:        "Parcel weight Maximum can not be more than 50kg.",
	m.FlashLengthOutOfRange:           "Please input the length correctly [1-150cm].",
	m.FlashWidthOutOfRange:            "Please input the width correctly [1-150cm].",
	m.FlashHeightOutOfRange:           "Please input the height correctly [1-150cm].",
	m.FlashPostalCodeNotMatch:         "Postal code does not match.",
	m.FlashConsigneeNameExceedMaximum: "The consignees name Length needs to be between 0 and 50.",
	m.FlashSenderNameExceedMaximum:    "Sender name Length needs to be between 0 and 50.",

	// JnT MY shipment
	m.JntMalaysiaWeightInvalid:                   "Weight field should be 0-100kg.",
	m.JntMalaysiaDimensionsInvalid:               "Total of dimension fields should be 0-350cm.",
	m.JntMalaysiaCourierAuthenticationInfoFailed: "CustomerCode and Password not setup yet.",

	// shipment - jnt - my - create order
	m.JntMalaysiaCreateOrderS01: "Illegal JSON format.",
	m.JntMalaysiaCreateOrderS02: "Illegal Signature.",
	m.JntMalaysiaCreateOrderS05: "System Error.",
	m.JntMalaysiaCreateOrderS06: "No Data.",
	m.JntMalaysiaCreateOrderS07: "System no connection.",
	m.JntMalaysiaCreateOrderS10: "OrderID duplicate.",
	m.JntMalaysiaCreateOrderS11: "Waybill duplicate.",
	m.JntMalaysiaCreateOrderS13: "Customer code or password was wrong.",
	m.JntMalaysiaCreateOrderS14: "OrderID cannot be empty.",
	m.JntMalaysiaCreateOrderS18: "Sender address cannot be empty.",
	m.JntMalaysiaCreateOrderS19: "Receiver address cannot be empty.",
	m.JntMalaysiaCreateOrderS21: "Sender area city wrong.",
	m.JntMalaysiaCreateOrderS22: "Receiver area city wrong.",
	m.JntMalaysiaCreateOrderS29: "Sender postcode cannot be empty.",
	m.JntMalaysiaCreateOrderS30: "Receiver postcode cannot be empty.",
	m.JntMalaysiaCreateOrderS31: "Sender postcode does not exist.",
	m.JntMalaysiaCreateOrderS32: "Receiver postcode does not exist.",
	m.JntMalaysiaCreateOrderS33: "Invalid weight.",
	m.JntMalaysiaCreateOrderS34: "Customer code cannot be empty.",
	m.JntMalaysiaCreateOrderS35: "Sender name cannot be empty.",
	m.JntMalaysiaCreateOrderS36: "Sender phone number cannot be empty.",
	m.JntMalaysiaCreateOrderS37: "Receiver name cannot be empty.",
	m.JntMalaysiaCreateOrderS38: "Receiver phone number cannot be empty.",
	m.JntMalaysiaCreateOrderS39: "Quantity cannot be empty.",
	m.JntMalaysiaCreateOrderS40: "Weight cannot be empty.",
	m.JntMalaysiaCreateOrderS41: "Pay type cannot be empty.",
	m.JntMalaysiaCreateOrderS42: "Pay type wrong.",
	m.JntMalaysiaCreateOrderS43: "Service type cannot be empty.",
	m.JntMalaysiaCreateOrderS46: "Total of dimension fields should be 0-350cm and weight field should be 0-100kg.",
	m.JntMalaysiaCreateOrderS60: "COD of DP not enabled.",
	m.JntMalaysiaCreateOrderS61: "COD of VIP not enabled.",
	m.JntMalaysiaCreateOrderS62: "Over COD limit of DP.",
	m.JntMalaysiaCreateOrderS63: "Over COD limit of VIP.",

	// shipment - jnt - my - cancel order
	m.JntMalaysiaCancelOrderS01: "The parameter is empty/formatted incorrectly.",
	m.JntMalaysiaCancelOrderS02: "Signature is empty / Signature error.",
	m.JntMalaysiaCancelOrderS03: "AWB Number is empty.",
	m.JntMalaysiaCancelOrderS04: "AWB Number does not exist.",
	m.JntMalaysiaCancelOrderS05: "Order has been picked up / canceled.",
	m.JntMalaysiaCancelOrderS06: "Cancel failure.",
	m.JntMalaysiaCancelOrderS07: "Server Error.",

	// JnT SG shipment
	m.JntSingaporePickupPostalCodeInvalid: "The pickup point postal code must be a 6 digit number.",
	m.JntSingaporeWeightInvalid:           "Out of the specified range 0 ~ 30kg.",
	m.JntSingaporeDimensionInvalid:        "Can't exceed maximum length, width, height 150cm.",
	m.JntSingaporeMaximumDimensions:       "Can't exceed maximum dimension (L+W+H) 300cm.",

	m.JntSingaporeUnauthorized:               "Unauthorized.",
	m.JntSingaporeInvalidToken:               "Invalid token.",
	m.JntSingaporeRequestTooFrequent:         "Request too frequent.",
	m.JntSingaporeReferenceNumberExists:      "The input reference number already exists. Please use another one.",
	m.JntSingaporeServiceCodeInvalid:         "The service code is invalid. Please contact the administrator for more details.",
	m.JntSingaporeReceiverContactNameMissing: "The consignee_details.contact_name is required.",
	m.JntSingaporeReceiverAddressMissing:     "The consignee_details.address is required.",
	m.JntSingaporeReceiverPostCodeMissing:    "The consignee_details.postcode is required.",
	m.JntSingaporeReceiverPhoneNumberMissing: "The consignee_details.phone_number is required.",
	m.JntSingaporeSenderContactNameMissing:   "Missing contact_name in pickup_details.",
	m.JntSingaporeSenderAddressMissing:       "Missing address in pickup_details.",
	m.JntSingaporeSenderPostCodeMissing:      "Missing postcode in pickup_details.",
	m.JntSingaporeSenderPhoneNumberMissing:   "Missing phone_number in pickup_details.",
	m.JntSingaporeOrderItemsEmpty:            "SC orders that create empty items are not allowed.",
	m.JntSingaporeReferenceNumberTooLong:     "reference_number cannot exceed 30 characters.",
	m.JntSingaporePostalCodeInvalid:          "The postal code must be a 6 digit number.",

	// Kerry TH
	m.KerryTH100: "Invalid sender name or phone number.",
	m.KerryTH101: "Invalid sender address.",
	m.KerryTH102: "Invalid zip code.",
	m.KerryTH200: "Invalid recipient name or phone number.",
	m.KerryTH201: "Invalid recipient address.",
	m.KerryTH202: "Invalid recipient zip code.",
	m.KerryTH300: "Invalid COD amount.",
	m.KerryTH800: "Require information parameter.",
	m.KerryTH999: "Internal server error.",
}
