-
Notifications
You must be signed in to change notification settings - Fork 2
[FEAT] i18n 국제화 자동화 스크립트 적용 및 언어 선택 셀렉트 추가 #412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
afad13e
c8cfc46
9accb6f
f300703
595e717
7882759
8a89637
b859bc9
4bc7525
5f02869
c0eb304
87e9a1c
52e7622
21ee43c
8ff5e40
f4ee51c
9914402
dd3fa50
197e441
887458f
4701c69
fcfe9d4
cbfb9b8
fef0a0f
6e51d9d
8ca75ce
4358d8e
5e096bf
c8beb3f
0f68fa1
372fa18
eb99216
302f617
f73ade7
50b96a8
69b0ae7
486a574
ddb54e6
88976f4
a5e35f3
5468e74
bdb2459
b911eda
006c2cc
39de0dd
b89265e
b16f675
05e359a
6304306
f1bd2d8
bd742e4
83956a5
9f5cd5c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,252 @@ | ||
| { | ||
| "모달 닫기": "Close modal", | ||
| "유효하지 않은 투표 링크입니다.": "Invalid vote link.", | ||
| "승패투표": "Win/Loss Vote", | ||
| "참여자 :": "Participants:", | ||
| "찬성팀": "Affirmative Team", | ||
| "반대팀": "Negative Team", | ||
| "투표완료": "Submit vote", | ||
| "다시 투표하기": "Vote again", | ||
| "제출하기": "Submit", | ||
| "투표를 제출하시겠습니까?": "Submit your vote?", | ||
| "(제출 후에는 변경이 불가능 합니다.)": "(You cannot change it after submitting.)", | ||
| "투표가 완료되었습니다.": "Your vote has been submitted.", | ||
| "테이블 이름 없음": "Unnamed table", | ||
| "주제 없음": "No Topic", | ||
| "도움말": "Help", | ||
| "전체 화면": "Fullscreen", | ||
| "테이블 ID가 올바르지 않습니다.": "Invalid table ID.", | ||
| "공유받은 테이블을 저장하지 못했어요.": "Couldn't save the shared table.", | ||
| "테이블 데이터를 확인할 수 없어요.": "Can't find the table data.", | ||
| "공유된 데이터가 비어 있어요.": "Shared data is empty.", | ||
| "공유된 토론 테이블을 DB에 저장하지 못했어요.": "Couldn't save the shared debate table to the database.", | ||
| "데이터를 처리하고 있습니다...": "Processing data...", | ||
| "공유받은 데이터 처리에 실패했어요.": "Failed to process the shared data.", | ||
| "팀 선정하기": "Select teams", | ||
| "토론하기": "Start debate", | ||
| "토론 시간표를 선택해주세요": "Please select a debate schedule", | ||
| "테이블 모드가 올바르지 않습니다.": "Invalid table mode.", | ||
| "시간표 1": "Schedule 1", | ||
| "찬성": "Affirmative", | ||
| "반대": "Negative", | ||
| "시간표 정보를 불러오지 못했어요.\n다시 시도할까요?": "Couldn't load the schedule.\nTry again?", | ||
| "무승부": "Tie", | ||
| "유효하지 않은 투표 결과 링크입니다.": "Invalid vote result link.", | ||
| "세부 결과 확인하기": "View detailed results", | ||
| "아니오": "No", | ||
| "네": "Yes", | ||
| "정말로 세부 결과를 공개할까요?": "Show detailed results?", | ||
| "토론을 모두 마치셨습니다": "You have finished the debate", | ||
| "박수": "Applause", | ||
| "피드백 타이머": "Feedback Timer", | ||
| "심사평 및 Q&A용 타이머 →": "Timer for feedback & Q&A →", | ||
| "피드백 타이머로 이동": "Go to Feedback Timer", | ||
| "승패투표 진행하기": "Start Win/Loss Vote", | ||
| "QR 코드를 통해 투표 페이지로 이동해요.": "Go to the voting page via QR code.", | ||
| "승패투표 생성 및 진행": "Create and run Win/Loss Vote", | ||
| "스캔해 주세요!": "Please scan!", | ||
| "참여자": "Participants", | ||
| "등록된 토론자가 없어요.": "No debaters registered.", | ||
| "투표 결과 보기": "View vote results", | ||
| "QR 코드를 불러오지 못했어요.\n다시 시도하시겠어요?": "Couldn't load the QR code.\nTry again?", | ||
| "링크가 클립보드에 복사됨": "Link copied to clipboard", | ||
| "링크 준비 중": "Preparing link", | ||
| "공유 링크 복사": "Copy share link", | ||
| "이전 차례": "Previous turn", | ||
| "다음 차례": "Next turn", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 번역: 다른 표현 제안'차례'라는 한국어 표현을 직역해서 'turn'이라는 결과물이 나온 것 같습니다. 그러나 저는 이 단어가 다소 어색하게 느껴지는데요. 그 이유는 'turn'이라는 표현은 누구의 차례인지에 초점이 맞춰져 있는데, 토론은 입론/반론 등 다양한 역할을 수행해야 하기에 누구의 차례인지보다는 무엇을 해야 하는지가 더 중요하다고 생각하기 때문이에요. 따라서 'turn'보다는 'phase'를 제안해봅니다.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 번역과 관련된 부분은 이번 PR말고 전체 검토 후 한번에 바꾸도록 하겠습니다! 남겨주셔서 참고하는데 도움이 될 것 같아요. 감사합니다 |
||
| "토론 종료": "End debate", | ||
| "알림 개수_one": "{{displayCount}} notification", | ||
| "알림 개수_other": "{{displayCount}} notifications", | ||
| "{{team}} 팀": "{{team}} team", | ||
| "데이터를 불러오고 있습니다...": "Loading data...", | ||
| "토론 종료 화면으로 돌아가기": "Back to debate end screen", | ||
| "데이터를 불러오지 못했어요.\n다시 시도할까요?": "Couldn't load the data.\nTry again?", | ||
| "다시 시도하기": "Try again", | ||
| "페이지를 찾을 수 없어요...": "Page not found...", | ||
| "요청 URL": "Requested URL", | ||
| "오류 내용": "Error details", | ||
| "요청하신 페이지를 찾을 수 없어요.\n홈 화면으로 돌아가 처음부터 다시 시도해주세요.": "Couldn't find the page you requested.\nPlease return to Home and try again.", | ||
| "홈으로 돌아가기": "Go to Home", | ||
| "{{status}} 오류": "{{status}} Error", | ||
| "오류가 발생했어요...": "Something went wrong...", | ||
| "스택": "Stack", | ||
| "선택": "Select", | ||
| "타이머 초기화": "Reset timer", | ||
| "일시정지": "Pause", | ||
| "재생": "Play", | ||
| "A키": "A key", | ||
| "L키": "L key", | ||
| "전체 시간": "Total time", | ||
| "현재 시간": "Current time", | ||
| "팀": "Team", | ||
| "토론자": "Debater", | ||
| "작전 시간 사용": "Use Prep Time", | ||
| "토론을 끝내셨군요!\n지금까지의 시간표를 로그인하고 저장할까요?": "You've finished the debate!\nLog in to save your schedule so far?", | ||
| "자유토론 타이머 조작": "Open Debate Timer Controls", | ||
| "재생 버튼을 눌러 타이머를 시작": "Press Play to start the timer", | ||
| "타이머가 동작 중일 때, 일시정지 버튼을 눌러 타이머를 일시정지": "When the timer is running, press Pause to pause it", | ||
| "초기화 버튼을 눌러 타이머를 원래 시간으로 초기화": "Press Reset to restore the timer to its original time", | ||
| "마우스를 사용하여 타이머를 클릭 시, 진영 변경": "Click the timer with the mouse to switch Stance", | ||
| "타이머 동작 중 진영이 변경될 경우, 상대 진영의 타이머로 전환과 동시에 시작": "When Stance changes while running, switch to the other side's timer and start immediately", | ||
| "일반 토론 타이머 조작": "Standard Debate Timer Controls", | ||
| "작전 시간 사용 버튼을 눌러 별도의 작전 시간 타이머 사용 가능": "Press Use Prep Time to use a separate Prep Time timer", | ||
| "키보드 조작": "Keyboard controls", | ||
| "스페이스 바로 타이머를 시작 및 일시정지": "Use the Spacebar to start/pause the timer", | ||
| "R 키로 타이머 초기화": "Use R to reset the timer", | ||
| "좌우 방향키로 이전/다음 차례로 이동": "Use Left/Right arrows to go to the previous/next turn", | ||
| "A/L 키로 토론 진영 변경": "Use A/L to switch Stance", | ||
| "Enter 키로 상대 진영으로 변경": "Use Enter to switch to the opposing Stance", | ||
| "화면 우측 상단 헤더의 전체 화면 버튼 <0/> 으로 활성화": "Activate fullscreen with the header button <0/> in the top right", | ||
| "화면 우측 상단 헤더의 전체 화면 닫기 버튼 <0/> 또는 ESC 키를 눌러 전체 화면 비활성화": "Exit fullscreen with the header close button <0/> or press ESC", | ||
| "닫기": "Close", | ||
| "작전 시간": "Prep Time", | ||
| "-1분": "-1 min", | ||
| "-30초": "-30 sec", | ||
| "+30초": "+30 sec", | ||
| "+1분": "+1 min", | ||
| "-5분": "-5 min", | ||
| "+5분": "+5 min", | ||
| "비회원 상태로 토론하기": "Debate as guest", | ||
| "저장하기": "Save", | ||
| "공유받은 토론 시간표를 내 시간표 목록에 저장하시겠어요?": "Save the shared debate schedule to my schedules?", | ||
| "수정하기": "Edit", | ||
| "삭제하기": "Delete", | ||
| "공유하기": "Share", | ||
| "주제 | ": "Topic | ", | ||
| "취소": "Cancel", | ||
| "삭제": "Delete", | ||
| "테이블을 삭제하시겠습니까?": "Delete this table?", | ||
| "타이머 화면": "Timer screen", | ||
| "원하는 때에\n작전 시간 사용하기": "Use Prep Time\nwhenever you need it", | ||
| "토론자가 작전 시간을\n요청하면 <0/>\n버튼을 눌러 시간을 사용해요": "If a debater requests Prep Time\npress <0/>\nto use time", | ||
| "작전 시간이 나타나면\n원하는 시간을 입력하세요!": "When Prep Time appears,\nenter the time you want!", | ||
| "키보드 방향키로\n더 편리한 조작": "More convenient control\nwith arrow keys", | ||
| "시간표 설정화면": "Schedule setup screen", | ||
| "간편한 시간표 구성": "Simple schedule setup", | ||
| "시간표 추가": "Add schedule", | ||
| "시간표 추가 버튼": "Add schedule button", | ||
| "두가지 타이머": "Two timers", | ||
| "일반형과 자유토론형 타이머로\n다양한 토론 방식을 지원해요.": "Support various debate formats\nwith Standard and Open Debate timers.", | ||
| "종소리 설정": "Bell settings", | ||
| "시간에 따른 종소리를 내마음대로\n커스터마이징 할 수 있어요.": "Customize the bell by time\nhowever you like.", | ||
| "다양한 토론 템플릿을 원클릭으로 만나보세요!": "Explore various debate templates with one click!", | ||
| "{{title}} 로고": "{{title}} logo", | ||
| "{{label}} 토론하기": "Debate {{label}}", | ||
| "템플릿 신청하기": "Request a template", | ||
| "새로운 템플릿도 신청해 볼까요?": "Want to request a new template too?", | ||
| "신청하기": "Apply", | ||
| "홈 | 설정": "Home | Settings", | ||
| "토론 정보\n관리 및 기록": "Debate info\nManagement and records", | ||
| "토론 기본 정보 설정": "Set debate basics", | ||
| "시간표 이름부터 주제까지!": "From schedule name to Topic!", | ||
| "시간표 목록": "Schedule list", | ||
| "내가 만든 시간표를 저장하고 싶나요?": "Want to save the schedules you made?", | ||
| "시간표를 저장하려면,\n디베이트 타이머에 로그인해 보세요!": "To save your schedule,\nplease log in to Debate Timer!", | ||
| "3초 로그인 하기": "3-second login", | ||
| "아래로 스크롤": "Scroll down", | ||
| "이미 많은 사람들이 디베이트 타이머로\n더 나은 토론환경을 만들고 있어요.": "Many people already use Debate Timer\nto create a better debate environment.", | ||
| "비회원으로 시작하기": "Start as guest", | ||
| "버그 및 불편사항 제보": "Report bugs or issues", | ||
| "디베이트 타이머 사용 중 불편함을 느끼셨나요?": "Did you run into issues while using Debate Timer?", | ||
| "접수하기": "Submit", | ||
| "디베이트 타이머": "Debate Timer", | ||
| "개인정보처리방침": "Privacy Policy", | ||
| "서비스 이용약관": "Terms of Service", | ||
| "브라우저에서 비디오를 지원하지 않습니다.": "Your browser does not support video.", | ||
| "토론 진행을 더 쉽고 빠르게": "Run debates easier and faster", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 번역: 다른 표현 제안"Run debates"라는 표현은 '토론을 실행하다'라는 느낌이 나서 뭔가 너무 컴퓨터공학적이고 딱딱해 보여요. Gemini에게 몇 가지 후보를 물어보았는데 다음 2가지를 추가로 제안해봅니다:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 번역과 관련된 부분은 이번 PR말고 전체 검토 후 한번에 바꾸도록 하겠습니다! 남겨주셔서 참고하는데 도움이 될 것 같아요. 감사합니다 |
||
| "대시보드로 이동": "Go to Dashboard", | ||
| "3초 로그인": "3-second login", | ||
| "로그아웃": "Log out", | ||
| "왕관": "Crown", | ||
| "투표 세부 결과": "Detailed vote results", | ||
| "명_one": " person", | ||
| "명_other": " people", | ||
| "시간표로 돌아가기": "Back to schedule", | ||
| "비회원 모드": "Guest mode", | ||
| "홈으로 이동": "Go to Home", | ||
| "로그인": "Log in", | ||
| "비회원으로 사용하던 시간표가 있습니다.\n로그인 후에도 이 시간표를 계속 사용하시겠습니까?": "You have schedules created in guest mode.\nDo you want to keep using them after you log in?", | ||
| "언어 선택": "Select language", | ||
| "팀별로\n동전의 앞 / 뒷면 중\n하나를 선택해 주세요.": "For each team,\nchoose heads or tails\non the coin.", | ||
| "동전": "Coin", | ||
| "동전 던지는 중...": "Flipping coin...", | ||
| "앞": "Heads", | ||
| "뒤": "Tails", | ||
| "동전 던지기": "Flip coin", | ||
| "토론 정보 수정하기": "Edit debate info", | ||
| "토론 바로 시작하기": "Start debate now", | ||
| "입론": "Constructive", | ||
| "반론": "Rebuttal", | ||
| "최종발언": "Final Focus", | ||
| "작전시간": "Prep Time", | ||
| "교차조사": "Cross Fire", | ||
| "직접입력": "Custom", | ||
| "발언 시간은 1초 이상이어야 해요.": "Speaking Time must be at least 1 second.", | ||
| "종료 전 타종은 발언 시간보다 길 수 없어요.": "The bell before the end cannot be longer than the Speaking Time.", | ||
| "팀당 발언 시간은 1초 이상이어야 해요.": "Speaking Time per team must be at least 1 second.", | ||
| "1회당 발언 시간은 팀당 발언 시간을 초과할 수 없어요.": "Speaking Time per turn cannot exceed the team's total Speaking Time.", | ||
| "발언 유형은 최대 10자까지 입력할 수 있습니다.": "Speech Type can be up to 10 characters.", | ||
| "발언자는 최대 5자까지 입력할 수 있습니다.": "Speaker can be up to 5 characters.", | ||
| "1회당 발언 시간은 팀당 총 발언 시간보다 클 수 없습니다.": "Per-turn Speaking Time cannot exceed the total team Speaking Time.", | ||
| "발언 유형을 입력해주세요.": "Please enter a Speech Type.", | ||
| "자유토론": "Open Debate", | ||
| "중립은 발언 유형이 '직접 입력'일 경우에만 선택할 수 있습니다.": "Neutral can only be selected when Speech Type is 'Custom'.", | ||
| "중립": "Neutral", | ||
| "일반 타이머": "Standard timer", | ||
| "자유토론 타이머": "Open Debate timer", | ||
| "한 팀의 발언 시간이 세팅된 일반적인 타이머": "A standard timer with a single team's Speaking Time set", | ||
| "팀별 발언 시간과 1회당 발언 시간이 세팅된 타이머\n1회당 발언 시간이 지나면, 상대 팀으로 발언권이 넘어감": "A timer with team time and per-turn time set\nWhen a per-turn time ends, the turn passes to the other team", | ||
| "종류": "Type", | ||
| "발언자": "Speaker", | ||
| "N번 토론자": "Speaker N", | ||
| "발언 시간": "Speaking Time", | ||
| "1회당\n발언 시간": "Per-turn\nSpeaking Time", | ||
| "팀당\n발언 시간": "Per-team\nSpeaking Time", | ||
| "발언 유형": "Speech Type", | ||
| "주도권 토론 등": "e.g. Lead debate", | ||
| "입론, 반론, 작전 시간 등": "e.g. Constructive, Rebuttal, Prep Time", | ||
| "종소리 설정 접기": "Collapse bell settings", | ||
| "종소리 설정 펼치기": "Expand bell settings", | ||
| "종료 전": "Before end", | ||
| "종료 후": "After end", | ||
| "시작 후": "After start", | ||
| "분": "min", | ||
| "초": "sec", | ||
| "횟수": "Count", | ||
| "설정 완료": "Save settings", | ||
| "타이머 추가": "Add timer", | ||
| "수정 완료": "Save changes", | ||
| "추가하기": "Add", | ||
| "복사하기": "Copy", | ||
| "이 타이머를 삭제하시겠습니까?": "Delete this timer?", | ||
| "{{minutes}}분 {{seconds}}초": "{{minutes}} min {{seconds}} sec", | ||
| "팀당 {{minutes}}분 {{seconds}}초": "{{minutes}} min {{seconds}} sec per team", | ||
| "발언당 {{minutes}}분 {{seconds}}초": "{{minutes}} min {{seconds}} sec per speech", | ||
| "위/아래로 드래그": "Drag up/down", | ||
| " | {{speaker}} 토론자": " | {{speaker}} Debater", | ||
| "토론 정보를 {{val0}}해주세요": "Please {{val0}} the debate info", | ||
| "수정": "Edit", | ||
| "설정": "Settings", | ||
| "토론 시간표 이름": "Debate schedule name", | ||
| "토론 주제": "Debate Topic", | ||
| "토론 주제를 입력해주세요": "Please enter a debate Topic", | ||
| "팀명": "Team name", | ||
| "팀명은 최대 8자까지 입력할 수 있습니다.": "Team name can be up to 8 characters.", | ||
| "다음": "Next", | ||
| "볼륨 조절": "Volume control", | ||
| "투표 종료에 실패했습니다.": "Failed to end the vote.", | ||
| "마감하기": "Close voting", | ||
| "투표를 마감하시겠습니까?": "Do you want to close the vote?", | ||
| "투표를 마감하면 더이상 표를 받을 수 없습니다!": "Once you close the vote, you can no longer receive votes!", | ||
| "음소거": "Mute", | ||
| "음소거 해제": "Unmute", | ||
| "발언자는 최대 {{MAX_SPEAKER_LEN}}자까지 입력할 수 있습니다.": "Speaker can be up to {{MAX_SPEAKER_LEN}} characters.", | ||
| "400 잘못된 요청": "400 Bad Request", | ||
| "401 권한 없음": "401 Unauthorized", | ||
| "403 거부됨": "403 Forbidden", | ||
| "404 찾을 수 없음": "404 Not Found", | ||
| "500 내부 서버 오류": "500 Internal Server Error", | ||
| "502 게이트웨이 불량": "502 Bad Gateway", | ||
| "503 서비스가 일시적으로 중단됨": "503 Service Unavailable", | ||
| "504 게이트웨이 시간 초과": "504 Gateway Timeout" | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
번역: 다른 번역 제안
'시간표'라는 단어를 번역한 'schedule'은 시간표보다는 일정의 느낌이 더 강하게 느껴집니다. 개인적으로는 'timetable'이 조금 더 잘 어울리지 않을까 싶어요.