From 23f052c400e927f235e12aea9a658cb6b5a71fa8 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Thu, 4 Apr 2024 23:48:57 +0300 Subject: [PATCH] add Korean --- app/javascript/submission_form/i18n.js | 68 ++++++++++++++++++++++- app/javascript/template_builder/field.vue | 12 +++- 2 files changed, 78 insertions(+), 2 deletions(-) diff --git a/app/javascript/submission_form/i18n.js b/app/javascript/submission_form/i18n.js index 593a9da8..4df3bfe4 100644 --- a/app/javascript/submission_form/i18n.js +++ b/app/javascript/submission_form/i18n.js @@ -782,6 +782,72 @@ const ar = { files: 'الملفات' } -const i18n = { en, es, it, de, fr, pl, uk, cs, pt, he, nl, ar } +const ko = { + text: '텍스트', + signature: '서명', + initials: '이니셜', + date: '날짜', + number: '숫자', + image: '이미지', + take_photo: '사진 찍기', + file: '파일', + select: '선택', + checkbox: '체크박스', + multiple: '다중', + radio: '라디오', + cells: '셀', + stamp: '스탬프', + minimize: '최소화', + payment: '결제', + phone: '전화', + submit_form: '양식 제출', + sign_now: '지금 서명', + type_here_: '여기에 입력...', + optional: '선택 사항', + option: '옵션', + appears_on: '다음에 나타납니다', + page: '페이지', + select_your_option: '옵션 선택', + complete_hightlighted_checkboxes_and_click: '강조된 체크박스를 완료하고 클릭', + submit: '제출', + next: '다음', + click_to_upload: '업로드하려면 클릭', + or_drag_and_drop_files: '또는 파일을 드래그하여 놓으십시오', + send_copy_via_email: '이메일로 사본 보내기', + download: '다운로드', + clear: '지우기', + redraw: '다시 그리기', + draw_initials: '이니셜 그리기', + type_signature_here: '여기에 서명 입력', + type_initial_here: '여기에 이니셜 입력', + form_has_been_completed: '양식이 완료되었습니다!', + create_a_free_account: '무료 계정 생성', + signed_with: '다음으로 서명:', + please_check_the_box_to_continue: '계속하려면 확인란을 선택하십시오', + open_source_documents_software: '오픈 소스 문서 소프트웨어', + verified_phone_number: '전화번호 확인됨', + use_international_format: '국제 포맷 사용: +1xxx', + six_digits_code: '6자리 코드', + change_phone_number: '전화번호 변경', + sending: '전송 중...', + resend_code: '코드 다시 보내기', + verification_code_has_been_resent: '인증 코드가 SMS로 다시 전송되었습니다', + please_fill_all_required_fields: '필수 필드를 모두 입력하십시오', + set_today: '오늘 날짜로 설정', + toggle_multiline_text: '다중 텍스트 전환', + draw_signature: '서명 그리기', + type_initial: '이니셜 입력', + draw: '그리기', + type: '입력', + type_text: '텍스트 입력', + email_has_been_sent: '이메일이 전송되었습니다', + processing: '처리 중', + pay_with_strip: '스트라이프로 결제', + reupload: '다시 업로드', + upload: '업로드', + files: '파일' +} + +const i18n = { en, es, it, de, fr, pl, uk, cs, pt, he, nl, ar, ko } export default i18n diff --git a/app/javascript/template_builder/field.vue b/app/javascript/template_builder/field.vue index dd8e264a..6f03612b 100644 --- a/app/javascript/template_builder/field.vue +++ b/app/javascript/template_builder/field.vue @@ -582,7 +582,7 @@ export default { return this.$el.getRootNode().querySelector('#docuseal_modal_container') }, dateFormats () { - return [ + const formats = [ 'MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY-MM-DD', @@ -593,6 +593,16 @@ export default { 'D MMM YYYY', 'D MMMM YYYY' ] + + if (Intl.DateTimeFormat().resolvedOptions().timeZone?.includes('Seoul') || navigator.language?.startsWith('ko')) { + formats.push('YYYY년 MM월 DD일') + } + + if (this.field.preferences?.format && !formats.includes(this.field.preferences.format)) { + formats.unshift(this.field.preferences.format) + } + + return formats }, defaultName () { return this.buildDefaultName(this.field, this.template.fields)