X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=WEB-INF%2Fresources%2Fzh-tw.lang.php;h=1889cc2ce9cae1b53142794e51d31fc4fd901c08;hb=fcb232f2236dd0105525b0239fa7b212aaf72a2a;hp=ee867071ae8689b758b0117ccdba44594d6c1255;hpb=e2988808ff230ec86b2a1c2492063f8d67b0cd54;p=timetracker.git
diff --git a/WEB-INF/resources/zh-tw.lang.php b/WEB-INF/resources/zh-tw.lang.php
index ee867071..1889cc2c 100644
--- a/WEB-INF/resources/zh-tw.lang.php
+++ b/WEB-INF/resources/zh-tw.lang.php
@@ -71,39 +71,38 @@ $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.',
-'error.db' => 'è³æ庫é¯èª¤',
-'error.field' => 'ä¸æ£ç¢ºç"{0}"è³æ',
-'error.empty' => 'æ¬ç®"{0}"çºç©º',
-'error.not_equal' => 'æ¬ç®"{0}"ä¸çæ¼æ¬ç®"{1}"',
+'error.db' => 'è³æ庫é¯èª¤ã',
+'error.field' => 'ä¸æ£ç¢ºç"{0}"è³æã',
+'error.empty' => 'æ¬ç®"{0}"çºç©ºã',
+'error.not_equal' => 'æ¬ç®"{0}"ä¸çæ¼æ¬ç®"{1}"ã',
// TODO: translate the following.
// 'error.interval' => 'Field "{0}" must be greater than "{1}".',
-'error.project' => 'é¸æé
ç®',
+'error.project' => 'é¸æé
ç®ã',
// TODO: translate the following.
// 'error.task' => 'Select task.',
-'error.client' => 'é¸æ客æ¶',
+'error.client' => 'é¸æ客æ¶ã',
// TODO: translate the following.
// 'error.report' => 'Select report.',
// 'error.record' => 'Select record.',
-'error.auth' => 'ä¸æ£ç¢ºçç¨æ¶åæå¯ç¢¼',
-'error.user_exists' => '該使ç¨è
ç»éè³è¨å·²ç¶åå¨',
-'error.project_exists' => '該å°æ¡å稱已ç¶åå¨',
+'error.auth' => 'ä¸æ£ç¢ºçç¨æ¶åæå¯ç¢¼ã',
+'error.user_exists' => '該使ç¨è
ç»éè³è¨å·²ç¶åå¨ã',
+'error.project_exists' => '該å°æ¡å稱已ç¶åå¨ã',
// 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' => 'æ²æ該ç»éè³è¨ç使ç¨è
',
+'error.no_login' => 'æ²æ該ç»éè³è¨ç使ç¨è
ã',
// TODO: translate the following.
// 'error.no_teams' => 'Your database is empty. Login as admin and create a new team.',
-'error.upload' => 'ä¸å³æ件åºé¯',
+'error.upload' => 'ä¸å³æ件åºé¯ã',
// TODO: translate the following.
// 'error.range_locked' => 'Date range is locked.',
-'error.mail_send' => 'ç¼ééµä»¶æåºé¯',
-'error.no_email' => 'æ²æé»åéµä»¶è該ç¨æ¶åéè¯',
+'error.mail_send' => 'ç¼ééµä»¶æåºé¯ã',
+'error.no_email' => 'æ²æé»åéµä»¶è該ç¨æ¶åéè¯ã',
// TODO: translate the following.
// 'error.uncompleted_exists' => 'Uncompleted entry already exists. Close or delete it.',
// 'error.goto_uncompleted' => 'Go to uncompleted entry.',
@@ -156,14 +155,15 @@ $i18n_key_words = array(
// TODO: translate the following.
// 'label.bcc' => 'Bcc',
'label.subject' => '主é¡',
+'label.date' => 'æ¥æ',
// 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.user' => 'ç¨æ¶',
+'label.users' => 'ç¨æ¶',
+'label.client' => '客æ¶',
+'label.clients' => '客æ¶',
+// TODO: translate the following.
// 'label.option' => 'Option',
// 'label.invoice' => 'Invoice',
'label.project' => 'é
ç®',
@@ -172,9 +172,9 @@ $i18n_key_words = array(
// 'label.task' => 'Task',
// 'label.tasks' => 'Tasks',
// 'label.description' => 'Description',
-// 'label.start' => 'Start',
-// 'label.finish' => 'Finish',
-// 'label.duration' => 'Duration',
+'label.start' => 'éå§',
+'label.finish' => 'çµæ',
+'label.duration' => 'æçºæé',
'label.note' => 'å註',
'label.notes' => 'å註',
// TODO: translate the following.
@@ -198,11 +198,12 @@ $i18n_key_words = array(
// 'label.day_view' => 'Day view',
// 'label.week_view' => 'Week view',
// 'label.id' => 'ID',
-// 'label.language' => 'Language',
+'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.date_format' => 'æ¥ææ ¼å¼',
+'label.time_format' => 'æéæ ¼å¼',
+'label.week_start' => 'æ¯é±ç第ä¸å¤©',
'label.comment' => 'çè¨',
'label.status' => 'çæ
',
'label.tax' => 'ç¨
',
@@ -215,7 +216,7 @@ $i18n_key_words = array(
'label.or' => 'æ',
// TODO: translate the following.
// 'label.error' => 'Error',
-// 'label.ldap_hint' => 'Type your Windows login and password in the fields below.',
+'label.ldap_hint' => 'å¨ä¸éºµçæ¬ç®è¼¸å
¥æ¨çWindowsç¨æ¶ååå¯ç¢¼ã',
'label.required_fields' => '* å¿
å¡«æ¬ç®',
'label.on_behalf' => '代表',
'label.role_manager' => '(ç¶ç)',
@@ -281,14 +282,15 @@ $i18n_key_words = array(
// 'title.add_task' => 'Adding Task',
// 'title.edit_task' => 'Editing Task',
// 'title.delete_task' => 'Deleting Task',
-// 'title.users' => 'Users',
+'title.users' => 'ç¨æ¶',
+// TODO: translate the following.
// '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.clients' => '客æ¶',
+'title.add_client' => 'æ·»å 客æ¶',
+'title.edit_client' => '編輯客æ¶',
+'title.delete_client' => 'åªé¤å®¢æ¶',
// 'title.invoices' => 'Invoices',
// 'title.add_invoice' => 'Adding Invoice',
// 'title.view_invoice' => 'Viewing Invoice',
@@ -336,7 +338,8 @@ $i18n_key_words = array(
'dropdown.projects' => 'é
ç®',
// TODO: translate the following.
// 'dropdown.tasks' => 'tasks',
-// 'dropdown.clients' => 'clients',
+'dropdown.clients' => '客æ¶',
+// TODO: translate the following.
// 'dropdown.select' => '--- select ---',
// 'dropdown.select_invoice' => '--- select invoice ---',
// 'dropdown.status_active' => 'active',
@@ -352,9 +355,9 @@ $i18n_key_words = array(
// 'form.login.about' =>'Anuko Time Tracker is a simple, easy to use, open source time tracking system.',
// Resetting Password form. See example at https://timetracker.anuko.com/password_reset.php.
+'form.reset_password.message' => 'å¯ç¢¼éè¨è«æ±å·²ç¶ç¼éã', // TODO: Add "by email" to match the English string.
+'form.reset_password.email_subject' => 'Anukoæé追蹤å¨å¯ç¢¼éè¨è«æ±',
// TODO: translate the following.
-// 'form.reset_password.message' => 'Password reset request sent by email.',
-// 'form.reset_password.email_subject' => 'Anuko Time Tracker password reset request',
// 'form.reset_password.email_body' => "Dear User,\n\nSomeone, possibly you, requested your Anuko Time Tracker password reset. Please visit this link if you want to reset your password.\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",
// Changing Password form. See example at https://timetracker.anuko.com/password_change.php?ref=1.
@@ -391,11 +394,12 @@ $i18n_key_words = array(
'form.reports.show_fields' => '顯示æ¬ç®',
'form.reports.group_by' => 'åçµæ¹å¼',
'form.reports.group_by_no' => '--- æ²æåçµ ---',
+'form.reports.group_by_date' => 'æ¥æ',
+'form.reports.group_by_user' => 'ç¨æ¶',
// TODO: translate the following.
-// 'form.reports.group_by_date' => 'date',
-// 'form.reports.group_by_user' => 'user',
// 'form.reports.group_by_client' => 'client',
-// 'form.reports.group_by_project' => 'project',
+'form.reports.group_by_project' => 'é
ç®',
+// TODO: translate the following.
// 'form.reports.group_by_task' => 'task',
// 'form.reports.totals_only' => 'Totals only',
@@ -434,9 +438,6 @@ $i18n_key_words = array(
// TODO: refactoring ongoing down from here.
// password reminder form attributes
-"form.fpass.login" => 'ç»é',
-"form.fpass.send_pass_str" => 'å¯ç¢¼éè¨è«æ±å·²ç¶ç¼é',
-"form.fpass.send_pass_subj" => 'Anukoæé追蹤å¨å¯ç¢¼éè¨è«æ±',
// Note to translators: the ending of this string below needs to be translated.
"form.fpass.send_pass_body" => "親æçç¨æ¶ï¼\n\næ人ï¼ä¹å¯è½æ¯æ¨èªå·±ï¼è«æ±éæ°è¨ç½®æ¨çAnukoæé追蹤å¨å¯ç¢¼ãå¦ææ¨å¸æéè¨æ¨çå¯ç¢¼ï¼è«è¨ªåä¸éºµçé£çµï¼\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",
"form.fpass.reset_comment" => "è¦éè¨å¯ç¢¼ï¼è«è¼¸å
¥æ°å¯ç¢¼ä¸¦é»æä¿åæé",
@@ -451,24 +452,13 @@ $i18n_key_words = array(
"form.admin.profile.th.id" => 'IDè',
"form.admin.profile.th.active" => 'åå',
"form.admin.options" => 'é¸é
',
-"form.admin.custom_date_format" => "æ¥ææ ¼å¼",
-"form.admin.custom_time_format" => "æéæ ¼å¼",
-"form.admin.start_week" => "æ¯é±ç第ä¸å¤©",
// my time form attributes
"form.mytime.title" => 'æçæéè¨é',
"form.mytime.edit_title" => '編輯æéè¨é',
"form.mytime.del_str" => 'åªé¤æéè¨é',
"form.mytime.time_form" => ' (æ:å)',
-"form.mytime.date" => 'æ¥æ',
-"form.mytime.start" => 'éå§',
-"form.mytime.finish" => 'çµæ',
-"form.mytime.duration" => 'æçºæé',
-"form.mytime.daily" => 'æ¯æ¥å·¥ä½',
"form.mytime.total" => '總å°ææ¸ï¼ ',
-"form.mytime.th.start" => 'éå§',
-"form.mytime.th.finish" => 'çµæ',
-"form.mytime.th.duration" => 'æçºæé',
"form.mytime.del_yes" => 'æååªé¤æéè¨é',
"form.mytime.no_finished_rec" => '該è¨éåªä¿åäºéå§æéãéä¸æ¯é¯èª¤ãå¦æéè¦ï¼è«ç»åºã',
"form.mytime.warn_tozero_rec" => 'ç±æ¼é段æéæ¯éå®çï¼è©²æéè¨éå¿
é åªé¤',
@@ -478,47 +468,24 @@ $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.login" => 'ç»é',
-
"form.profile.showchart" => '顯示é¤
çå',
-"form.profile.lang" => 'èªè¨',
-"form.profile.custom_date_format" => "æ¥ææ ¼å¼",
-"form.profile.custom_time_format" => "æéæ ¼å¼",
-"form.profile.default_format" => "(é»èª)",
-"form.profile.start_week" => "æ¯é±ç第ä¸å¤©",
// people form attributes
"form.people.ppl_str" => '人å¡',
"form.people.createu_str" => 'æ°å»ºç¨æ¶',
"form.people.edit_str" => '編輯ç¨æ¶',
"form.people.del_str" => 'åªé¤ç¨æ¶',
-"form.people.th.login" => 'ç»é',
"form.people.th.role" => 'è§è²',
"form.people.th.rate" => 'è²»ç',
"form.people.manager" => 'ç¶ç',
"form.people.comanager" => 'åä½ç¶ç人',
-"form.people.empl" => 'ç¨æ¶',
-"form.people.login" => 'ç»é',
"form.people.rate" => 'é»èªå°ææ¶è²»',
"form.people.comanager" => 'åä½ç¶ç人',
// report attributes
"form.report.title" => 'å ±å',
-"form.report.from" => 'éå§æ¥æ',
-"form.report.to" => 'çµææ¥æ',
-"form.report.groupby_user" => 'ç¨æ¶',
-"form.report.groupby_project" => 'é
ç®',
-"form.report.duration" => 'æçºæé',
-"form.report.start" => 'éå§',
-"form.report.finish" => 'çµæ',
-"form.report.totals_only" => 'å
å
ä»å¤©',
"form.report.total" => '總è¨æé',
-"form.report.th.empllist" => 'ç¨æ¶',
-"form.report.th.date" => 'æ¥æ',
-"form.report.th.start" => 'éå§',
-"form.report.th.finish" => 'çµæ',
-"form.report.th.duration" => 'æçºæé',
// mail form attributes
"form.mail.from" => 'å¾',
@@ -534,7 +501,6 @@ $i18n_key_words = array(
"form.invoice.above" => 'ç¼ç¥¨éå è³è¨',
"form.invoice.select_cust" => 'é¸æ客æ¶',
"form.invoice.fillform" => '填寫該æ¬ç®',
-"form.invoice.date" => 'æ¥æ',
"form.invoice.number" => 'ç¼ç¥¨è碼',
"form.invoice.th.username" => 'æ¶è²»äºº',
"form.invoice.th.time" => 'å°ææ¸',
@@ -557,11 +523,6 @@ $i18n_key_words = array(
"form.migration.compression.gzip" => 'gzipæ ¼å¼',
"form.migration.compression.bzip" => 'bzipæ ¼å¼',
-"form.client.title" => '客æ¶',
-"form.client.add_title" => 'æ·»å 客æ¶',
-"form.client.edit_title" => '編輯客æ¶',
-"form.client.del_title" => 'åªé¤å®¢æ¶',
-
// miscellaneous strings
"forward.tocsvfile" => 'å°è³æ輸åºå°.csvæ件',
"forward.toxmlfile" => 'å°è³æ輸åºå°.xmlæ件',
@@ -584,6 +545,4 @@ $i18n_key_words = array(
"label.sel_none" => 'å
¨é¨ä¸é¸',
"label.disable" => 'ç¦ç¨',
"label.enable" => 'åç¨',
-"label.hrs" => 'å°æ',
-"label.ldap_hint" => 'å¨ä¸éºµçæ¬ç®è¼¸å
¥æ¨çWindowsç¨æ¶ååå¯ç¢¼ã',
);