From 106432ee4ec139736406eb90a5f62460b92d9970 Mon Sep 17 00:00:00 2001
From: Jason Cheng <sanyu3u@gmail.com>
Date: Mon, 2 Apr 2018 15:03:07 +0800
Subject: [PATCH 1/3] Added Language zh_TW

Added Language zh_TW
---
 resources/lang/en/settings.php      |   7 +-
 resources/lang/zh_TW/activities.php |  42 +++++
 resources/lang/zh_TW/auth.php       |  76 ++++++++
 resources/lang/zh_TW/common.php     |  64 +++++++
 resources/lang/zh_TW/components.php |  32 ++++
 resources/lang/zh_TW/entities.php   | 260 ++++++++++++++++++++++++++++
 resources/lang/zh_TW/errors.php     |  79 +++++++++
 resources/lang/zh_TW/pagination.php |  19 ++
 resources/lang/zh_TW/passwords.php  |  22 +++
 resources/lang/zh_TW/settings.php   | 117 +++++++++++++
 resources/lang/zh_TW/validation.php | 108 ++++++++++++
 11 files changed, 823 insertions(+), 3 deletions(-)
 create mode 100644 resources/lang/zh_TW/activities.php
 create mode 100644 resources/lang/zh_TW/auth.php
 create mode 100644 resources/lang/zh_TW/common.php
 create mode 100644 resources/lang/zh_TW/components.php
 create mode 100644 resources/lang/zh_TW/entities.php
 create mode 100644 resources/lang/zh_TW/errors.php
 create mode 100644 resources/lang/zh_TW/pagination.php
 create mode 100644 resources/lang/zh_TW/passwords.php
 create mode 100644 resources/lang/zh_TW/settings.php
 create mode 100644 resources/lang/zh_TW/validation.php

diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php
index ba631fb9e..de4894280 100755
--- a/resources/lang/en/settings.php
+++ b/resources/lang/en/settings.php
@@ -19,7 +19,7 @@ return [
     'app_settings' => 'App Settings',
     'app_name' => 'Application name',
     'app_name_desc' => 'This name is shown in the header and any emails.',
-    'app_name_header' => 'Show application name in header?',
+    'app_name_header' => 'Show Application name in header?',
     'app_public_viewing' => 'Allow public viewing?',
     'app_secure_images' => 'Enable higher security image uploads?',
     'app_secure_images_desc' => 'For performance reasons, all images are public. This option adds a random, hard-to-guess string in front of image urls. Ensure directory indexes are not enabled to prevent easy access.',
@@ -31,7 +31,7 @@ return [
     'app_logo_desc' => 'This image should be 43px in height. <br>Large images will be scaled down.',
     'app_primary_color' => 'Application primary color',
     'app_primary_color_desc' => 'This should be a hex value. <br>Leave empty to reset to the default color.',
-    'app_homepage' => 'Application homepage',
+    'app_homepage' => 'Application Homepage',
     'app_homepage_desc' => 'Select a page to show on the homepage instead of the default view. Page permissions are ignored for selected pages.',
     'app_homepage_default' => 'Default homepage view chosen',
     'app_disable_comments' => 'Disable comments',
@@ -132,7 +132,8 @@ return [
         'pl' => 'Polski',
         'it' => 'Italian',
         'ru' => 'Русский',
-        'zh_CN' => '简体中文'
+        'zh_CN' => '简体中文',
+	    'zh_TW' => '繁體中文'
     ]
     ///////////////////////////////////
 ];
diff --git a/resources/lang/zh_TW/activities.php b/resources/lang/zh_TW/activities.php
new file mode 100644
index 000000000..95db20b09
--- /dev/null
+++ b/resources/lang/zh_TW/activities.php
@@ -0,0 +1,42 @@
+<?php
+
+return [
+
+    /**
+     * Activity text strings.
+     * Is used for all the text within activity logs & notifications.
+     */
+
+    // Pages
+    'page_create'                 => '建立了頁面',
+    'page_create_notification'    => '頁面已建立成功',
+    'page_update'                 => '更新了頁面',
+    'page_update_notification'    => '頁面已更新成功',
+    'page_delete'                 => '刪除了頁面',
+    'page_delete_notification'    => '頁面已刪除成功',
+    'page_restore'                => '恢複了頁面',
+    'page_restore_notification'   => '頁面已恢複成功',
+    'page_move'                   => '移動了頁面',
+
+    // Chapters
+    'chapter_create'              => '建立了章節',
+    'chapter_create_notification' => '章節已建立成功',
+    'chapter_update'              => '更新了章節',
+    'chapter_update_notification' => '章節已建立成功',
+    'chapter_delete'              => '刪除了章節',
+    'chapter_delete_notification' => '章節已刪除成功',
+    'chapter_move'                => '移動了章節',
+
+    // Books
+    'book_create'                 => '建立了圖書',
+    'book_create_notification'    => '圖書已建立成功',
+    'book_update'                 => '更新了圖書',
+    'book_update_notification'    => '圖書已更新成功',
+    'book_delete'                 => '刪除了圖書',
+    'book_delete_notification'    => '圖書已刪除成功',
+    'book_sort'                   => '排序了圖書',
+    'book_sort_notification'      => '圖書已重新排序成功',
+
+    // Other
+    'commented_on'                => '評論',
+];
diff --git a/resources/lang/zh_TW/auth.php b/resources/lang/zh_TW/auth.php
new file mode 100644
index 000000000..f44ac8af0
--- /dev/null
+++ b/resources/lang/zh_TW/auth.php
@@ -0,0 +1,76 @@
+<?php
+return [
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used during authentication for various
+    | messages that we need to display to the user. You are free to modify
+    | these language lines according to your application's requirements.
+    |
+    */
+    'failed' => '使用者名稱或密碼錯誤。',
+    'throttle' => '您的登入次數過多,請在:seconds秒後重試。',
+
+    /**
+     * Login & Register
+     */
+    'sign_up' => '註冊',
+    'log_in' => '登入',
+    'log_in_with' => '以:socialDriver登入',
+    'sign_up_with' => '註冊:socialDriver',
+    'logout' => '登出',
+
+    'name' => '名稱',
+    'username' => '使用者名稱',
+    'email' => 'Email位址',
+    'password' => '密碼',
+    'password_confirm' => '確認密碼',
+    'password_hint' => '必須超過5個字元',
+    'forgot_password' => '忘記密碼?',
+    'remember_me' => '記住我',
+    'ldap_email_hint' => '請輸入用於此帳號的電子郵件。',
+    'create_account' => '建立帳號',
+    'social_login' => 'SNS登入',
+    'social_registration' => 'SNS註冊',
+    'social_registration_text' => '其他服務註冊/登入.',
+
+    'register_thanks' => '註冊完成!',
+    'register_confirm' => '請點選查收您的Email,並點選確認。',
+    'registrations_disabled' => '註冊目前被禁用',
+    'registration_email_domain_invalid' => '此Email域名沒有權限進入本系統',
+    'register_success' => '感謝您註冊:appName,您現在已經登入。',
+
+
+    /**
+     * Password Reset
+     */
+    'reset_password' => '重置密碼',
+    'reset_password_send_instructions' => '在下方輸入您的Email位址,您將收到一封帶有密碼重置連結的郵件。',
+    'reset_password_send_button' => '發送重置連結',
+    'reset_password_sent_success' => '密碼重置連結已發送到:email。',
+    'reset_password_success' => '您的密碼已成功重置。',
+
+    'email_reset_subject' => '重置您的:appName密碼',
+    'email_reset_text' => '您收到此電子郵件是因為我們收到了您的帳號的密碼重置請求。',
+    'email_reset_not_requested' => '如果您沒有要求重置密碼,則不需要採取進一步的操作。',
+
+
+    /**
+     * Email Confirmation
+     */
+    'email_confirm_subject' => '確認您在:appName的Email位址',
+    'email_confirm_greeting' => '感謝您加入:appName!',
+    'email_confirm_text' => '請點選下面的按鈕確認您的Email位址:',
+    'email_confirm_action' => '確認Email',
+    'email_confirm_send_error' => '需要Email驗證,但系統無法發送電子郵件,請聯繫網站管理員。',
+    'email_confirm_success' => '您的Email位址已成功驗證!',
+    'email_confirm_resent' => '驗證郵件已重新發送,請檢查收件箱。',
+
+    'email_not_confirmed' => 'Email位址未驗證',
+    'email_not_confirmed_text' => '您的電子郵件位址尚未確認。',
+    'email_not_confirmed_click_link' => '請檢查註冊時收到的電子郵件,然後點選確認連結。',
+    'email_not_confirmed_resend' => '如果找不到電子郵件,請透過下面的表單重新發送確認Email。',
+    'email_not_confirmed_resend_button' => '重新發送確認Email',
+];
\ No newline at end of file
diff --git a/resources/lang/zh_TW/common.php b/resources/lang/zh_TW/common.php
new file mode 100644
index 000000000..1691038aa
--- /dev/null
+++ b/resources/lang/zh_TW/common.php
@@ -0,0 +1,64 @@
+<?php
+return [
+
+    /**
+     * Buttons
+     */
+    'cancel' => '取消',
+    'confirm' => '確認',
+    'back' => '返回',
+    'save' => '儲存',
+    'continue' => '繼續',
+    'select' => '選擇',
+    'more' => '更多',
+
+    /**
+     * Form Labels
+     */
+    'name' => '名稱',
+    'description' => '摘要',
+    'role' => '角色',
+    'cover_image' => '封面圖片',
+    'cover_image_description' => '所使用圖片大小必須是440x250px。',
+    
+    /**
+     * Actions
+     */
+    'actions' => '動作',
+    'view' => '檢視',
+    'create' => '建立',
+    'update' => '更新',
+    'edit' => '編輯',
+    'sort' => '排序',
+    'move' => '移動',
+    'reply' => '回複',
+    'delete' => '刪除',
+    'search' => '搜尋',
+    'search_clear' => '清除搜尋',
+    'reset' => '重置',
+    'remove' => '刪除',
+    'add' => '新增',
+
+    /**
+     * Misc
+     */
+    'deleted_user' => '刪除使用者',
+    'no_activity' => '無活動',
+    'no_items' => '無項目',
+    'back_to_top' => '回到頂端',
+    'toggle_details' => '顯示/隱藏詳細資訊',
+    'toggle_thumbnails' => '顯示/隱藏縮圖',
+    'details' => '詳細資訊',
+
+    /**
+     * Header
+     */
+    'view_profile' => '檢視資料',
+    'edit_profile' => '編輯資料',
+
+    /**
+     * Email Content
+     */
+    'email_action_help' => '如果您無法點選“:actionText”按鈕,請將下面的網址複製到您的瀏覽器中打開:',
+    'email_rights' => 'All rights reserved',
+];
diff --git a/resources/lang/zh_TW/components.php b/resources/lang/zh_TW/components.php
new file mode 100644
index 000000000..ae0a083ad
--- /dev/null
+++ b/resources/lang/zh_TW/components.php
@@ -0,0 +1,32 @@
+<?php
+return [
+
+    /**
+     * Image Manager
+     */
+    'image_select' => '選擇圖片',
+    'image_all' => '全部',
+    'image_all_title' => '檢視所有圖片',
+    'image_book_title' => '檢視上傳到此書本的圖片',
+    'image_page_title' => '檢視上傳到此頁面的圖片',
+    'image_search_hint' => '以圖片名稱搜尋',
+    'image_uploaded' => '上傳於 :uploadedDate',
+    'image_load_more' => '載入更多',
+    'image_image_name' => '圖片名稱',
+    'image_delete_confirm' => '所使用圖片目前用於以下頁面,如果你想刪除它,請再次按下按鈕。',
+    'image_select_image' => '選擇圖片',
+    'image_dropzone' => '拖曳圖片或點選這裡上傳',
+    'images_deleted' => '圖片已刪除',
+    'image_preview' => '圖片預覽',
+    'image_upload_success' => '圖片上傳成功',
+    'image_update_success' => '圖片詳細資訊更新成功',
+    'image_delete_success' => '圖片刪除成功',
+
+    /**
+     * Code editor
+     */
+    'code_editor' => '編輯程式碼',
+    'code_language' => '程式語言',
+    'code_content' => '程式碼內容',
+    'code_save' => '儲存程式碼',
+];
\ No newline at end of file
diff --git a/resources/lang/zh_TW/entities.php b/resources/lang/zh_TW/entities.php
new file mode 100644
index 000000000..c5001318d
--- /dev/null
+++ b/resources/lang/zh_TW/entities.php
@@ -0,0 +1,260 @@
+<?php
+return [
+
+    /**
+     * Shared
+     */
+    'recently_created' => '最近建立',
+    'recently_created_pages' => '最近建立的頁面',
+    'recently_updated_pages' => '最新頁面',
+    'recently_created_chapters' => '最近建立的章節',
+    'recently_created_books' => '最近建立的書本',
+    'recently_update' => '最近更新',
+    'recently_viewed' => '最近看過',
+    'recent_activity' => '近期活動',
+    'create_now' => '立即建立',
+    'revisions' => '修訂歷史',
+    'meta_revision' => '版本號 #:revisionCount',
+    'meta_created' => '建立於 :timeLength',
+    'meta_created_name' => '由 :user 建立於 :timeLength',
+    'meta_updated' => '更新於 :timeLength',
+    'meta_updated_name' => '由 :user 更新於 :timeLength',
+    'entity_select' => '選擇項目',
+    'images' => '圖片',
+    'my_recent_drafts' => '我最近的草稿',
+    'my_recently_viewed' => '我最近看過',
+    'no_pages_viewed' => '您還沒有看過任何頁面',
+    'no_pages_recently_created' => '最近沒有頁面被建立',
+    'no_pages_recently_updated' => '最近沒有頁面被更新',
+    'export' => '匯出',
+    'export_html' => '網頁檔案',
+    'export_pdf' => 'PDF檔案',
+    'export_text' => '純文字檔案',
+
+    /**
+     * Permissions and restrictions
+     */
+    'permissions' => '權限',
+    'permissions_intro' => '本設定優先權高於每個使用者角色本身所具有的權限。',
+    'permissions_enable' => '啟用自訂權限',
+    'permissions_save' => '儲存權限',
+
+    /**
+     * Search
+     */
+    'search_results' => '搜尋結果',
+    'search_total_results_found' => '共找到了:count個結果',
+    'search_clear' => '清除搜尋',
+    'search_no_pages' => '沒有找到符合的頁面',
+    'search_for_term' => '“:term”的搜尋結果',
+    'search_more' => '更多結果',
+    'search_filters' => '過濾搜尋結果',
+    'search_content_type' => '種類',
+    'search_exact_matches' => '精確符合',
+    'search_tags' => '標籤搜尋',
+    'search_viewed_by_me' => '我看過的',
+    'search_not_viewed_by_me' => '我沒看過的',
+    'search_permissions_set' => '權限設定',
+    'search_created_by_me' => '我建立的',
+    'search_updated_by_me' => '我更新的',
+    'search_updated_before' => '在此之前更新',
+    'search_updated_after' => '在此之後更新',
+    'search_created_before' => '在此之前建立',
+    'search_created_after' => '在此之後建立',
+    'search_set_date' => '設定日期',
+    'search_update' => '更新搜尋結果',
+
+    /**
+     * Books
+     */
+    'book' => '書本',
+    'books' => '書本',
+    'x_books' => ':count本書',
+    'books_empty' => '不存在已建立的書',
+    'books_popular' => '熱門書本',
+    'books_recent' => '最近的書',
+    'books_new' => '新書',
+    'books_popular_empty' => '最受歡迎的書本將出現在這裡。',
+    'books_new_empty' => '最近建立的書本將出現在這裡。',
+    'books_create' => '建立書本',
+    'books_delete' => '刪除書本',
+    'books_delete_named' => '刪除書本「:bookName」',
+    'books_delete_explain' => '這將刪除書本「:bookName」。所有的章節和頁面都會被刪除。',
+    'books_delete_confirmation' => '您確定要刪除此書本嗎?',
+    'books_edit' => '編輯書本',
+    'books_edit_named' => '編輯書本「:bookName」',
+    'books_form_book_name' => '書名',
+    'books_save' => '儲存書本',
+    'books_permissions' => '書本權限',
+    'books_permissions_updated' => '書本權限已更新',
+    'books_empty_contents' => '本書目前沒有頁面或章節。',
+    'books_empty_create_page' => '建立頁面',
+    'books_empty_or' => '或',
+    'books_empty_sort_current_book' => '排序目前書本',
+    'books_empty_add_chapter' => '加入章節',
+    'books_permissions_active' => '有效的書本權限',
+    'books_search_this' => '搜尋這本書',
+    'books_navigation' => '書本導覽',
+    'books_sort' => '排序書本內容',
+    'books_sort_named' => '排序書本「:bookName」',
+    'books_sort_show_other' => '顯示其他書本',
+    'books_sort_save' => '儲存新順序',
+
+    /**
+     * Chapters
+     */
+    'chapter' => '章節',
+    'chapters' => '章節',
+    'x_chapters' => ':count個章節',
+    'chapters_popular' => '熱門章節',
+    'chapters_new' => '新章節',
+    'chapters_create' => '建立章節',
+    'chapters_delete' => '刪除章節',
+    'chapters_delete_named' => '刪除章節「:chapterName」',
+    'chapters_delete_explain' => '這將刪除章節「:chapterName」。所有的頁面將被刪除並加入到其所在的書籍。',
+    'chapters_delete_confirm' => '您確定要刪除此章節嗎?',
+    'chapters_edit' => '編輯章節',
+    'chapters_edit_named' => '編輯章節「:chapterName」',
+    'chapters_save' => '儲存章節',
+    'chapters_move' => '移動章節',
+    'chapters_move_named' => '移動章節「:chapterName」',
+    'chapter_move_success' => '章節移動到「:bookName」',
+    'chapters_permissions' => '章節權限',
+    'chapters_empty' => '本章目前沒有頁面。',
+    'chapters_permissions_active' => '有效的章節權限',
+    'chapters_permissions_success' => '章節權限已更新',
+    'chapters_search_this' => '從本章節搜尋',
+
+    /**
+     * Pages
+     */
+    'page' => '頁面',
+    'pages' => '頁面',
+    'x_pages' => ':count個頁面',
+    'pages_popular' => '熱門頁面',
+    'pages_new' => '新頁面',
+    'pages_attachments' => '附件',
+    'pages_navigation' => '頁面導覽',
+    'pages_delete' => '刪除頁面',
+    'pages_delete_named' => '刪除頁面“:pageName”',
+    'pages_delete_draft_named' => '刪除草稿頁面“:pageName”',
+    'pages_delete_draft' => '刪除草稿頁面',
+    'pages_delete_success' => '頁面已刪除',
+    'pages_delete_draft_success' => '草稿頁面已刪除',
+    'pages_delete_confirm' => '您確定要刪除此頁面嗎?',
+    'pages_delete_draft_confirm' => '您確定要刪除此草稿頁面嗎?',
+    'pages_editing_named' => '正在編輯頁面“:pageName”',
+    'pages_edit_toggle_header' => '顯示/隱藏導覽欄',
+    'pages_edit_save_draft' => '儲存草稿',
+    'pages_edit_draft' => '編輯頁面草稿',
+    'pages_editing_draft' => '正在編輯草稿',
+    'pages_editing_page' => '正在編輯頁面',
+    'pages_edit_draft_save_at' => '草稿儲存於 ',
+    'pages_edit_delete_draft' => '刪除草稿',
+    'pages_edit_discard_draft' => '放棄草稿',
+    'pages_edit_set_changelog' => '更新說明',
+    'pages_edit_enter_changelog_desc' => '輸入對您所做更改的簡易說明',
+    'pages_edit_enter_changelog' => '輸入更新說明',
+    'pages_save' => '儲存頁面',
+    'pages_title' => '頁面標題',
+    'pages_name' => '頁面名稱',
+    'pages_md_editor' => '編輯者',
+    'pages_md_preview' => '預覽',
+    'pages_md_insert_image' => '插入圖片',
+    'pages_md_insert_link' => '插入連結',
+    'pages_not_in_chapter' => '本頁面不在某章節中',
+    'pages_move' => '移動頁面',
+    'pages_move_success' => '頁面已移動到「:parentName」',
+    'pages_permissions' => '頁面權限',
+    'pages_permissions_success' => '頁面權限已更新',
+    'pages_revision' => '修訂',
+    'pages_revisions' => '頁面修訂',
+    'pages_revisions_named' => '“:pageName”頁面修訂',
+    'pages_revision_named' => '“:pageName”頁面修訂',
+    'pages_revisions_created_by' => '建立者',
+    'pages_revisions_date' => '修訂日期',
+    'pages_revisions_number' => '#',
+    'pages_revisions_changelog' => '更新說明',
+    'pages_revisions_changes' => '說明',
+    'pages_revisions_current' => '目前版本',
+    'pages_revisions_preview' => '預覽',
+    'pages_revisions_restore' => '恢複',
+    'pages_revisions_none' => '此頁面沒有修訂',
+    'pages_copy_link' => '複製連結',
+    'pages_permissions_active' => '有效的頁面權限',
+    'pages_initial_revision' => '初次發布',
+    'pages_initial_name' => '新頁面',
+    'pages_editing_draft_notification' => '您正在編輯在 :timeDiff 內儲存的草稿.',
+    'pages_draft_edited_notification' => '此頁面已經被更新過,建議您放棄此草稿。',
+    'pages_draft_edit_active' => [
+        'start_a' => ':count位使用者正在編輯此頁面',
+        'start_b' => '使用者“:userName”已經開始編輯此頁面',
+        'time_a' => '自頁面上次更新以來',
+        'time_b' => '在最近:minCount分鐘',
+        'message' => ':time,:start。注意不要覆蓋到對方的更新。',
+    ],
+    'pages_draft_discarded' => '草稿已丟棄,編輯器已更新到目前頁面內容。',
+
+    /**
+     * Editor sidebar
+     */
+    'page_tags' => '頁面標籤',
+    'tag' => '標籤',
+    'tags' =>  '',
+    'tag_value' => '標籤值 (非必要)',
+    'tags_explain' => "加入一些標籤以更好地對您的內容進行分類。\n您可以為標籤分配一個值,以進行更深入的組織。",
+    'tags_add' => '加入另一個標籤',
+    'attachments' => '附件',
+    'attachments_explain' => '上傳一些檔案或附加連結顯示在您的網頁上。將顯示在在頁面的側邊欄。',
+    'attachments_explain_instant_save' => '這裡的更改將立即儲存。Changes here are saved instantly.',
+    'attachments_items' => '附加項目',
+    'attachments_upload' => '上傳檔案',
+    'attachments_link' => '附加連結',
+    'attachments_set_link' => '設定連結',
+    'attachments_delete_confirm' => '確認您想要刪除此附件後,請點選刪除。',
+    'attachments_dropzone' => '刪除檔案或點選此處加入檔案',
+    'attachments_no_files' => '尚未上傳檔案', // No files have been uploaded
+    'attachments_explain_link' => '如果您不想上傳檔案,則可以附加連結,這可以是指向其他頁面的連結,也可以是指向雲端檔案的連結。',
+    'attachments_link_name' => '連結名稱',
+    'attachment_link' => '附件連結',
+    'attachments_link_url' => '連結到檔案',
+    'attachments_link_url_hint' => '網站或檔案的網址',
+    'attach' => '附加',
+    'attachments_edit_file' => '編輯檔案',
+    'attachments_edit_file_name' => '檔案名稱',
+    'attachments_edit_drop_upload' => '刪除檔案或點選這裡上傳並覆蓋',
+    'attachments_order_updated' => '附件順序已更新',
+    'attachments_updated_success' => '附件資訊已更新',
+    'attachments_deleted' => '附件已刪除',
+    'attachments_file_uploaded' => '附件上傳成功',
+    'attachments_file_updated' => '附件更新成功',
+    'attachments_link_attached' => '連結成功附加到頁面',
+
+    /**
+     * Profile View
+     */
+    'profile_user_for_x' => '來這裡:time了',
+    'profile_created_content' => '已建立內容',
+    'profile_not_created_pages' => ':userName尚未建立任何頁面',
+    'profile_not_created_chapters' => ':userName尚未建立任何章節',
+    'profile_not_created_books' => ':userName尚未建立任何書本',
+
+    /**
+     * Comments
+     */
+    'comment' => '評論',
+    'comments' => '評論',
+    'comment_placeholder' => '在這裡評論',
+    'comment_count' => '{0} 無評論|[1,*] :count條評論',
+    'comment_save' => '儲存評論',
+    'comment_saving' => '正在儲存評論...',
+    'comment_deleting' => '正在刪除評論...',
+    'comment_new' => '新評論',
+    'comment_created' => '評論於 :createDiff',
+    'comment_updated' => '更新於 :updateDiff (:username)',
+    'comment_deleted_success' => '評論已刪除',
+    'comment_created_success' => '評論已加入',
+    'comment_updated_success' => '評論已更新',
+    'comment_delete_confirm' => '你確定要刪除這條評論?',
+    'comment_in_reply_to' => '回覆 :commentId',
+];
diff --git a/resources/lang/zh_TW/errors.php b/resources/lang/zh_TW/errors.php
new file mode 100644
index 000000000..4ac6cd400
--- /dev/null
+++ b/resources/lang/zh_TW/errors.php
@@ -0,0 +1,79 @@
+<?php
+
+return [
+
+    /**
+     * Error text strings.
+     */
+
+    // Permissions
+    'permission' => '您沒有權限進入所請求的頁面。',
+    'permissionJson' => '您沒有權限執行所請求的操作。',
+
+    // Auth
+    'error_user_exists_different_creds' => 'Email為 :email 的使用者已經存在,但具有不同的憑據。',
+    'email_already_confirmed' => 'Email已被確認,請嘗試登錄。',
+    'email_confirmation_invalid' => '此確認 Session 無效或已被使用,請重新註冊。',
+    'email_confirmation_expired' => '確認 Session 已過期,已發送新的確認電子郵件。',
+    'ldap_fail_anonymous' => '使用匿名綁定的LDAP進入失敗。',
+    'ldap_fail_authed' => '帶有標識名稱和密碼的LDAP進入失敗。',
+    'ldap_extension_not_installed' => '未安裝LDAP PHP外掛程式',
+    'ldap_cannot_connect' => '無法連接到ldap伺服器,第一次連接失敗',
+    'social_no_action_defined' => '沒有定義行為',
+    'social_login_bad_response' => "在 :socialAccount 登錄時遇到錯誤:\n:error",
+    'social_account_in_use' => ':socialAccount 帳號已被使用,請嘗試透過 :socialAccount 選項登錄。',
+    'social_account_email_in_use' => 'Email :email 已經被使用。如果您已有帳號,則可以在個人資料設定中綁定您的 :socialAccount。',
+    'social_account_existing' => ':socialAccount已經被綁定到您的帳號。',
+    'social_account_already_used_existing' => ':socialAccount帳號已經被其他使用者使用。',
+    'social_account_not_used' => ':socialAccount帳號沒有綁定到任何使用者,請在您的個人資料設定中綁定。',
+    'social_account_register_instructions' => '如果您還沒有帳號,您可以使用 :socialAccount 選項註冊帳號。',
+    'social_driver_not_found' => '未找到社交驅動程式',
+    'social_driver_not_configured' => '您的:socialAccount社交設定不正確。',
+
+    // System
+    'path_not_writable' => '無法上傳到檔案路徑“:filePath”,請確保它可寫入伺服器。',
+    'cannot_get_image_from_url' => '無法從 :url 中獲取圖片',
+    'cannot_create_thumbs' => '伺服器無法建立縮圖,請檢查您是否安裝了GD PHP外掛。',
+    'server_upload_limit' => '上傳圖片時發生錯誤。',
+    'image_upload_error' => '上傳圖片時發生錯誤',
+
+    // Attachments
+    'attachment_page_mismatch' => '附件更新期間的頁面不符合',
+
+    // Pages
+    'page_draft_autosave_fail' => '無法儲存草稿,確保您在儲存頁面之前已經連接到互聯網',
+    'page_custom_home_deletion' => '無法刪除一個被設定為首頁的頁面',
+
+    // Entities
+    'entity_not_found' => '未找到實體',
+    'book_not_found' => '未找到圖書',
+    'page_not_found' => '未找到頁面',
+    'chapter_not_found' => '未找到章節',
+    'selected_book_not_found' => '選中的書未找到',
+    'selected_book_chapter_not_found' => '未找到所選的圖書或章節',
+    'guests_cannot_save_drafts' => '訪客不能儲存草稿',
+
+    // Users
+    'users_cannot_delete_only_admin' => '您不能刪除唯一的管理員帳號',
+    'users_cannot_delete_guest' => '您不能刪除訪客使用者',
+
+    // Roles
+    'role_cannot_be_edited' => '無法編輯這個角色',
+    'role_system_cannot_be_deleted' => '無法刪除系統角色',
+    'role_registration_default_cannot_delete' => '無法刪除設定為預設註冊的角色',
+
+    // Comments
+    'comment_list' => '讀取評論時發生錯誤。',
+    'cannot_add_comment_to_draft' => '您不能為草稿加入評論。',
+    'comment_add' => '加入/更新評論時發生錯誤。',
+    'comment_delete' => '刪除評論時發生錯誤。',
+    'empty_comment' => '不能加入空的評論。',
+
+    // Error pages
+    '404_page_not_found' => '無法找到頁面',
+    'sorry_page_not_found' => '對不起,無法找到您想進入的頁面。',
+    'return_home' => '返回首頁',
+    'error_occurred' => '發生錯誤',
+    'app_down' => ':appName現在正在關閉',
+    'back_soon' => '請耐心等待網站的恢複。',
+];
\ No newline at end of file
diff --git a/resources/lang/zh_TW/pagination.php b/resources/lang/zh_TW/pagination.php
new file mode 100644
index 000000000..fc2f4a059
--- /dev/null
+++ b/resources/lang/zh_TW/pagination.php
@@ -0,0 +1,19 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Pagination Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used by the paginator library to build
+    | the simple pagination links. You are free to change them to anything
+    | you want to customize your views to better match your application.
+    |
+    */
+
+    'previous' => '&laquo; 上一頁',
+    'next'     => '下一頁 &raquo;',
+
+];
diff --git a/resources/lang/zh_TW/passwords.php b/resources/lang/zh_TW/passwords.php
new file mode 100644
index 000000000..aa93eec1e
--- /dev/null
+++ b/resources/lang/zh_TW/passwords.php
@@ -0,0 +1,22 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reminder Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are the default lines which match reasons
+    | that are given by the password broker for a password update attempt
+    | has failed, such as for an invalid token or invalid new password.
+    |
+    */
+
+    'password' => '密碼必須至少包含六個字元並與確認相符。',
+    'user' => "使用該Email位址的使用者不存在。",
+    'token' => '此密碼重置 Session 無效。',
+    'sent' => '我們已經透過Email發送您的密碼重置連結。',
+    'reset' => '您的密碼已被重置。',
+
+];
diff --git a/resources/lang/zh_TW/settings.php b/resources/lang/zh_TW/settings.php
new file mode 100644
index 000000000..806df0442
--- /dev/null
+++ b/resources/lang/zh_TW/settings.php
@@ -0,0 +1,117 @@
+<?php
+
+return [
+
+    /**
+     * Settings text strings
+     * Contains all text strings used in the general settings sections of BookStack
+     * including users and roles
+     */
+
+    'settings' => '設定',
+    'settings_save' => '儲存設定',
+    'settings_save_success' => '設定已儲存',
+
+    /**
+     * App settings
+     */
+
+    'app_settings' => 'App設定',
+    'app_name' => 'App名',
+    'app_name_desc' => '此名稱將在網頁頂端和Email中顯示。',
+    'app_name_header' => '在網頁頂端顯示應用名稱?',
+    'app_public_viewing' => '開放公開閱覽?',
+    'app_secure_images' => '啟用更高安全性的圖片上傳?',
+    'app_secure_images_desc' => '出於效能考量,所有圖片都是公開的。這個選項會在圖片的網址前加入一個隨機並難以猜測的字元串,從而使直接進入變得困難。',
+    'app_editor' => '頁面編輯器',
+    'app_editor_desc' => '選擇所有使用者將使用哪個編輯器來編輯頁面。',
+    'app_custom_html' => '自訂HTML頂端內容',
+    'app_custom_html_desc' => '此處加入的任何內容都將插入到每個頁面的<head>部分的底部,這對於覆蓋樣式或加入分析程式碼很方便。',
+    'app_logo' => 'App Logo',
+    'app_logo_desc' => '這個圖片的高度應該為43px。<br>大圖片將會被縮小。',
+    'app_primary_color' => 'App主要配色',
+    'app_primary_color_desc' => '請使用十六進位數值。<br>保留空白則重置回預設配色。',
+    'app_homepage' => 'App首頁',
+    'app_homepage_desc' => '選擇要做為首頁的頁面,這將會替換預設首頁,而且這個頁面的權限設定將被忽略。',
+    'app_homepage_default' => '預設首頁選擇',
+    'app_disable_comments' => '關閉評論',
+    'app_disable_comments_desc' => '在App的所有頁面上關閉評論,已經存在的評論也不會顯示。',
+
+    /**
+     * Registration settings
+     */
+
+    'reg_settings' => '註冊設定',
+    'reg_allow' => '開放註冊?',
+    'reg_default_role' => '註冊後的預設使用者角色',
+    'reg_confirm_email' => '需要Email驗證?',
+    'reg_confirm_email_desc' => '如果使用網域名稱限制,則需要Email驗證,並且本設定將被忽略。',
+    'reg_confirm_restrict_domain' => '網域名稱限制',
+    'reg_confirm_restrict_domain_desc' => '輸入您想要限制註冊的Email域域名稱列表,用逗號隔開。在被允許與本系統連結之前,使用者會收到一封Email來確認他們的位址。<br>注意,使用者在註冊成功後可以修改他們的Email位址。',
+    'reg_confirm_restrict_domain_placeholder' => '尚未設定限制的網域',
+
+    /**
+     * Role settings
+     */
+
+    'roles' => '角色',
+    'role_user_roles' => '使用者角色',
+    'role_create' => '建立角色',
+    'role_create_success' => '角色建立成功',
+    'role_delete' => '刪除角色',
+    'role_delete_confirm' => '這將會刪除名為 \':roleName\' 的角色.',
+    'role_delete_users_assigned' => '有:userCount位使用者屬於此角色。如果您想將此角色中的使用者遷移,請在下面選擇一個新角色。',
+    'role_delete_no_migration' => "不要遷移使用者",
+    'role_delete_sure' => '您確定要刪除這個角色?',
+    'role_delete_success' => '角色刪除成功',
+    'role_edit' => '編輯角色',
+    'role_details' => '角色詳細資訊',
+    'role_name' => '角色名',
+    'role_desc' => '角色簡述',
+    'role_system' => '系統權限',
+    'role_manage_users' => '管理使用者',
+    'role_manage_roles' => '管理角色與角色權限',
+    'role_manage_entity_permissions' => '管理所有圖書,章節和頁面的權限',
+    'role_manage_own_entity_permissions' => '管理自己的圖書,章節和頁面的權限',
+    'role_manage_settings' => '管理App設定',
+    'role_asset' => '資源項目',
+    'role_asset_desc' => '對系統內資源的預設權限將由這裡的權限控制。若有單獨設定在書本、章節和頁面上的權限,將會覆蓋這裡的權限設定。',
+    'role_all' => '全部',
+    'role_own' => '擁有',
+    'role_controlled_by_asset' => '依據隸屬的資源來決定',
+    'role_save' => '儲存角色',
+    'role_update_success' => '角色更新成功',
+    'role_users' => '此角色的使用者',
+    'role_users_none' => '目前沒有使用者被分配到這個角色',
+
+    /**
+     * Users
+     */
+
+    'users' => '使用者',
+    'user_profile' => '使用者資料',
+    'users_add_new' => '加入使用者',
+    'users_search' => '搜尋使用者',
+    'users_role' => '使用者角色',
+    'users_external_auth_id' => '外部身份驗證ID',
+    'users_password_warning' => '如果您想更改密碼,請填寫以下內容:',
+    'users_system_public' => '此使用者代表進入您的App的任何訪客。它不能用於登入,而是自動分配。',
+    'users_books_view_type' => '圖書瀏覽佈局偏好',
+    'users_delete' => '刪除使用者',
+    'users_delete_named' => '刪除使用者 :userName',
+    'users_delete_warning' => '這將從系統中完全刪除名為 \':userName\' 的使用者。',
+    'users_delete_confirm' => '您確定要刪除這個使用者?',
+    'users_delete_success' => '使用者刪除成功。',
+    'users_edit' => '編輯使用者',
+    'users_edit_profile' => '編輯資料',
+    'users_edit_success' => '使用者更新成功',
+    'users_avatar' => '使用者大頭照',
+    'users_avatar_desc' => '目前圖片應該為約256px的正方形。',
+    'users_preferred_language' => '語言',
+    'users_social_accounts' => '社群網站帳號',
+    'users_social_accounts_info' => '在這里,您可以連結您的其他帳號,以便方便地登入。如果您選擇解除連結,之後將不能透過此社群網站帳號登入,請設定社群網站帳號來取消本系統p的進入權限。',
+    'users_social_connect' => '連結帳號',
+    'users_social_disconnect' => '解除連結帳號',
+    'users_social_connected' => ':socialAccount 帳號已經成功連結到您的資料。',
+    'users_social_disconnected' => ':socialAccount 帳號已經成功解除連結。',
+];
diff --git a/resources/lang/zh_TW/validation.php b/resources/lang/zh_TW/validation.php
new file mode 100644
index 000000000..5b708064d
--- /dev/null
+++ b/resources/lang/zh_TW/validation.php
@@ -0,0 +1,108 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines contain the default error messages used by
+    | the validator class. Some of these rules have multiple versions such
+    | as the size rules. Feel free to tweak each of these messages here.
+    |
+    */
+
+    'accepted'             => ':attribute 需要被同意。',
+    'active_url'           => ':attribute 並不是一個有效的網址',
+    'after'                => ':attribute 必須是在 :date 後的日期。',
+    'alpha'                => ':attribute 只能包含字母。',
+    'alpha_dash'           => ':attribute 只能包含字母、數字和橫線。',
+    'alpha_num'            => ':attribute 只能包含字母和數字。',
+    'array'                => ':attribute 必須是陣列。',
+    'before'               => ':attribute 必須是在 :date 前的日期。',
+    'between'              => [
+        'numeric' => ':attribute 必須在:min到:max之間。',
+        'file'    => ':attribute 必須為:min到:max KB。',
+        'string'  => ':attribute 必須在:min到:max個字元之間。',
+        'array'   => ':attribute 必須在:min到:max項之間.',
+    ],
+    'boolean'              => ':attribute 字段必須為 true 或 false。',
+    'confirmed'            => ':attribute 確認不符。',
+    'date'                 => ':attribute 不是一個有效的日期。',
+    'date_format'          => ':attribute 格式不符 :format。',
+    'different'            => ':attribute 和 :other 必須不同。',
+    'digits'               => ':attribute 必須為:digits位數。',
+    'digits_between'       => ':attribute 必須為:min到:max位數。',
+    'email'                => ':attribute 必須是有效的電子郵件位址。',
+    'filled'               => ':attribute 字段是必需的。',
+    'exists'               => '選中的 :attribute 無效。',
+    'image'                => ':attribute 必須是一個圖片。',
+    'in'                   => '選中的 :attribute 無效。',
+    'integer'              => ':attribute 必須是一個整數。',
+    'ip'                   => ':attribute 必須是一個有效的IP位址。',
+    'max'                  => [
+        'numeric' => ':attribute 不能超過:max。',
+        'file'    => ':attribute 不能超過:max KB。',
+        'string'  => ':attribute 不能超過:max個字元。',
+        'array'   => ':attribute 不能有超過:max項。',
+    ],
+    'mimes'                => ':attribute 必須是 :values 類型的檔案。',
+    'min'                  => [
+        'numeric' => ':attribute 至少為:min。',
+        'file'    => ':attribute 至少為:min KB。',
+        'string'  => ':attribute 至少為:min個字元。',
+        'array'   => ':attribute 至少有:min項。',
+    ],
+    'not_in'               => '選中的 :attribute 無效。',
+    'numeric'              => ':attribute 必須是一個數。',
+    'regex'                => ':attribute 格式無效。',
+    'required'             => ':attribute 字段是必需的。',
+    'required_if'          => '當:other為:value時,:attribute 字段是必需的。',
+    'required_with'        => '當:values存在時,:attribute 字段是必需的。',
+    'required_with_all'    => '當:values存在時,:attribute 字段是必需的。',
+    'required_without'     => '當:values不存在時,:attribute 字段是必需的。',
+    'required_without_all' => '當:values均不存在時,:attribute 字段是必需的。',
+    'same'                 => ':attribute 與 :other 必須匹配。',
+    'size'                 => [
+        'numeric' => ':attribute 必須為:size。',
+        'file'    => ':attribute 必須為:size KB。',
+        'string'  => ':attribute 必須為:size個字元。',
+        'array'   => ':attribute 必須包含:size項。',
+    ],
+    'string'               => ':attribute 必須是字元串。',
+    'timezone'             => ':attribute 必須是有效的區域。',
+    'unique'               => ':attribute 已經被使用。',
+    'url'                  => ':attribute 格式無效。',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify custom validation messages for attributes using the
+    | convention "attribute.rule" to name the lines. This makes it quick to
+    | specify a specific custom language line for a given attribute rule.
+    |
+    */
+
+    'custom' => [
+        'password-confirm' => [
+            'required_with' => '需要確認密碼',
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Attributes
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used to swap attribute place-holders
+    | with something more reader friendly such as E-Mail Address instead
+    | of "email". This simply helps us make messages a little cleaner.
+    |
+    */
+
+    'attributes' => [],
+
+];

From 007059273e6c8222b3b661b54c81d56097552e74 Mon Sep 17 00:00:00 2001
From: Jason Cheng <sanyu3u@gmail.com>
Date: Mon, 2 Apr 2018 15:54:06 +0800
Subject: [PATCH 2/3] Add translate.

Add translate.
---
 resources/lang/zh_TW/common.php   | 2 ++
 resources/lang/zh_TW/entities.php | 1 +
 resources/lang/zh_TW/errors.php   | 2 ++
 resources/lang/zh_TW/settings.php | 2 +-
 4 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/resources/lang/zh_TW/common.php b/resources/lang/zh_TW/common.php
index 1691038aa..7e785cd7f 100644
--- a/resources/lang/zh_TW/common.php
+++ b/resources/lang/zh_TW/common.php
@@ -49,6 +49,8 @@ return [
     'toggle_details' => '顯示/隱藏詳細資訊',
     'toggle_thumbnails' => '顯示/隱藏縮圖',
     'details' => '詳細資訊',
+    'grid_view' => '縮圖檢視',
+    'list_view' => '清單撿視',
 
     /**
      * Header
diff --git a/resources/lang/zh_TW/entities.php b/resources/lang/zh_TW/entities.php
index c5001318d..b354a2f2f 100644
--- a/resources/lang/zh_TW/entities.php
+++ b/resources/lang/zh_TW/entities.php
@@ -162,6 +162,7 @@ return [
     'pages_md_preview' => '預覽',
     'pages_md_insert_image' => '插入圖片',
     'pages_md_insert_link' => '插入連結',
+    'pages_md_insert_drawing' => '插入繪圖',
     'pages_not_in_chapter' => '本頁面不在某章節中',
     'pages_move' => '移動頁面',
     'pages_move_success' => '頁面已移動到「:parentName」',
diff --git a/resources/lang/zh_TW/errors.php b/resources/lang/zh_TW/errors.php
index 4ac6cd400..4d7992ec8 100644
--- a/resources/lang/zh_TW/errors.php
+++ b/resources/lang/zh_TW/errors.php
@@ -36,9 +36,11 @@ return [
     'cannot_create_thumbs' => '伺服器無法建立縮圖,請檢查您是否安裝了GD PHP外掛。',
     'server_upload_limit' => '上傳圖片時發生錯誤。',
     'image_upload_error' => '上傳圖片時發生錯誤',
+    'image_upload_type_error' => '上傳圖片類型錯誤',
 
     // Attachments
     'attachment_page_mismatch' => '附件更新期間的頁面不符合',
+    'attachment_not_found' => '沒有找到附件',
 
     // Pages
     'page_draft_autosave_fail' => '無法儲存草稿,確保您在儲存頁面之前已經連接到互聯網',
diff --git a/resources/lang/zh_TW/settings.php b/resources/lang/zh_TW/settings.php
index 806df0442..a61b15d23 100644
--- a/resources/lang/zh_TW/settings.php
+++ b/resources/lang/zh_TW/settings.php
@@ -96,7 +96,7 @@ return [
     'users_external_auth_id' => '外部身份驗證ID',
     'users_password_warning' => '如果您想更改密碼,請填寫以下內容:',
     'users_system_public' => '此使用者代表進入您的App的任何訪客。它不能用於登入,而是自動分配。',
-    'users_books_view_type' => '圖書瀏覽佈局偏好',
+    //'users_books_view_type' => '圖書瀏覽佈局偏好',
     'users_delete' => '刪除使用者',
     'users_delete_named' => '刪除使用者 :userName',
     'users_delete_warning' => '這將從系統中完全刪除名為 \':userName\' 的使用者。',

From 64d5763d08c4df03f4a74fe050f73f88d768c05e Mon Sep 17 00:00:00 2001
From: Jason Cheng <sanyu3u@gmail.com>
Date: Mon, 2 Apr 2018 16:09:23 +0800
Subject: [PATCH 3/3] Add zh_TW Locales.

Add zh_TW Locales.
---
 config/app.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/config/app.php b/config/app.php
index fad0c20f2..b3bc4b8fd 100755
--- a/config/app.php
+++ b/config/app.php
@@ -61,7 +61,7 @@ return [
     */
 
     'locale' => env('APP_LANG', 'en'),
-    'locales' => ['en', 'de', 'es', 'es_AR', 'fr', 'nl', 'pt_BR', 'sk', 'sv', 'ja', 'pl', 'it', 'ru', 'zh_CN'],
+    'locales' => ['en', 'de', 'es', 'es_AR', 'fr', 'nl', 'pt_BR', 'sk', 'sv', 'ja', 'pl', 'it', 'ru', 'zh_CN', 'zh_TW'],
 
     /*
     |--------------------------------------------------------------------------