2 // +----------------------------------------------------------------------+
3 // | Anuko Time Tracker
4 // +----------------------------------------------------------------------+
5 // | Copyright (c) Anuko International Ltd. (https://www.anuko.com)
6 // +----------------------------------------------------------------------+
7 // | LIBERAL FREEWARE LICENSE: This source code document may be used
8 // | by anyone for any purpose, and freely redistributed alone or in
9 // | combination with other software, provided that the license is obeyed.
11 // | There are only two ways to violate the license:
13 // | 1. To redistribute this code in source form, with the copyright
14 // | notice or license removed or altered. (Distributing in compiled
15 // | forms without embedded copyright notices is permitted).
17 // | 2. To redistribute modified versions of this code in *any* form
18 // | that bears insufficient indications that the modifications are
19 // | not the work of the original author(s).
21 // | This license applies to this document only, not any other software
22 // | that it may be combined with.
24 // +----------------------------------------------------------------------+
26 // | https://www.anuko.com/time_tracker/credits.htm
27 // +----------------------------------------------------------------------+
29 // Note: escape apostrophes with THREE backslashes, like here: choisir l\\\'option.
30 // Other characters (such as double-quotes in http links, etc.) do not have to be escaped.
32 $i18n_language = '한국어';
33 $i18n_months = array('1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월');
34 $i18n_weekdays = array('일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일');
35 $i18n_weekdays_short = array('일', '월', '화', '수', '목', '금', '토');
37 $i18n_holidays = array('01/01', '01/25', '01/26', '01/27', '03/02', '03/05', '08/15', '12/25');
39 $i18n_key_words = array(
41 // Menus - short selection strings that are displayed on top of application web pages.
42 // Example: https://timetracker.anuko.com (black menu on top).
43 'menu.login' => '로그인',
44 'menu.logout' => '로그아웃',
45 // TODO: translate the following.
46 // 'menu.forum' => 'Forum',
48 // TODO: translate the following.
49 // 'menu.create_team' => 'Create Team',
50 'menu.profile' => '프로필',
51 // TODO: translate the following.
52 // 'menu.time' => 'Time',
53 // 'menu.expenses' => 'Expenses',
54 'menu.reports' => '보고서',
55 // TODO: translate the following.
56 // 'menu.charts' => 'Charts',
57 'menu.projects' => '프로젝트',
58 // TODO: translate the following.
59 // 'menu.tasks' => 'Tasks',
60 // 'menu.users' => 'Users',
62 // TODO: translate the following.
63 // 'menu.export' => 'Export',
64 'menu.clients' => '클라이언트',
65 'menu.options' => '옵션',
67 // Footer - strings on the bottom of most pages.
68 // TODO: translate the following.
69 // 'footer.contribute_msg' => 'You can contribute to Time Tracker in different ways.',
70 // 'footer.credits' => 'Credits',
71 // 'footer.license' => 'License',
72 // 'footer.improve' => 'Contribute', // Translators: this could mean "Improve", if it makes better sense in your language.
73 // This is a link to a webpage that describes how to contribute to the project.
76 // TODO: All error messages should be complete sentences with a period (full stop) in the end. Put them there.
77 // TODO: translate the following.
78 // 'error.access_denied' => 'Access denied.',
79 // 'error.sys' => 'System error.',
80 'error.db' => '데이터베이스 오류',
81 'error.field' => '부정확한 "{0}" 의 데이터',
82 'error.empty' => '"{0}" 의 필드가 비어있습니다',
83 'error.not_equal' => '"{0}" 의 필드가 "{1}" 의 필드와 같지 않습니다',
84 // TODO: translate the following.
85 // 'error.interval' => 'Field "{0}" must be greater than "{1}".',
86 'error.project' => '프로젝트의 선택',
87 // TODO: translate the following.
88 // 'error.task' => 'Select task.',
89 // 'error.client' => 'Select client.',
90 // 'error.report' => 'Select report.',
91 // 'error.record' => 'Select record.',
92 'error.auth' => '부정확한 로그인 혹은 암호가 틀립니다',
93 'error.user_exists' => '본 로그인과 연계된 사용자가 이미 있습니다',
94 'error.project_exists' => '본 이름과 연계된 프로젝트가 이미 있습니다',
95 // TODO: translate the following.
96 // 'error.task_exists' => 'Task with this name already exists.',
97 // 'error.client_exists' => 'Client with this name already exists.',
98 // 'error.invoice_exists' => 'Invoice with this number already exists.',
99 // 'error.no_invoiceable_items' => 'There are no invoiceable items.',
100 'error.no_login' => '본 로그인과 연계된 사용자가 없습니다',
101 // TODO: translate the following.
102 // 'error.no_teams' => 'Your database is empty. Login as admin and create a new team.',
103 'error.upload' => '파일 업로드 오류',
104 // TODO: translate the following.
105 // 'error.range_locked' => 'Date range is locked.',
106 'error.mail_send' => '메일 보내기에서의 오류',
107 'error.no_email' => '본 로그인과 연계된 이메일이 없습니다',
108 // TODO: translate the following.
109 // 'error.uncompleted_exists' => 'Uncompleted entry already exists. Close or delete it.',
110 // 'error.goto_uncompleted' => 'Go to uncompleted entry.',
111 // 'error.overlap' => 'Time interval overlaps with existing records.',
112 // 'error.future_date' => 'Date is in future.',
114 // Labels for buttons.
115 'button.login' => '로그인',
116 'button.now' => '지금',
117 'button.save' => '저장',
118 // TODO: translate the following.
119 // 'button.copy' => 'Copy',
120 'button.cancel' => '취소',
121 'button.submit' => '발송',
122 // TODO: translate the following.
123 // 'button.add_user' => 'Add user',
124 // 'button.add_project' => 'Add project',
125 // 'button.add_task' => 'Add task',
126 // 'button.add_client' => 'Add client',
127 // 'button.add_invoice' => 'Add invoice',
128 // 'button.add_option' => 'Add option',
129 'button.add' => '추가',
130 'button.generate' => '생성',
131 // TODO: translate the following.
132 // 'button.reset_password' => 'Reset password',
133 'button.send' => '송신',
134 'button.send_by_email' => '이메일로 송신',
135 // TODO: translate the following.
136 // 'button.create_team' => 'Create team',
137 'button.export' => '팀 익스포트',
138 'button.import' => '팀 임포트',
139 // TODO: translate the following.
140 // 'button.close' => 'Close',
141 // 'button.stop' => 'Stop',
143 // Labels for controls on forms. Labels in this section are used on multiple forms.
144 // TODO: translate the following.
145 // 'label.team_name' => 'Team name',
146 // 'label.address' => 'Address',
147 'label.currency' => '화폐',
148 // TODO: translate the following.
149 // 'label.manager_name' => 'Manager name',
150 // 'label.manager_login' => 'Manager login',
151 'label.person_name' => '이름',
152 'label.thing_name' => '이름',
153 // TODO: translate the following.
154 // 'label.login' => 'Login',
155 'label.password' => 'Password',
156 'label.confirm_password' => '암호 확인',
157 'label.email' => '이메일',
158 // TODO: translate the following.
159 // 'label.cc' => 'Cc',
160 // 'label.bcc' => 'Bcc',
161 'label.subject' => '제목',
162 // TODO: translate the following.
163 // 'label.date' => 'Date',
164 // 'label.start_date' => 'Start date',
165 // 'label.end_date' => 'End date',
166 // 'label.user' => 'User',
167 // 'label.users' => 'Users',
168 // 'label.client' => 'Client',
169 // 'label.clients' => 'Clients',
170 // 'label.option' => 'Option',
171 // 'label.invoice' => 'Invoice',
172 // 'label.project' => 'Project',
173 // 'label.projects' => 'Projects',
174 // 'label.task' => 'Task',
175 // 'label.tasks' => 'Tasks',
176 // 'label.description' => 'Description',
177 // 'label.start' => 'Start',
178 // 'label.finish' => 'Finish',
179 // 'label.duration' => 'Duration',
180 // 'label.note' => 'Note',
181 // 'label.notes' => 'Notes',
182 // 'label.item' => 'Item',
183 // 'label.cost' => 'Cost',
184 // 'label.day_total' => 'Day total',
185 // 'label.week_total' => 'Week total',
186 // 'label.month_total' => 'Month total',
187 'label.today' => '오늘',
188 // TODO: translate the following.
189 // 'label.total_hours' => 'Total hours',
190 // 'label.total_cost' => 'Total cost',
191 // 'label.view' => 'View',
192 'label.edit' => '편집',
193 'label.delete' => '삭제',
194 // TODO: translate the following.
195 // 'label.configure' => 'Configure',
196 // 'label.select_all' => 'Select all',
197 // 'label.select_none' => 'Deselect all',
198 // 'label.day_view' => 'Day view',
199 // 'label.week_view' => 'Week view',
200 // 'label.id' => 'ID',
201 'label.language' => '언어',
202 // TODO: translate the following.
203 // 'label.decimal_mark' => 'Decimal mark',
204 // 'label.date_format' => 'Date format',
205 // 'label.time_format' => 'Time format',
206 // 'label.week_start' => 'First day of week',
207 // 'label.comment' => 'Comment',
208 // 'label.status' => 'Status',
209 // 'label.tax' => 'Tax',
210 // 'label.subtotal' => 'Subtotal',
211 'label.total' => '합계',
212 // TODO: translate the following.
213 // 'label.client_name' => 'Client name',
214 // 'label.client_address' => 'Client address',
215 // 'label.or' => 'or',
216 // 'label.error' => 'Error',
217 // 'label.ldap_hint' => 'Type your <b>Windows login</b> and <b>password</b> in the fields below.',
218 // 'label.required_fields' => '* - required fields',
219 // 'label.on_behalf' => 'on behalf of',
220 // TODO: translate all 3 roles properly, see https://www.anuko.com/time_tracker/user_guide/user_accounts.htm
221 // This may require different terms for role_manager and role_comanager.
222 'label.role_manager' => '(관리자)',
223 'label.role_comanager' => '(공동관리자)',
224 // 'label.role_admin' => '(administrator)',
225 // TODO: translate the following.
226 // 'label.page' => 'Page',
227 // 'label.condition' => 'Condition',
228 // 'label.yes' => 'yes',
229 // 'label.no' => 'no',
230 // Labels for plugins (extensions to Time Tracker that provide additional features).
231 // TODO: translate the following.
232 // 'label.custom_fields' => 'Custom fields',
233 // 'label.monthly_quotas' => 'Monthly quotas',
234 // 'label.type' => 'Type',
235 // 'label.type_dropdown' => 'dropdown',
236 // 'label.type_text' => 'text',
237 // 'label.required' => 'Required',
238 // 'label.fav_report' => 'Favorite report',
239 // 'label.cron_schedule' => 'Cron schedule',
240 // 'label.what_is_it' => 'What is it?',
241 // 'label.expense' => 'Expense',
242 // 'label.quantity' => 'Quantity',
243 // 'label.paid_status' => 'Paid status',
244 // 'label.paid' => 'Paid',
245 // 'label.mark_paid' => 'Mark paid',
248 'title.login' => '로그인',
249 // TODO: translate the following.
250 // 'title.teams' => 'Teams',
251 // 'title.create_team' => 'Creating Team',
252 // 'title.edit_team' => 'Editing Team',
253 // 'title.delete_team' => 'Deleting Team',
254 'title.reset_password' => '암호 재설정',
255 // TODO: translate the following.
256 // 'title.change_password' => 'Changing Password',
257 // 'title.time' => 'Time',
258 // 'title.edit_time_record' => 'Editing Time Record',
259 // 'title.delete_time_record' => 'Deleting Time Record',
260 // 'title.expenses' => 'Expenses',
261 // 'title.edit_expense' => 'Editing Expense Item',
262 // 'title.delete_expense' => 'Deleting Expense Item',
263 // 'title.predefined_expenses' => 'Predefined Expenses',
264 // 'title.add_predefined_expense' => 'Adding Predefined Expense',
265 // 'title.edit_predefined_expense' => 'Editing Predefined Expense',
266 // 'title.delete_predefined_expense' => 'Deleting Predefined Expense',
267 // 'title.reports' => 'Reports',
268 'title.report' => '보고서',
272 // TODO: refactoring ongoing down from here.
274 "form.filter.project" => '프로젝트',
275 "form.filter.filter" => '좋아하는 보고서',
276 "form.filter.filter_new" => '좋아하는 것으로 저장',
277 "form.filter.filter_confirm_delete" => '좋아하는 이 보고서를 삭제해도 좋습니까?',
279 // password reminder form attributes
280 "form.fpass.login" => '로그인',
281 "form.fpass.send_pass_str" => '송신한 암호 재설정 요청',
282 "form.fpass.send_pass_subj" => 'Anuko Time Tracker 암호 재설정 요청',
283 // Note to translators: the ending of this string below needs to be translated.
284 "form.fpass.send_pass_body" => "사용자님께,\n\n누군가 (아마 당신) 가 당신의 Anuko Time Tracker 암호 재설정을 요청하였습니다. 당신의 암호를 재설정하기 바란다면 이 링크를 찾아주십시오. \n\n%s\n\nAnuko Time Tracker is a simple, easy to use, open source time tracking system. Visit https://www.anuko.com for more information.\n\n",
285 "form.fpass.reset_comment" => "암호를 재설정하려면 암호를 입력하고 저장을 클릭하십시오",
287 // administrator form
288 "form.admin.title" => '관리자',
289 "form.admin.duty_text" => '신규 팀관리자 계정을 생성하여 신규 팀을 생성합니다.<br>또한 다른 Anuko Time Tracker 서버 에서 xml 파일로부터 팀 데이터를 임포트할수 있습니다 (로그인 충돌은 허용되지 안음).',
291 "form.admin.change_pass" => '관리자 계정의 암호 변경',
292 "form.admin.profile.title" => '팀',
293 "form.admin.profile.noprofiles" => '당신의 데이터베이스는 비어있습니다. 관리자로 로그인하여 새로운 팀을 생성하십시오.',
294 "form.admin.profile.comment" => '팀 삭제',
295 "form.admin.profile.th.id" => '식별자',
296 "form.admin.profile.th.active" => '활동내용',
297 "form.admin.options" => '옵션',
298 "form.admin.custom_date_format" => "날짜 포맷",
299 "form.admin.custom_time_format" => "시간 포맷",
300 "form.admin.start_week" => "주의 시작요일",
302 // my time form attributes
303 "form.mytime.title" => '나의 시간',
304 "form.mytime.edit_title" => '시간기록을 편집하기',
305 "form.mytime.del_str" => '시간기록을 삭제하기',
306 "form.mytime.time_form" => ' (hh:mm)',
307 "form.mytime.date" => '날짜',
308 "form.mytime.project" => '프로젝트',
309 "form.mytime.start" => '시작',
310 "form.mytime.finish" => '마감',
311 "form.mytime.duration" => '기간',
312 "form.mytime.note" => '표식',
313 "form.mytime.behalf" => '다음을 위한 하루일과',
314 "form.mytime.daily" => '하루일과',
315 "form.mytime.total" => '전체 시간: ',
316 "form.mytime.th.project" => '프로젝트',
317 "form.mytime.th.activity" => '활동내용',
318 "form.mytime.th.start" => '시작',
319 "form.mytime.th.finish" => '마감',
320 "form.mytime.th.duration" => '기간',
321 "form.mytime.th.note" => '표식',
322 "form.mytime.del_yes" => '성과적으로 삭제된 시간기록',
323 "form.mytime.no_finished_rec" => '이 기록은 시작 시간으로만 저장되었습니다. 이것은 오류는 아닙니다. 필요하면 로그아웃 하십시오.',
324 "form.mytime.billable" => '청구가능',
325 "form.mytime.warn_tozero_rec" => '이 시간기간이 로크되었으므로 이 시간기록은 삭제되어야 합니다',
326 "form.mytime.uncompleted" => '완성되지 않은',
328 // profile form attributes
329 // Note to translators: we need a more accurate translation of form.profile.create_title
330 "form.profile.create_title" => '신규 관리자 계정을 생성',
331 "form.profile.edit_title" => '프로필을 편집하기',
332 "form.profile.login" => '로그인ID',
334 "form.profile.showchart" => '원 그래프를 보기',
335 "form.profile.custom_date_format" => "날짜 포맷",
336 "form.profile.custom_time_format" => "시간 포맷",
337 "form.profile.default_format" => "(디폴트)",
338 "form.profile.start_week" => "주의 시작요일",
340 // people form attributes
341 "form.people.ppl_str" => '멤버',
342 "form.people.createu_str" => '신규 사용자를 만들기',
343 "form.people.edit_str" => '사용자를 편집하기',
344 "form.people.del_str" => '사용자를 삭제하기',
345 "form.people.th.login" => '로그인ID',
346 "form.people.th.role" => '직위',
347 "form.people.th.status" => '상태',
348 "form.people.th.project" => '프로젝트',
349 "form.people.th.rate" => '급여',
350 "form.people.manager" => '관리자',
351 "form.people.comanager" => '공동관리자',
352 "form.people.empl" => '사용자',
353 "form.people.login" => '로그인ID',
355 "form.people.rate" => '디폴트 시간당 급여',
356 "form.people.comanager" => '공동관리자',
357 "form.people.projects" => '프로젝트',
359 // projects form attributes
360 "form.project.proj_title" => '프로젝트',
361 "form.project.edit_str" => '프로젝트를 편집하기',
362 "form.project.add_str" => '신규 프로젝트를 추가하기',
363 "form.project.del_str" => '프로젝트를 삭제하기',
365 // activities form attributes
366 "form.activity.project" => '프로젝트',
369 "form.report.title" => '보고서',
370 "form.report.from" => '시작 날짜',
371 "form.report.to" => '마감 날짜',
372 "form.report.groupby_user" => '사용자',
373 "form.report.groupby_project" => '프로젝트',
374 "form.report.duration" => '기간',
375 "form.report.start" => '시작',
376 "form.report.finish" => '마감',
377 "form.report.note" => '표식',
378 "form.report.project" => '프로젝트',
379 "form.report.totals_only" => '오직 전체만',
380 "form.report.total" => '시간 총합',
381 "form.report.th.empllist" => '사용자',
382 "form.report.th.date" => '날짜',
383 "form.report.th.project" => '프로젝트',
384 "form.report.th.start" => '시작',
385 "form.report.th.finish" => '마감',
386 "form.report.th.duration" => '기간',
387 "form.report.th.note" => '주의',
389 // mail form attributes
390 "form.mail.from" => '부터',
391 "form.mail.to" => '까지',
392 "form.mail.comment" => '코멘트',
393 "form.mail.above" => '이 보고서를 이메일로 송신',
394 // Note to translators: this string needs to be translated.
395 // "form.mail.footer_str" => 'Anuko Time Tracker is a simple, easy to use, open source<br>time tracking system. Visit <a href="https://www.anuko.com">www.anuko.com</a> for more information.',
396 "form.mail.sending_str" => '<b>송신된 메시지</b>',
398 // invoice attributes
399 "form.invoice.title" => '송장',
400 "form.invoice.caption" => '송장',
401 "form.invoice.above" => '송장에 대한 보충정보',
402 "form.invoice.select_cust" => '클라이언트의 선택',
403 "form.invoice.fillform" => '필드들을 채우십시오',
404 "form.invoice.date" => '날짜',
405 "form.invoice.number" => '송장 번호',
406 "form.invoice.tax" => '세금',
407 "form.invoice.comment" => '코멘트 ',
408 "form.invoice.th.username" => '개인',
409 "form.invoice.th.time" => '시간',
410 "form.invoice.th.rate" => '급여',
411 "form.invoice.th.summ" => '수량',
412 "form.invoice.subtotal" => '소계',
413 "form.invoice.customer" => '클라이언트',
414 "form.invoice.mailinv_above" => '이 송장을 이메일로 송신',
415 "form.invoice.sending_str" => '<b>송신한 송장</b>',
417 "form.migration.zip" => '압축',
418 "form.migration.file" => '파일 선택',
419 "form.migration.import.title" => '데이터 임포트',
420 "form.migration.import.success" => '성과적으로 완료된 임포트',
421 "form.migration.import.text" => 'xml 파일로부터 팀 데이터를 임포트',
422 "form.migration.export.title" => '데이터 익스포트',
423 "form.migration.export.success" => '성과적으로 완료된 익스포트',
424 "form.migration.export.text" => '팀의 모든 데이터를 xml 파일로 익스포트 할수 있습니다. 이것은 데이터를 당신자신의 서버에로 옮길때 쓸모있을수 있습니다.',
425 "form.migration.compression.none" => '없음',
426 "form.migration.compression.gzip" => 'gzip',
427 "form.migration.compression.bzip" => 'bzip',
429 "form.client.title" => '클라이언트',
430 "form.client.add_title" => '클라이언트 추가',
431 "form.client.edit_title" => '클라이언트 편집',
432 "form.client.del_title" => '클라이언트 삭제',
433 "form.client.tax" => '세금',
434 "form.client.comment" => '코멘트 ',
436 // miscellaneous strings
437 "forward.forgot_password" => '암호를 잊으셨습니까?',
438 "forward.edit" => '편집',
439 "forward.delete" => '삭제',
440 "forward.tocsvfile" => '데이터를 .csv 파일로 익스포트',
441 "forward.toxmlfile" => '데이터를 .xml 파일로 익스포트',
442 "forward.geninvoice" => '송장 만들기',
443 "forward.change" => '클라이언트 구성',
445 // strings inside contols on forms
446 "controls.select.project" => '--- 프로젝트 선택 ---',
447 "controls.select.activity" => '--- 활동내용 선택 ---',
448 "controls.select.client" => '--- 클라이언트 선택 ---',
449 "controls.project_bind" => '--- 전부 ---',
450 "controls.all" => '--- 전부 ---',
451 "controls.notbind" => '--- 아니 ---',
452 "controls.per_tm" => '이번달',
453 "controls.per_lm" => '전번달',
454 "controls.per_tw" => '이번주',
455 "controls.per_lw" => '전번주',
456 "controls.per_td" => '오늘',
457 "controls.per_at" => '전시간',
458 "controls.per_ty" => '올해',
459 "controls.sel_period" => '--- 시간 기간을 선택 ---',
460 "controls.sel_groupby" => '--- 그룹화되지 않음 ---',
461 "controls.inc_billable" => '청구 가능한',
462 "controls.inc_nbillable" => '청구 가능하지 않은',
463 "controls.default" => '--- 디폴트 ---',
466 "label.chart.title1" => '사용자별 활동내용',
467 "label.chart.title2" => '사용자별 프로젝트',
468 "label.chart.period" => '기간에 따른 그래프',
470 "label.pbehalf_info" => '%s %s <b>%s 을 대표하여</b>',
471 "label.time_noentry" => '항목이 없음',
472 "label.req_fields" => '* 필수 필드',
473 "label.sel_project" => '프로젝트 선택',
474 "label.sel_activity" => '활동내용 선택',
475 "label.sel_tp" => '시간 기간을 선택',
476 "label.set_tp" => '혹은 날짜를 설정',
477 "label.fields" => '필드들을 보기',
478 "label.group_title" => '다음것에 의한 그룹화',
479 "label.include_title" => '기록을 포함',
480 "label.inv_str" => '송장',
481 "label.set_empl" => '사용자들을 선택',
482 "label.sel_all" => '모두 선택',
483 "label.sel_none" => '모두 해제',
485 "label.disable" => '무력화',
486 "label.enable" => '가능화',
487 "label.filter" => '필터',
488 "label.timeweek" => '주별 합계',
490 "label.errors" => '오류',
491 "label.ldap_hint" => '아래의 필드들에서 <b>Windows 로그인</b> 및 <b>암호</b> 를 입력하십시오.',