import i18n from 'i18next'
import {initReactI18next} from 'react-i18next';

const resources = {
	ko: {
		translation: {
			//메시지
			USER_LOGOUT_CONFIRM: '로그아웃 하시겠습니까?\n(로그아웃 시 저장되지 않은 값은 초기화 됩니다.)',
			NULL_MSG: '필수값을 입력해주세요.',
			DATE_KTC: '* UTC+9 한국시간 기준으로 설정 (UTC+0 자동 반영처리)',
			NOT_ITEM: '존재하지 않는 아이템코드입니다.',
			REGIST_COMPLTE: "등록이 완료되었습니다.",
			INIT_COMPLTE: "초기화 등록이 완료되었습니다.\n순차적으로 처리됩니다.",
			REGIST_FAIL: '등록에 실패하였습니다. 잠시 후 다시 한번 진행해 주세요.',
			UPDATE_FAIL: '수정에 실패하였습니다. 잠시 후 다시 한번 진행해 주세요.',
			STOP_FAIL: '중단에 실패하였습니다. 잠시 후 다시 한번 진행해 주세요.',
			DELETE_FAIL: '삭제에 실패하였습니다. 잠시 후 다시 한번 진행해 주세요.',
			API_FAIL: '처리 중 오류가 발생하였습니다. 새로고침 후 다시 한번 진행해 주세요. 오류가 지속될 경우, 담당자에게 문의해주세요.',
			SEARCH_FAIL: '조회 중 에러가 발생하였습니다. 잠시 후 다시 한번 진행해 주세요.',
			USER_MAIL_DEL_CONFIRM: '해당 우편을 삭제하시겠습니까?',
			USER_GM_CHANGE: 'GM 권한을 변경하시겠습니까?',
			USER_GM_CHANGE_COMPLETE: '권한변경을 완료하였습니다.',
			USER_KICK_CONFIRM: '해당 유저를 Kick 하시겠습니까?',
			USER_KICK_COMPLETE: '서버에 정상적으로 Kick을 요청하였습니다.',
			DEL_COUNT_CHECK: '보유 개수 이상 삭제할 수 없습니다.',
			DEL_COUNT_CONFIRM: '삭제할 아이템 개수를 입력하세요.\n(보유 개수: {{count}})',
			CANCEL_CONFIRM: '취소하시겠습니까?\n취소 시 변경된 값은 초기화됩니다.',
			CANCEL_COMPLETED: '취소가 완료되었습니다.',
			DEL_CONFIRM: "해당 아이템을 삭제하시겠습니까?",
			DEL_COMPLETE: '삭제가 완료되었습니다.',
			STOP_COMPLETE: '중단이 완료되었습니다.',
			DEL_ITEM_COMPLETE: '아이템 삭제가 완료되었습니다.',
			REQUIRED_VALUE_CHECK: '필수값을 입력해주세요.',
			UPDATE_COMPLETED: '수정이 완료되었습니다.',
			SAVE_COMPLETED: '저장이 완료되었습니다.',
			SAVE_CONFIRM: '저장 하시겠습니까?',
			UPDATE_CONFIRM: '수정하시겠습니까?',
			LENGTH_TEXT_LIMIT_100: '요청사유는 100글자 까지만 입력하실 수 있습니다.({{count}}/100)',
			LENGTH_NUMBER_POINT_2: '숫자, 소수점 둘째자리',
			EXCEL_SELECT: 'Excel 파일을 선택해주세요.',
			TIME_NOW_DIFF_START: '현재 시간보다 5분 이전의 시간은 선택할 수 없습니다.',
			TIME_START_DIFF_END: '시작 시간보다 작을 수 없습니다.',
			WARNING_GUID_CHECK: 'GUID를 확인해주세요.',
			WARNING_NICKNAME_CHECK: '닉네임을 확인해주세요.',
			WARNING_EMAIL_CHECK: '이메일을 확인해주세요.',
			WARNING_TYPE_CHECK: '타입을 확인해주세요.',
			DATE_START_DIFF_END_WARNING :"종료일은 시작일보다 하루 이후여야 합니다.",
			SEARCH_REQUIRED_WARNING:"필수 입력 항목을 확인해주세요.",
			INPUT_VALUE_ERROR: "입력 값이 확인되지 않습니다.\n새로고침 후 다시 시도해주세요.",
			INPUT_REASON_EMPTY_WARNING: "사유를 입력해주세요.",
			DUPLICATE_USER: "중복된 유저 정보가 있습니다.",
			COUNT_EMPTY_WARNING: "수량을 입력해주세요.",
			UPLOAD_FILENAME_SAMPLE_WARNING: "파일명에 sample을 넣을 수 없습니다.\r\n파일명을 변경 후 다시 업로드 해주세요.",
			EXCEL_EXPORT_LENGTH_LIMIT_WARNING: '엑셀 다운은 10만건 이하까지만 가능합니다.\r\n조건을 조정 후 다시 시도해주세요.',
			DOWNLOAD_COMPLETE: '다운이 완료되었습니다.',
			DOWNLOAD_FAIL: '다운이 실패하였습니다.',
			DELETE_STATUS_ONLY_WAIT: '대기상태의 데이터만 삭제가 가능합니다.',
			TABLE_DATA_NOT_FOUND: '데이터가 없습니다.',
			//user
			NICKNAME_CHANGES_CONFIRM: '닉네임을 변경하시겠습니까?',
			NICKNAME_CHANGES_COMPLETE: '닉네임 변경이 완료되었습니다.',
			QUEST_TASK_COMPLETE_CONFIRM: '퀘스트를 강제 완료 처리하시겠습니까?',
			QUEST_TASK_COMPLETE: '퀘스트를 강제 완료 요청처리가 되었습니다.\n재 조회후 상태를 확인해주세요.\n(최대 3분정도 소요)',
			//table
			TABLE_ITEM_DELETE_TITLE: "선택 삭제",
			TABLE_BUTTON_DETAIL_TITLE: "상세보기",
			//db
			LOG_MEMORY_LIMIT_WARNING: '데이터가 너무 많아 조회할 수 없습니다.\n조회조건 조정 후 다시 조회해주세요.',
			LOG_MONGGDB_QUERY_WARNING: '조회 중 오류가 발생하였습니다. 잠시 후 다시 한번 진행해 주세요.\n오류가 지속될 경우, 담당자에게 문의해주세요.',
			DATA_INIT_CONFIRM: '대상 {{data}}\n데이터를 초기화 하시겠습니까?\n초기화시 되돌릴 수 없습니다.',
			//랜드
			LAND_OWNED_CHANGES_WARNING: "해당 랜드는 소유권 변경이 불가능합니다.",
			LAND_OWNED_CHANGES_REGIST_CONFIRM: "랜드 소유권 변경을 등록하시겠습니까?",
			LAND_OWNED_CHANGES_SELECT_DELETE: "랜드 소유권 변경 예약을 취소하시겠습니까?",
			LAND_OWNED_CHANGES_DELETE_TIME_WARNING: "예약시간이 지나 취소할 수 없습니다.",
			LAND_OWNED_CHANGES_DELETE_STATUS_WARNING: "소유권 변경 예약을 취소할 수 없는 상태입니다.",
			LAND_OWNED_CHANGES_REGIST_DUPLICATION_WARNING: "소유권 변경이 진행중인 랜드입니다.",
			LAND_OWNER_DUPLICATION_WARNING: "소유자가 존재하는 랜드입니다.",
			LAND_AUCTION_SELECT_DELETE: "선택된 경매를 삭제하시겠습니까?",
			LAND_AUCTION_WARNING_DELETE: "대기 상태의 경매만 삭제할 수 있습니다.",
			LAND_AUCTION_MODAL_STATUS_WARNING: "경매 시작일시 이후에는 변경이 불가합니다.",
			LAND_AUCTION_MODEL_RESV_START_WARNING: "예약 시작 시간은 현재 시간으로부터 5분 이후여야 합니다.",
			LAND_AUCTION_MODEL_AUCTION_START_WARNING: "경매 시작 시간은 현재 시간으로부터 5분 이후여야 합니다.",
			LAND_AUCTION_MODEL_AUCTION_DIFF_RESERVATION: "경매 시간은 예약 시간보다 이전으로 설정할 수 없습니다.",
			LAND_AUCTION_MODEL_AUCTION_DIFF_AUCTION: "경매 종료일자는 경매 시작일보다 같거나 작을 수 없습니다.",
			LAND_AUCTION_MODEL_MIN_TIME_WARNING: "경매시간은 최소 15분의 시간이 필요합니다.",
			LAND_AUCTION_MADEL_MODIFY_START: "경매가 시작되어 수정할 수 없습니다.",
			LAND_AUCTION_DELETE_DATE_WARNING: "경매 시작 3분 전에는 삭제할 수 없습니다.",
			LAND_AUCTION_DELETE_STATUS_WARNING: "경매가 시작되거나 종료된 상태는 삭제할 수 없습니다.",
			LAND_REGIST_CONFIRM: "랜드 경매를 등록하시겠습니까?",
			LAND_UPDATE_CONFIRM: "랜드 경매를 수정하시겠습니까?",
			LAND_AUCTION_ERROR_PROGRESS: "해당 랜드는 경매가 끝나지않아 등록할 수 없습니다.",
			LAND_AUCTION_ERROR_OWNER: "해당 랜드는 소유자가 존재하여 경매를 진행할 수 없습니다.",
			LAND_AUCTION_ERROR_MODIFY_STATUS: "수정할 수 없는 경매상태입니다.\r\n재 조회를 통해 상태를 확인해 주세요.",
			LAND_AUCTION_ERROR_DELETE_STATUS: "삭제할 수 없는 경매상태입니다.\r\n재 조회를 통해 상태를 확인해 주세요.",
			//이벤트
			EVENT_SELECT_DELETE: "선택된 이벤트를 삭제하시겠습니까?",
			EVENT_REGIST_CANCEL: "이벤트 등록을 취소하시겠습니까?\n\r취소 시 설정된 값은 반영되지 않습니다.",
			EVENT_REGIST_CONFIRM: "이벤트를 등록하시겠습니까?",
			EVENT_WARNING_DELETE: "대기 상태의 이벤트만 삭제할 수 있습니다.",
			EVENT_TIME_LIMIT_UPDATE: "이벤트 시작 30분이내는 수정이나 삭제할 수 없습니다.\r\n개발자에게 문의해주세요.",
			EVENT_TIME_LIMIT_ADD: "이벤트 시작시간은 현재 기준 한시간 이상으로 설정해주세요.",
			//공지
			NOTICE_REGIST_SAVE: '인게임 메시지를 등록하시겠습니까?',
			NOTICE_REGIST_CANCEL: '인게임 메시지 등록을 취소하시겠습니까?',
			NOTICE_MSG_EMPTY: '공지 내용을 하나라도 입력해주세요.',
			NOTICE_DATE_CHECK: '송출 일자보다 작을 수 없습니다.',
			//우편
			MAIL_UPDATE_SAVE: "우편 정보 수정사항을 \r\n저장하시겠습니까?",
			MAIL_SELECT_DELETE: "선택된 우편을 삭제하시겠습니까?\r\n삭제시 설정 정보가 제거됩니다.",
			MAIL_ITEM_ADD_DUPL: '이미 추가된 아이템입니다. 삭제 후 다시 추가해주세요.',
			MAIL_ITEM_ADD_BEN: '첨부 할 수 없는 아이템입니다.',
			MAIL_ITEM_CALIUM_TOTAL_OVER_WARNING: '첨부 가능한 칼리움 수량을 초과 하였습니다.',
			MAIL_SEND_STATUS_WARNING: '발송 처리가 완료된 우편은 삭제할 수 없습니다.',
			MAIL_REGIST_CONFIRM: '우편을 등록하시겠습니까?',
			MAIL_REGIST_COMPLETE: '우편이 정상 등록되었습니다.',
			MAIL_REGIST_CANCEL: "우편 등록을 취소하시겠습니까?\n\r취소 시 설정된 값은 반영되지 않습니다.",
			MAIL_CANCEL: '우편 등록이 취소되었습니다.',
			//인게임 메시지
			BOARD_DELETE_CONFIRM: "선택된 인게임 메세지를 삭제하시겠습니까?\r\n삭제 시 설정 정보가 제거됩니다.",
			//칼리움 요청
			CHARGE_COMPLTED: '해당 건에 대한 충전 처리가 완료되었습니다.',
			CALIUM_CHARGE_CONFIRM: '선택건에 대한 충전을 진행하시겠습니까?',
			CALIUM_REGIST_CONFIRM: '충전 요청을 등록하시겠습니까?',
			CALIUM_REGIST_COMPLTE: '충전 요청 처리가 완료되었습니다. 요청건에 대한 진행 상태는 현재 페이지에서 확인하실 수 있습니다.',
			CALIUM_REGIST_CANCEL: '충전 요청을 취소하시겠습니까?',
			SEARCH_LIMIT_TOTAL: '수량 조회를 클릭해주세요.',
			CHARGE_FAIL: '요청건에 대한 처리 중 오류가 발생하였습니다. 잠시 후 다시 한번 진행해 주세요. 오류가 지속될 경우, 담당자에게 문의해주세요.',
			CHARGE_FINISH_FAIL: '충전 처리가 불가능합니다. 이미 충전이 완료되었거나, 관리자에 의해 요청 건에 대한 취소(반려) 처리된 것입니다. 해당 요청건에 대한 진행 상태를 다시 확인해 주세요.',
			SEARCH_LIMIT_FAIL: '인출 가능 수량 조회에 대한 요청 중 오류가 발생하였습니다. 잠시 후 다시 한번 진행해 주세요. 오류가 지속될 경우, 담당자에게 문의해주세요.',
			//전투시스템
			BATTLE_EVENT_MODAL_START_DT_WARNING: "시작 시간은 현재 시간으로부터 10분 이후부터 가능합니다.",
			BATTLE_EVENT_MODAL_TIME_CHECK_WARNING :"해당 시간에 속하는 이벤트가 존재합니다.",
			BATTLE_EVENT_MODAL_OPERATION_TIME_MIN_CHECK_WARNING :"진행시간은 최소 10분 이상이여야 합니다.",
			BATTLE_EVENT_MODAL_OPERATION_TIME_MAX_CHECK_WARNING :"진행시간은 최대 1400분까지 가능합니다.",
			BATTLE_EVENT_REGIST_CONFIRM: "이벤트를 등록하시겠습니까?",
			BATTLE_EVENT_UPDATE_CONFIRM: "이벤트를 수정하시겠습니까?",
			BATTLE_EVENT_SELECT_DELETE: "선택된 이벤트를 삭제하시겠습니까?",
			BATTLE_EVENT_SELECT_STOP: "선택된 이벤트를 중단하시겠습니까?",
			BATTLE_EVENT_STOP_5MINUTES_DATE_WARNING: "이벤트 시작 5분 전에는 중단할 수 없습니다.",
			BATTLE_EVENT_STATUS_RUNNING_WARNING: "이벤트 진행중에는 중단할 수 없습니다.",
			BATTLE_EVENT_MODAL_STATUS_WARNING: "이벤트가 중단일때만 수정이 가능합니다.",
			//메뉴 배너
			MENU_BANNER_TITLE: "메뉴 배너 관리",
			MENU_BANNER_CREATE: "메뉴 배너 등록",
			MENU_BANNER_REGIST_CONFIRM: "배너를 등록하시겠습니까?",
			MENU_BANNER_SELECT_DELETE: "선택된 배너를 삭제하시겠습니까?",
			MENU_BANNER_REGIST_CANCEL: "배너 등록을 취소하시겠습니까?\n\r취소 시 설정된 값은 반영되지 않습니다.",
			MENU_BANNER_UPDATE_SAVE: "배너 정보 수정사항을 \r\n저장하시겠습니까?",
			//아이템
			ITEM_DELETE_CONFIRM: '해당 아이템을 삭제하시겠습니까?\r\n* 한번 삭제한 아이템은 다시 복구할 수 없습니다.',
			ITEM_RESTORE_CONFIRM: '해당 아이템을 복구하시겠습니까?',
			ITEM_RESTORE_COMPLETE: '복구가 완료되었습니다.',
			// 이용자 제재
			USER_BLOCK_VALIDATION_WARNING: '유효성 체크가 통과되지 않은 항목이 존재합니다.\r\n수정 후 재등록 해주세요.',
			USER_BLOCK_REGIST_DUPLE_WARNING: '이미 제재가 등록된 유저입니다.',
			USER_BLOCK_DELETE_CONFIRM: '제재 대상을 해지하시겠습니까?',
			USER_BLOCK_REGIST_CONFIRM: '이용자 제재 명단에\r\n등록하시겠습니까?',
			USER_BLOCK_DELETE_STATUS_WARNING: '제재를 해지할 수 없는 상태입니다.',
			//파일
			FILE_IMAGE_EXTENSION_WARNING: "png, jpg 확장자의 이미지만 업로드 가능합니다.",
			FILE_IMAGE_UPLOAD_ERROR: "이미지 업로드 중 오류가 발생했습니다.",
			FILE_NOT_EXIT_ERROR: "유효하지 않은 파일입니다.",
			FILE_SIZE_OVER_ERROR: "파일의 사이즈가 5MB를 초과하였습니다.",
			//파일명칭
			FILE_INDEX_USER_CONTENT: 'Caliverse_User_Index.xlsx',
			FILE_INDEX_USER_RETENTION: 'Caliverse_Retention.xlsx',
			FILE_CALIUM_REQUEST: 'Caliverse_Calium_Request.xlsx',
			FILE_LAND_AUCTION: 'Caliverse_Land_Auction.xlsx',
			FILE_BUSINESS_LOG: 'Caliverse_Log.xlsx',
			FILE_BATTLE_EVENT: 'Caliverse_Battle_Event.xlsx',
			FILE_GAME_LOG_CURRENCY: 'Caliverse_Game_Log_Currency',
			FILE_GAME_LOG_USER_CREATE: 'Caliverse_Game_Log_User_Create',
			FILE_GAME_LOG_USER_LOGIN: 'Caliverse_Game_Log_User_Login',
			FILE_GAME_LOG_ITEM: 'Caliverse_Game_Log_Item',
			FILE_GAME_LOG_CURRENCY_ITEM: 'Caliverse_Game_Log_Currecy_Item',
			FILE_CURRENCY_INDEX: 'Caliverse_Currency_Index',
			//서버 에러메시지
			DYNAMODB_NOT_USER: '유저 정보를 확인해주세요.',
			NICKNAME_EXIT_ERROR: '해당 닉네임이 존재합니다.',
			NICKNAME_NUMBER_ERROR: '닉네임은 첫번째 글자에 숫자를 허용하지 않습니다.',
			NICKNAME_SPECIALCHAR_ERROR: '닉네임은 특수문자를 사용할 수 없습니다.',
			NICKNAME_LANGTH_ERROR: '닉네임은 최소 2글자에서 최대 12글자까지 허용 합니다.',
			dynamoDB_connection_error: '운영DB 작업중 에러가 발생하였습니다.'
		}
	},
	en: {
		translation: {
			USER_MAIL_DEL_CONFIRM: '해당 우편을 삭제하시겠습니까?',
			USER_GM_CHANGE: 'GM 권한을 변경하시겠습니까?',
			DEL_COUNT_CHECK: '보유 개수 이상 삭제할 수 없습니다.',
			DEL_COUNT_CONFIRM: '삭제할 아이템 개수를 입력하세요. (보유 개수: {{count}})',
			DEL_CONFIRM: "해당 아이템을 삭제하시겠습니까?",
			DEL_COMPLETE: '삭제가 완료되었습니다.',
			DEL_ITEM_COMPLETE: '아이템 삭제가 완료되었습니다.',
			NOTICE_MSG_EMPTY: '공지 내용을 하나라도 입력해주세요.',
			NOTICE_DATE_CHECK: '송출 일자보다 작을 수 없습니다.',
			REQUIRED_VALUE_CHECK: '필수값을 입력해주세요.',
			UPDATE_COMPLETED: '수정이 완료되었습니다.',
			UPDATE_CONFIRM: '수정하시겠습니까?',
			MAIL_ITEM_ADD_DUPL: '이미 추가된 아이템입니다. 삭제 후 다시 추가해주세요.',
			MAIL_ITEM_ADD_BEN: '첨부 할 수 없는 아이템입니다.',
			MAIL_CANCEL: '우편 등록이 취소되었습니다.',
			EXCEL_SELECT: 'Excel 파일을 선택해주세요.',
		}
	},
	ja: {
		translation: {
			USER_MAIL_DEL_CONFIRM: '해당 우편을 삭제하시겠습니까?',
			USER_GM_CHANGE: 'GM 권한을 변경하시겠습니까?',
			DEL_COUNT_CHECK: '보유 개수 이상 삭제할 수 없습니다.',
			DEL_COUNT_CONFIRM: '삭제할 아이템 개수를 입력하세요. (보유 개수: {{count}})',
			DEL_CONFIRM: "해당 아이템을 삭제하시겠습니까?",
			DEL_COMPLETE: '삭제가 완료되었습니다.',
			DEL_ITEM_COMPLETE: '아이템 삭제가 완료되었습니다.',
			NOTICE_MSG_EMPTY: '공지 내용을 하나라도 입력해주세요.',
			NOTICE_DATE_CHECK: '송출 일자보다 작을 수 없습니다.',
			REQUIRED_VALUE_CHECK: '필수값을 입력해주세요.',
			UPDATE_COMPLETED: '수정이 완료되었습니다.',
			UPDATE_CONFIRM: '수정하시겠습니까?',
			MAIL_ITEM_ADD_DUPL: '이미 추가된 아이템입니다. 삭제 후 다시 추가해주세요.',
			MAIL_ITEM_ADD_BEN: '첨부 할 수 없는 아이템입니다.',
			MAIL_CANCEL: '우편 등록이 취소되었습니다.',
			EXCEL_SELECT: 'Excel 파일을 선택해주세요.',
		}
	}
}

i18n
	.use(initReactI18next)
	.init({
		resources,
		lng: "ko", // 기본 언어 설정
		interpolation: {
			escapeValue: false
		}
	});

export default i18n;