More refactoring in translation files.
[timetracker.git] / WEB-INF / resources / ko.lang.php
index 258a58a..7ef476e 100644 (file)
@@ -64,8 +64,6 @@ $i18n_key_words = array(
 'menu.clients' => '클라이언트',
 'menu.options' => '옵션',
 
-// TODO: refactoring ongoing down from here.
-
 // Footer - strings on the bottom of most pages.
 // TODO: translate the following.
 // 'footer.contribute_msg' => 'You can contribute to Time Tracker in different ways.',
@@ -75,6 +73,7 @@ $i18n_key_words = array(
                                      // This is a link to a webpage that describes how to contribute to the project.
 
 // Error messages.
+// TODO: All error messages should be complete sentences with a period (full stop) in the end. Put them there.
 // TODO: translate the following.
 // 'error.access_denied' => 'Access denied.',
 // 'error.sys' => 'System error.',
@@ -82,7 +81,8 @@ $i18n_key_words = array(
 'error.field' => '부정확한 "{0}" 의 데이터',
 'error.empty' => '"{0}" 의 필드가 비어있습니다',
 'error.not_equal' => '"{0}" 의 필드가 "{1}" 의 필드와 같지 않습니다',
-'error.interval' => '부정확한 간격입니다',
+// TODO: translate the following.
+// 'error.interval' => 'Field "{0}" must be greater than "{1}".',
 'error.project' => '프로젝트의 선택',
 // TODO: translate the following.
 // 'error.task' => 'Select task.',
@@ -95,80 +95,266 @@ $i18n_key_words = array(
 // TODO: translate the following.
 // 'error.task_exists' => 'Task with this name already exists.',
 // 'error.client_exists' => 'Client with this name already exists.',
+// 'error.invoice_exists' => 'Invoice with this number already exists.',
+// 'error.no_invoiceable_items' => 'There are no invoiceable items.',
 'error.no_login' => '본 로그인과 연계된 사용자가 없습니다',
+// TODO: translate the following.
+// 'error.no_teams' => 'Your database is empty. Login as admin and create a new team.',
 'error.upload' => '파일 업로드 오류',
 // TODO: translate the following.
 // 'error.range_locked' => 'Date range is locked.',
 'error.mail_send' => '메일 보내기에서의 오류',
 'error.no_email' => '본 로그인과 연계된 이메일이 없습니다',
-// Note to translators: the strings below need to be translated.
-// 'error.uncompleted_exists' => 'uncompleted entry already exists. close or delete it.',
-// 'error.goto_uncompleted' => 'go to uncompleted entry.',
+// TODO: translate the following.
+// 'error.uncompleted_exists' => 'Uncompleted entry already exists. Close or delete it.',
+// 'error.goto_uncompleted' => 'Go to uncompleted entry.',
+// 'error.overlap' => 'Time interval overlaps with existing records.',
+// 'error.future_date' => 'Date is in future.',
 
 // Labels for buttons.
 'button.login' => '로그인',
 'button.now' => '지금',
 'button.save' => '저장',
-'button.delete' => '삭제',
+// TODO: translate the following.
+// 'button.copy' => 'Copy',
 'button.cancel' => '취소',
 'button.submit' => '발송',
-// TODO: improve translation of all button.add strings.
-'button.add_user' => '신규 사용자 추가',
-'button.add_project' => '신규 프로젝트 추가',
 // TODO: translate the following.
+// 'button.add_user' => 'Add user',
+// 'button.add_project' => 'Add project',
 // 'button.add_task' => 'Add task',
-'button.add_client' => '신규 클라이언트 추가',
-// TODO: translate the following.
+// 'button.add_client' => 'Add client',
 // 'button.add_invoice' => 'Add invoice',
 // 'button.add_option' => 'Add option',
 'button.add' => '추가',
 'button.generate' => '생성',
-// Note to translators: button.reset_password needs an improved translation.
-'button.reset_password' => '실행',
+// TODO: translate the following.
+// 'button.reset_password' => 'Reset password',
 'button.send' => '송신',
 'button.send_by_email' => '이메일로 송신',
-'button.save_as_new' => '새것으로 저장',
-'button.create_team' => '신규 팀 작성',
+// TODO: translate the following.
+// 'button.create_team' => 'Create team',
 'button.export' => '팀 익스포트',
 'button.import' => '팀 임포트',
-'button.apply' => '적용',
+// TODO: translate the following.
+// 'button.close' => 'Close',
+// 'button.stop' => 'Stop',
 
-// labels for controls on various forms
-// TODO: translate label.team_name
-// 'label.team_name' => 'team name',
+// Labels for controls on forms. Labels in this section are used on multiple forms.
+// TODO: translate the following.
+// 'label.team_name' => 'Team name',
+// 'label.address' => 'Address',
 'label.currency' => '화폐',
-// TODO: translate label.manager_name and label.manager_login.
-// 'label.manager_name' => 'manager name',
-// 'label.manager_login' => 'manager login',
-'label.password' => '암호',
+// TODO: translate the following.
+// 'label.manager_name' => 'Manager name',
+// 'label.manager_login' => 'Manager login',
+'label.person_name' => '이름',
+'label.thing_name' => '이름',
+// TODO: translate the following.
+// 'label.login' => 'Login',
+'label.password' => 'Password',
 'label.confirm_password' => '암호 확인',
 'label.email' => '이메일',
 // TODO: translate the following.
 // 'label.cc' => 'Cc',
 // 'label.bcc' => 'Bcc',
 'label.subject' => '제목',
+// TODO: translate the following.
+// 'label.date' => 'Date',
+// 'label.start_date' => 'Start date',
+// 'label.end_date' => 'End date',
+// 'label.user' => 'User',
+// 'label.users' => 'Users',
+// 'label.client' => 'Client',
+// 'label.clients' => 'Clients',
+// 'label.option' => 'Option',
+// 'label.invoice' => 'Invoice',
+// 'label.project' => 'Project',
+// 'label.projects' => 'Projects',
+// 'label.task' => 'Task',
+// 'label.tasks' => 'Tasks',
+// 'label.description' => 'Description',
+// 'label.start' => 'Start',
+// 'label.finish' => 'Finish',
+// 'label.duration' => 'Duration',
+// 'label.note' => 'Note',
+// 'label.notes' => 'Notes',
+// 'label.item' => 'Item',
+// 'label.cost' => 'Cost',
+// 'label.day_total' => 'Day total',
+// 'label.week_total' => 'Week total',
+// 'label.month_total' => 'Month total',
+'label.today' => '오늘',
+// TODO: translate the following.
+// 'label.total_hours' => 'Total hours',
+// 'label.total_cost' => 'Total cost',
+// 'label.view' => 'View',
+'label.edit' => '편집',
+'label.delete' => '삭제',
+// TODO: translate the following.
+// 'label.configure' => 'Configure',
+// 'label.select_all' => 'Select all',
+// 'label.select_none' => 'Deselect all',
+// 'label.day_view' => 'Day view',
+// 'label.week_view' => 'Week view',
+// 'label.id' => 'ID',
+'label.language' => '언어',
+// TODO: translate the following.
+// 'label.decimal_mark' => 'Decimal mark',
+// 'label.date_format' => 'Date format',
+// 'label.time_format' => 'Time format',
+// 'label.week_start' => 'First day of week',
+// 'label.comment' => 'Comment',
+// 'label.status' => 'Status',
+// 'label.tax' => 'Tax',
+// 'label.subtotal' => 'Subtotal',
 'label.total' => '합계',
 // TODO: translate the following.
+// 'label.client_name' => 'Client name',
+// 'label.client_address' => 'Client address',
+// 'label.or' => 'or',
+// 'label.error' => 'Error',
+// 'label.ldap_hint' => 'Type your <b>Windows login</b> and <b>password</b> in the fields below.',
+// 'label.required_fields' => '* - required fields',
+// 'label.on_behalf' => 'on behalf of',
+// TODO: translate all 3 roles properly, see https://www.anuko.com/time_tracker/user_guide/user_accounts.htm
+// This may require different terms for role_manager and role_comanager.
+'label.role_manager' => '(관리자)',
+'label.role_comanager' => '(공동관리자)',
+// 'label.role_admin' => '(administrator)',
+// TODO: translate the following.
 // 'label.page' => 'Page',
 // 'label.condition' => 'Condition',
-// TODO: translate the following.
 // 'label.yes' => 'yes',
 // 'label.no' => 'no',
+// Labels for plugins (extensions to Time Tracker that provide additional features).
+// TODO: translate the following.
+// 'label.custom_fields' => 'Custom fields',
+// 'label.monthly_quotas' => 'Monthly quotas',
+// 'label.type' => 'Type',
+// 'label.type_dropdown' => 'dropdown',
+// 'label.type_text' => 'text',
+// 'label.required' => 'Required',
+// 'label.fav_report' => 'Favorite report',
+// 'label.cron_schedule' => 'Cron schedule',
+// 'label.what_is_it' => 'What is it?',
+// 'label.expense' => 'Expense',
+// 'label.quantity' => 'Quantity',
+// 'label.paid_status' => 'Paid status',
+// 'label.paid' => 'Paid',
+// 'label.mark_paid' => 'Mark paid',
+// 'label.week_note' => 'Week note',
+// 'label.week_list' => 'Week list',
 
 // Form titles.
-// TODO: the entire title section is missing here. See the English file.
+'title.login' => '로그인',
+// TODO: translate the following.
+// 'title.teams' => 'Teams',
+// 'title.create_team' => 'Creating Team',
+// 'title.edit_team' => 'Editing Team',
+// 'title.delete_team' => 'Deleting Team',
+'title.reset_password' => '암호 재설정',
+// TODO: translate the following.
+// 'title.change_password' => 'Changing Password',
+// 'title.time' => 'Time',
+// 'title.edit_time_record' => 'Editing Time Record',
+// 'title.delete_time_record' => 'Deleting Time Record',
+// 'title.expenses' => 'Expenses',
+// 'title.edit_expense' => 'Editing Expense Item',
+// 'title.delete_expense' => 'Deleting Expense Item',
+// 'title.predefined_expenses' => 'Predefined Expenses',
+// 'title.add_predefined_expense' => 'Adding Predefined Expense',
+// 'title.edit_predefined_expense' => 'Editing Predefined Expense',
+// 'title.delete_predefined_expense' => 'Deleting Predefined Expense',
+// 'title.reports' => 'Reports',
+'title.report' => '보고서',
+// TODO: translate the following.
+// 'title.send_report' => 'Sending Report',
+// 'title.invoice' => 'Invoice',
+// 'title.send_invoice' => 'Sending Invoice',
+// 'title.charts' => 'Charts',
+// 'title.projects' => 'Projects',
+// 'title.add_project' => 'Adding Project',
+// 'title.edit_project' => 'Editing Project',
+// 'title.delete_project' => 'Deleting Project',
+// 'title.tasks' => 'Tasks',
+// 'title.add_task' => 'Adding Task',
+// 'title.edit_task' => 'Editing Task',
+// 'title.delete_task' => 'Deleting Task',
+// 'title.users' => 'Users',
+// 'title.add_user' => 'Adding User',
+// 'title.edit_user' => 'Editing User',
+// 'title.delete_user' => 'Deleting User',
+// 'title.clients' => 'Clients',
+// 'title.add_client' => 'Adding Client',
+// 'title.edit_client' => 'Editing Client',
+// 'title.delete_client' => 'Deleting Client',
+// 'title.invoices' => 'Invoices',
+// 'title.add_invoice' => 'Adding Invoice',
+// 'title.view_invoice' => 'Viewing Invoice',
+// 'title.delete_invoice' => 'Deleting Invoice',
+// 'title.notifications' => 'Notifications',
+// 'title.add_notification' => 'Adding Notification',
+// 'title.edit_notification' => 'Editing Notification',
+// 'title.delete_notification' => 'Deleting Notification',
+// 'title.monthly_quotas' => 'Monthly Quotas',
+// 'title.export' => 'Exporting Team Data',
+// 'title.import' => 'Importing Team Data',
+// 'title.options' => 'Options',
+// 'title.profile' => 'Profile',
+// 'title.cf_custom_fields' => 'Custom Fields',
+// 'title.cf_add_custom_field' => 'Adding Custom Field',
+// 'title.cf_edit_custom_field' => 'Editing Custom Field',
+// 'title.cf_delete_custom_field' => 'Deleting Custom Field',
+// 'title.cf_dropdown_options' => 'Dropdown Options',
+// 'title.cf_add_dropdown_option' => 'Adding Option',
+// 'title.cf_edit_dropdown_option' => 'Editing Option',
+// 'title.cf_delete_dropdown_option' => 'Deleting Option',
+// NOTE TO TRANSLATORS: Locking is a feature to lock records from modifications (ex: weekly on Mondays we lock all previous weeks).
+// It is also a name for the Locking plugin on the Team profile page.
+// 'title.locking' => 'Locking',
+// 'title.week_view' => 'Week View',
+
+// Section for common strings inside combo boxes on forms. Strings shared between forms shall be placed here.
+// Strings that are used in a single form must go to the specific form section.
+// TODO: translate the following.
+// 'dropdown.all' => '--- all ---',
+// 'dropdown.no' => '--- no ---',
+// 'dropdown.current_day' => 'today',
+// 'dropdown.previous_day' => 'yesterday',
+// 'dropdown.selected_day' => 'day',
+// 'dropdown.current_week' => 'this week',
+// 'dropdown.previous_week' => 'previous week',
+// 'dropdown.selected_week' => 'week',
+// 'dropdown.current_month' => 'this month',
+// 'dropdown.previous_month' => 'previous month',
+// 'dropdown.selected_month' => 'month',
+// 'dropdown.current_year' => 'this year',
+// 'dropdown.previous_year' => 'previous year',
+// 'dropdown.selected_year' => 'year',
+// 'dropdown.all_time' => 'all time',
+// 'dropdown.projects' => 'projects',
+// 'dropdown.tasks' => 'tasks',
+// 'dropdown.clients' => 'clients',
+// 'dropdown.select' => '--- select ---',
+// 'dropdown.select_invoice' => '--- select invoice ---',
+// 'dropdown.status_active' => 'active',
+// 'dropdown.status_inactive' => 'inactive',
+// 'dropdown.delete'=>'delete',
+// 'dropdown.do_not_delete'=>'do not delete',
+// 'dropdown.paid' => 'paid',
+// 'dropdown.not_paid' => 'not paid',
+
+
+
+// TODO: refactoring ongoing down from here.
 
 "form.filter.project" => '프로젝트',
 "form.filter.filter" => '좋아하는 보고서',
 "form.filter.filter_new" => '좋아하는 것으로 저장',
 "form.filter.filter_confirm_delete" => '좋아하는 이 보고서를 삭제해도 좋습니까?',
 
-// login form attributes
-"form.login.title" => '로그인',
-"form.login.login" => '로그인ID',
-
 // password reminder form attributes
-"form.fpass.title" => '암호 재설정',
 "form.fpass.login" => '로그인',
 "form.fpass.send_pass_str" => '송신한 암호 재설정 요청',
 "form.fpass.send_pass_subj" => 'Anuko Time Tracker 암호 재설정 요청',
@@ -185,9 +371,6 @@ $i18n_key_words = array(
 "form.admin.profile.noprofiles" => '당신의 데이터베이스는 비어있습니다. 관리자로 로그인하여 새로운 팀을 생성하십시오.',
 "form.admin.profile.comment" => '팀 삭제',
 "form.admin.profile.th.id" => '식별자',
-"form.admin.profile.th.name" => '이름',
-"form.admin.profile.th.edit" => '편집',
-"form.admin.profile.th.del" => '삭제',
 "form.admin.profile.th.active" => '활동내용',
 "form.admin.options" => '옵션',
 "form.admin.custom_date_format" => "날짜 포맷",
@@ -201,7 +384,6 @@ $i18n_key_words = array(
 "form.mytime.time_form" => ' (hh:mm)',
 "form.mytime.date" => '날짜',
 "form.mytime.project" => '프로젝트',
-"form.mytime.activity" => '활동내용',
 "form.mytime.start" => '시작',
 "form.mytime.finish" => '마감',
 "form.mytime.duration" => '기간',
@@ -215,8 +397,6 @@ $i18n_key_words = array(
 "form.mytime.th.finish" => '마감',
 "form.mytime.th.duration" => '기간',
 "form.mytime.th.note" => '표식',
-"form.mytime.th.edit" => '편집',
-"form.mytime.th.delete" => '삭제',
 "form.mytime.del_yes" => '성과적으로 삭제된 시간기록',
 "form.mytime.no_finished_rec" => '이 기록은 시작 시간으로만 저장되었습니다. 이것은 오류는 아닙니다. 필요하면 로그아웃 하십시오.',
 "form.mytime.billable" => '청구가능',
@@ -227,11 +407,9 @@ $i18n_key_words = array(
 // Note to translators: we need a more accurate translation of form.profile.create_title
 "form.profile.create_title" => '신규 관리자 계정을 생성',
 "form.profile.edit_title" => '프로필을 편집하기',
-"form.profile.name" => '이름',
 "form.profile.login" => '로그인ID',
 
 "form.profile.showchart" => '원 그래프를 보기',
-"form.profile.lang" => '언어',
 "form.profile.custom_date_format" => "날짜 포맷",
 "form.profile.custom_time_format" => "시간 포맷",
 "form.profile.default_format" => "(디폴트)",
@@ -242,18 +420,14 @@ $i18n_key_words = array(
 "form.people.createu_str" => '신규 사용자를 만들기',
 "form.people.edit_str" => '사용자를 편집하기',
 "form.people.del_str" => '사용자를 삭제하기',
-"form.people.th.name" => '이름',
 "form.people.th.login" => '로그인ID',
 "form.people.th.role" => '직위',
-"form.people.th.edit" => '편집',
-"form.people.th.del" => '삭제',
 "form.people.th.status" => '상태',
 "form.people.th.project" => '프로젝트',
 "form.people.th.rate" => '급여',
 "form.people.manager" => '관리자',
 "form.people.comanager" => '공동관리자',
 "form.people.empl" => '사용자',
-"form.people.name" => '이름',
 "form.people.login" => '로그인ID',
 
 "form.people.rate" => '디폴트 시간당 급여',
@@ -265,22 +439,9 @@ $i18n_key_words = array(
 "form.project.edit_str" => '프로젝트를 편집하기',
 "form.project.add_str" => '신규 프로젝트를 추가하기',
 "form.project.del_str" => '프로젝트를 삭제하기',
-"form.project.th.name" => '이름',
-"form.project.th.edit" => '편집',
-"form.project.th.del" => '삭제',
-"form.project.name" => '이름',
 
 // activities form attributes
-"form.activity.act_title" => '활동내용',
-"form.activity.add_title" => '신규 활동내용을 추가하기',
-"form.activity.edit_str" => '활동내용을 편집하기',
-"form.activity.del_str" => '활동내용을 삭제하기',
-"form.activity.name" => '이름',
 "form.activity.project" => '프로젝트',
-"form.activity.th.name" => '이름',
-"form.activity.th.project" => '프로젝트',
-"form.activity.th.edit" => '편집',
-"form.activity.th.del" => '삭제',
 
 // report attributes
 "form.report.title" => '보고서',
@@ -288,11 +449,8 @@ $i18n_key_words = array(
 "form.report.to" => '마감 날짜',
 "form.report.groupby_user" => '사용자',
 "form.report.groupby_project" => '프로젝트',
-"form.report.groupby_activity" => '활동내용',
 "form.report.duration" => '기간',
 "form.report.start" => '시작',
-"form.report.activity" => '활동내용',
-"form.report.show_idle" => '유휴 상태를 보기',
 "form.report.finish" => '마감',
 "form.report.note" => '표식',
 "form.report.project" => '프로젝트',
@@ -301,7 +459,6 @@ $i18n_key_words = array(
 "form.report.th.empllist" => '사용자',
 "form.report.th.date" => '날짜',
 "form.report.th.project" => '프로젝트',
-"form.report.th.activity" => '활동내용',
 "form.report.th.start" => '시작',
 "form.report.th.finish" => '마감',
 "form.report.th.duration" => '기간',
@@ -351,10 +508,6 @@ $i18n_key_words = array(
 "form.client.add_title" => '클라이언트 추가',
 "form.client.edit_title" => '클라이언트 편집',
 "form.client.del_title" => '클라이언트 삭제',
-"form.client.th.name" => '이름',
-"form.client.th.edit" => '편집',
-"form.client.th.del" => '삭제',
-"form.client.name" => '이름',
 "form.client.tax" => '세금',
 "form.client.comment" => '코멘트 ',
 
@@ -392,14 +545,8 @@ $i18n_key_words = array(
 "label.chart.title2" => '사용자별 프로젝트',
 "label.chart.period" => '기간에 따른 그래프',
 
-"label.pinfo" => '%s, %s',
-"label.pinfo2" => '%s',
 "label.pbehalf_info" => '%s %s <b>%s 을 대표하여</b>',
-"label.pminfo" => ' (관리자)',
-"label.pcminfo" => ' (공동관리자)',
-"label.painfo" => ' (관리자)',
 "label.time_noentry" => '항목이 없음',
-"label.today" => '오늘',
 "label.req_fields" => '* 필수 필드',
 "label.sel_project" => '프로젝트 선택',
 "label.sel_activity" => '활동내용 선택',
@@ -420,10 +567,4 @@ $i18n_key_words = array(
 "label.hrs" => '시간',
 "label.errors" => '오류',
 "label.ldap_hint" => '아래의 필드들에서 <b>Windows 로그인</b> 및 <b>암호</b> 를 입력하십시오.',
-// Note to translators: the strings below need to be translated.
-// "label.calendar_today" => 'today',
-// "label.calendar_close" => 'close',
-
-// login hello text
-// "login.hello.text" => "Anuko Time Tracker is a simple, easy to use, open source time tracking system.",
 );