From f9d7f8f28ebb4fed76a2ce5881583c6eafbb87fb Mon Sep 17 00:00:00 2001 From: ayushchd Date: Thu, 20 Jun 2013 21:14:43 +0545 Subject: [PATCH 01/12] Unit tests for PMA String Libraries (native and multi-byte) --- test/libraries/PMA_StringMB_test.php | 184 +++++++++++++++++++++++ test/libraries/PMA_StringNative_test.php | 151 +++++++++++++++++++ test/libraries/PMA_string_test.php | 136 +++++++++++++++++ 3 files changed, 471 insertions(+) create mode 100644 test/libraries/PMA_StringMB_test.php create mode 100644 test/libraries/PMA_StringNative_test.php create mode 100644 test/libraries/PMA_string_test.php diff --git a/test/libraries/PMA_StringMB_test.php b/test/libraries/PMA_StringMB_test.php new file mode 100644 index 0000000000..10a5124e8b --- /dev/null +++ b/test/libraries/PMA_StringMB_test.php @@ -0,0 +1,184 @@ +internal_encoding = mb_internal_encoding(); + } + + /** + * TearDown function for tests, restores internal encoding + * + * @access protected + * @return void + */ + protected function tearDown() + { + mb_internal_encoding($this->internal_encoding); + } + + /** + * Test for PMA_StringMB::strlen + * + * @param integer $length Length of the string + * @param string $str String to check for + * @param string $encoding Encoding of the string + * + * @return void + * @test + * @dataProvider mbStrlenData + */ + public function testMbStrlen($length, $str, $encoding) + { + mb_internal_encoding($encoding); + $this->assertEquals( + $length, + PMA_StringMB::strlen($str) + ); + } + + /** + * Data provider for testMbStrlen + * + * @return array Test data + */ + public function mbStrlenData() + { + return array( + array(2, "ab", "UTF-8"), + array(9, "åèö - doo", "UTF-8"), + array(12, "åèö - doo", "ISO-8859-1") + ); + } + + /** + * Test for PMA_StringMB::substr + * + * @param string $str Expected substring + * @param string $haystack String to check in + * @param int $start Starting position of substring + * @param int $length Length of substring + * @param string $encoding Encoding of the string + * + * @return void + * @test + * @dataProvider mbSubStrData + */ + public function testMbSubStr($str, $haystack, $start, $length, $encoding) + { + mb_internal_encoding($encoding); + $this->assertEquals( + $str, + PMA_StringMB::substr($haystack, $start, $length) + ); + } + + /** + * Data provider for testMbSubStr + * + * @return array Test data + */ + public function mbSubStrData() + { + return array( + array("b", "ab", 1, 1, "UTF-8"), + array("èö", "åèö - doo", 1, 2, "UTF-8"), + ); + } + + /** + * Test for PMA_StringMB::strpos + * + * @param int $pos Expected position + * @param string $haystack String to search in + * @param string $needle String to search for + * @param int $offset Search offset + * @param string $encoding Encoding to test against + * + * @return void + * @test + * @dataProvider mbStrposData + */ + public function testMbStrpos($pos, $haystack, $needle, $offset, $encoding) + { + mb_internal_encoding($encoding); + $this->assertEquals( + $pos, + PMA_StringMB::strpos($haystack, $needle, $offset) + ); + } + + /** + * Data provider for testMbStrpos + * + * @return array Test data + */ + public function mbStrposData() + { + return array( + array(1, "ab", "b", 0, "UTF-8"), + array(2, "åèö - doo", "ö", 0, "UTF-8"), + array(6, "åèöè", "è", 3, "ISO-8859-1") + ); + } + + /** + * Test for PMA_StringMB::strtolower + * + * @param string $expected Expected lowercased string + * @param string $string String to convert to lowercase + * @param string $encoding Encoding to test against + * + * @return void + * @test + * @dataProvider mbStrToLowerData + */ + public function testMbStrToLower($expected, $string, $encoding) + { + mb_internal_encoding($encoding); + $this->assertEquals( + $expected, + PMA_StringMB::strtolower($string) + ); + } + + /** + * Data provider for testMbStrpos + * + * @return array Test data + */ + public function mbStrToLowerData() + { + return array( + array("mary had a", "Mary Had A", "UTF-8"), + array("τάχιστη", "Τάχιστη", "UTF-8") + ); + } + +} +?> diff --git a/test/libraries/PMA_StringNative_test.php b/test/libraries/PMA_StringNative_test.php new file mode 100644 index 0000000000..5b8e24bd08 --- /dev/null +++ b/test/libraries/PMA_StringNative_test.php @@ -0,0 +1,151 @@ +assertEquals( + $length, + PMA_StringNative::strlen($str) + ); + } + + /** + * Data provider for testNativeStrlen + * + * @return array Test data + */ + public function nativeStrlenData() + { + return array( + array(2, "ab"), + array(9, "test data"), + array(0, "") + ); + } + + /** + * Test for PMA_StringNative::substr + * + * @param string $str Expected substring + * @param string $haystack String to check in + * @param int $start Starting position of substring + * @param int $length Length of substring + * + * @return void + * @test + * @dataProvider nativeSubStrData + */ + public function testNativeSubStr($str, $haystack, $start, $length) + { + $this->assertEquals( + $str, + PMA_StringNative::substr($haystack, $start, $length) + ); + } + + /** + * Data provider for testNativeSubStr + * + * @return array Test data + */ + public function nativeSubStrData() + { + return array( + array("b", "ab", 1, 1), + array("data", "testdata", 4, 4) + ); + } + + /** + * Test for PMA_StringNative::strpos + * + * @param int $pos Expected position + * @param string $haystack String to search in + * @param string $needle String to search for + * @param int $offset Search offset + * + * @return void + * @test + * @dataProvider nativeStrposData + */ + public function testNativeStrpos($pos, $haystack, $needle, $offset) + { + $this->assertEquals( + $pos, + PMA_StringNative::strpos($haystack, $needle, $offset) + ); + } + + /** + * Data provider for testNativeStrpos + * + * @return array Test data + */ + public function nativeStrposData() + { + return array( + array(1, "ab", "b", 0), + array(4, "test data", " ", 0) + ); + } + + /** + * Test for PMA_StringNative::strtolower + * + * @param string $expected Expected lowercased string + * @param string $string String to convert to lowercase + * + * @return void + * @test + * @dataProvider nativeStrToLowerData + */ + public function testNativeStrToLower($expected, $string) + { + $this->assertEquals( + $expected, + PMA_StringNative::strtolower($string) + ); + } + + /** + * Data provider for testNativeStrpos + * + * @return array Test data + */ + public function nativeStrToLowerData() + { + return array( + array("mary had a", "Mary Had A", "UTF-8"), + array("test string", "TEST STRING", "UTF-8") + ); + } +} +?> diff --git a/test/libraries/PMA_string_test.php b/test/libraries/PMA_string_test.php new file mode 100644 index 0000000000..9ae482e217 --- /dev/null +++ b/test/libraries/PMA_string_test.php @@ -0,0 +1,136 @@ +assertEquals( + $expected, + PMA_STR_charIsEscaped($str, $pos, $start) + ); + } + + /** + * Data provider for testCharIsEscaped + * + * @return array Test data + */ + public function charIsEscapedData() + { + return array( + array(false, 'test', -1, 0), + array(false, 'test', 5, 3), + array(false, 'test', 3, 5), + array(true, '\\test', 1, -1), + array(false, '\\\\test', 2, -1), + array(true, '\\\\tes\\t', 6, 0) + ); + } + + /** + * Test for PMA_STR_numberInRangeInclusive + * + * @param bool $expected Expected value from test + * @param integer $num Number to check for + * @param integer $lower Lower bound + * @param integer $upper Upper bound + * + * @return void + * @test + * @dataProvider numberInRangeData + */ + public function testNumberInRangeInclusive( + $expected, $num, $lower, $upper + ) { + $this->assertEquals( + $expected, + PMA_STR_numberInRangeInclusive($num, $lower, $upper) + ); + } + + /** + * Data provider for testNumberInRangeInclusive + * + * @return void + */ + public function numberInRangeData() + { + return array( + array(true, 2, 2, 3), + array(true, 5, 4, 5), + array(true, 50, 0, 100), + array(false, -1, 0, 20), + array(false, 31, 0, 30) + ); + } + + /** + * Test for PMA_STR_isSqlIdentifier + * + * @param boolean $expected Expected value from test + * @param string $c Character to check for + * @param boolean $dot_is_valid whether the dot character is valid or not + * + * @return void + * @test + * @dataProvider isSqlIdentifierData + */ + public function testIsSqlIdentifier($expected, $c, $dot_is_valid = false) + { + $this->assertEquals( + $expected, + PMA_STR_isSqlIdentifier($c, $dot_is_valid) + ); + } + + /** + * Data provider for testIsSqlIdentifier + * + * @return array Test data + */ + public function isSqlIdentifierData() + { + return array( + array(true, '2'), + array(true, 'a'), + array(true, '.', true), + array(false, '.'), + array(true, chr(192)), + array(false, chr(215)), + array(true, chr(249)), + array(true, '_'), + array(true, '$') + ); + } + + +} +?> From 5d65d5eda5b6fb6a1b8b98b459a13b7ce5a983f3 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Thu, 20 Jun 2013 12:38:30 -0400 Subject: [PATCH 02/12] Directly use the GET parameters --- pmd_general.php | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/pmd_general.php b/pmd_general.php index 2ebeac228d..a16812d9b6 100644 --- a/pmd_general.php +++ b/pmd_general.php @@ -12,20 +12,6 @@ require_once 'libraries/common.inc.php'; require_once 'libraries/pmd_common.php'; -/** - * Sets globals from $_GET - */ -$get_params = array( - 'db', - 'table', - 'token' -); -foreach ($get_params as $one_get_param) { - if (isset($_GET[$one_get_param])) { - $GLOBALS[$one_get_param] = $_GET[$one_get_param]; - } -} - $script_display_field = get_tables_info(); $tab_column = get_columns_info(); $script_tables = get_script_tabs(); @@ -35,8 +21,8 @@ $tables_pk_or_unique_keys = get_pk_or_unique_keys(); $tables_all_keys = get_all_keys(); $params = array('lang' => $GLOBALS['lang']); -if (isset($GLOBALS['db'])) { - $params['db'] = $GLOBALS['db']; +if (isset($_GET['db'])) { + $params['db'] = $_GET['db']; } $response = PMA_Response::getInstance(); @@ -60,10 +46,10 @@ echo '
'; echo htmlspecialchars($GLOBALS['server']); echo '
'; echo '
'; -echo htmlspecialchars($GLOBALS['db']); +echo htmlspecialchars($_GET['db']); echo '
'; echo '
'; -echo htmlspecialchars($GLOBALS['token']); +echo htmlspecialchars($_GET['token']); echo '
'; echo '
'; echo htmlspecialchars(json_encode($script_tables)); @@ -295,7 +281,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) { echo 'style="display: none;"'; } echo '>'; - $display_field = PMA_getDisplayField($db, $GLOBALS['PMD']["TABLE_NAME_SMALL"][$i]); + $display_field = PMA_getDisplayField($_GET['db'], $GLOBALS['PMD']["TABLE_NAME_SMALL"][$i]); for ($j = 0, $id_cnt = count($tab_column[$t_n]["COLUMN_ID"]); $j < $id_cnt; $j++) { ?>
'; echo ' '; echo ' '; - echo PMA_generate_common_hidden_inputs($GLOBALS['db']); + echo PMA_generate_common_hidden_inputs($_GET['db']); echo '

'; echo '
'; From e2cfeb2447eaedab1f7b2d95c218da0d87b538a9 Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Thu, 20 Jun 2013 18:09:36 +0200 Subject: [PATCH 03/12] Translated using Weblate (Traditional Chinese) Currently translated at 92.7% (2476 of 2672) --- po/zh_TW.po | 135 +++++++++++++++++++++++++++------------------------- 1 file changed, 70 insertions(+), 65 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index 0d00545e55..0ad2aedb6d 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-20 16:10+0200\n" +"PO-Revision-Date: 2013-06-20 18:09+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -585,7 +585,7 @@ msgstr "輸出" msgid "" "Choose \"GeomFromText\" from the \"Function\" column and paste the string " "below into the \"Value\" field" -msgstr "" +msgstr "從 \"Function\" 欄位選擇 \"GeomFromText\",然後將下方的字串貼到 \"Value\" 欄位" #: import.php:107 #, php-format @@ -3277,7 +3277,7 @@ msgstr "" msgid "" "A fixed-point number (M, D) - the maximum number of digits (M) is 65 " "(default 10), the maximum number of decimals (D) is 30 (default 0)" -msgstr "" +msgstr "定點數字 (M, D) - (M) 最大為 65 位數 (預設 10),(D) 小數位數最大為 30 (預設 0)" #: libraries/Types.class.php:308 msgid "" @@ -3449,23 +3449,24 @@ msgstr "" msgid "" "An enumeration, chosen from the list of up to 65,535 values or the special " "'' error value" -msgstr "" +msgstr "列舉在清單中最多可有 65,535 個值,或這個特殊的錯誤值 ''" #: libraries/Types.class.php:356 msgid "A single value chosen from a set of up to 64 members" -msgstr "" +msgstr "從一組最多 64 個成員中選擇一個值" #: libraries/Types.class.php:358 msgid "A type that can store a geometry of any type" -msgstr "" +msgstr "類型可以存儲幾何的任何型態" #: libraries/Types.class.php:360 +#, fuzzy msgid "A point in 2-dimensional space" -msgstr "" +msgstr "2 維空間中的點" #: libraries/Types.class.php:362 msgid "A curve with linear interpolation between points" -msgstr "" +msgstr "點與點之間的線性插值曲線" #: libraries/Types.class.php:364 msgid "A polygon" @@ -3473,24 +3474,24 @@ msgstr "一個多邊形" #: libraries/Types.class.php:366 msgid "A collection of points" -msgstr "" +msgstr "一群點的集合" #: libraries/Types.class.php:368 msgid "A collection of curves with linear interpolation between points" -msgstr "" +msgstr "點與點之間線性插值曲線的集合" #: libraries/Types.class.php:370 msgid "A collection of polygons" -msgstr "" +msgstr "一個多邊形的集合" #: libraries/Types.class.php:372 msgid "A collection of geometry objects of any type" -msgstr "" +msgstr "任何類型幾何物件的集合" #: libraries/Types.class.php:625 libraries/Types.class.php:975 msgctxt "numeric types" msgid "Numeric" -msgstr "" +msgstr "數值" #: libraries/Types.class.php:644 libraries/Types.class.php:978 msgctxt "date and time types" @@ -3509,45 +3510,47 @@ msgstr "空間類型" #: libraries/Types.class.php:709 msgid "A 4-byte integer, range is -2,147,483,648 to 2,147,483,647" -msgstr "" +msgstr "4 個位元組整數,範圍是 -2,147,483,648 到 2,147,483,647 之間" #: libraries/Types.class.php:711 msgid "" "An 8-byte integer, range is -9,223,372,036,854,775,808 to " "9,223,372,036,854,775,807" -msgstr "" +msgstr "8 個位元組整數,範圍是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807" #: libraries/Types.class.php:715 msgid "A system's default double-precision floating-point number" -msgstr "" +msgstr "系統預設為雙精度浮點數" #: libraries/Types.class.php:717 msgid "True or false" -msgstr "" +msgstr "True 或 false" #: libraries/Types.class.php:719 msgid "An alias for BIGINT NOT NULL AUTO_INCREMENT UNIQUE" -msgstr "" +msgstr "為 BIGINT NOT NULL AUTO_INCREMENT UNIQUE 的別名" #: libraries/Types.class.php:721 msgid "Stores a Universally Unique Identifier (UUID)" -msgstr "" +msgstr "存儲一個通用唯一識別碼 (UUID)" #: libraries/Types.class.php:727 msgid "" "A timestamp, range is '0001-01-01 00:00:00' UTC to '9999-12-31 23:59:59' " "UTC; TIMESTAMP(6) can store microseconds" msgstr "" +"時間戳記,範圍是 '0001-01-01 00:00:00' UTC 到 '9999-12-31 23:59:59' UTC;TIMESTAMP(6) " +"可以存儲到微秒" #: libraries/Types.class.php:735 msgid "" "A variable-length (0-65,535) string, uses binary collation for all " "comparisons" -msgstr "" +msgstr "可變長度 (0-65,535) 字串,一律使用二進位排序規則的比較" #: libraries/Types.class.php:739 msgid "An enumeration, chosen from the list of defined values" -msgstr "" +msgstr "列舉,從清單中選擇一個值" #: libraries/Util.class.php:226 #, php-format @@ -3794,7 +3797,7 @@ msgstr "您應升級到 %s %s 或更高版本。" #: libraries/common.inc.php:1086 msgid "Error: Token mismatch" -msgstr "" +msgstr "錯誤:字符不匹配" #: libraries/common.inc.php:1130 msgid "GLOBALS overwrite attempt" @@ -3835,11 +3838,11 @@ msgstr "右" #: libraries/config.values.php:70 msgid "Click" -msgstr "" +msgstr "點擊" #: libraries/config.values.php:71 msgid "Double click" -msgstr "" +msgstr "雙點擊" #: libraries/config.values.php:72 libraries/config.values.php:103 #: libraries/config/FormDisplay.tpl.php:223 libraries/relation.lib.php:96 @@ -4076,10 +4079,12 @@ msgid "" "Use user-friendly editor for editing SQL queries ([a@http://codemirror." "net/]CodeMirror[/a]) with syntax highlighting and line numbers" msgstr "" +"請用友善的編輯器 (具語法高亮顯示和行號功能) 來編輯 SQL 查詢 " +"([a@http://codemirror.net/]CodeMirror[/a])" #: libraries/config/messages.inc.php:31 msgid "Enable CodeMirror" -msgstr "" +msgstr "啟用 CodeMirror" #: libraries/config/messages.inc.php:32 msgid "" @@ -4182,7 +4187,7 @@ msgstr "預設資料表標籤" #: libraries/config/messages.inc.php:54 msgid "Whether the table structure actions should be hidden" -msgstr "" +msgstr "是否應隱藏資料表結構操作" #: libraries/config/messages.inc.php:55 msgid "Hide table structure actions" @@ -4736,7 +4741,7 @@ msgstr "資料庫結構" #: libraries/config/messages.inc.php:223 msgid "Choose which details to show in the database structure (list of tables)" -msgstr "" +msgstr "選擇那些細節要顯示在資料庫結構中 (資料表清單)" #: libraries/config/messages.inc.php:224 msgid "Table structure" @@ -4744,7 +4749,7 @@ msgstr "資料表結構" #: libraries/config/messages.inc.php:225 msgid "Settings for the table structure (list of columns)" -msgstr "" +msgstr "設定資料表結構 (欄位清單)" #: libraries/config/messages.inc.php:226 msgid "Tabs" @@ -4973,7 +4978,7 @@ msgstr "在每頁的導覽數上可顯示的物件數" #: libraries/config/messages.inc.php:287 msgid "Maximum items in branch" -msgstr "" +msgstr "分支的最大項目數" #: libraries/config/messages.inc.php:288 msgid "" @@ -5077,7 +5082,7 @@ msgstr "導覽樹中的群組項目 (以下面的樹形分隔符號來顯示)" #: libraries/config/messages.inc.php:310 msgid "Group items in the tree" -msgstr "" +msgstr "樹狀的分組項目" #: libraries/config/messages.inc.php:311 msgid "String that separates databases into different tree levels" @@ -5186,7 +5191,7 @@ msgstr "如果偵測到 MySQL 函式庫和伺服器有所不同時禁用預設 #: libraries/config/messages.inc.php:335 msgid "Server/library difference warning" -msgstr "" +msgstr "伺服器和函式庫不同的警告" #: libraries/config/messages.inc.php:336 msgid "" @@ -5196,7 +5201,7 @@ msgstr "如果資料表欄位是 MySQL 保留字時,在顯示結構頁面禁 #: libraries/config/messages.inc.php:337 msgid "MySQL reserved word warning" -msgstr "" +msgstr "MYSQL 保留字警告" #: libraries/config/messages.inc.php:339 msgid "Iconic table operations" @@ -5281,11 +5286,11 @@ msgstr "重複表頭" #: libraries/config/messages.inc.php:360 msgid "Grid editing: trigger action" -msgstr "" +msgstr "資料格編輯: 觸發動作" #: libraries/config/messages.inc.php:361 msgid "Grid editing: save all edited cells at once" -msgstr "" +msgstr "資料格編輯: 立刻保存所有已編輯資料" #: libraries/config/messages.inc.php:362 msgid "Directory where exports can be saved on server" @@ -5761,7 +5766,7 @@ msgstr "顯示建立資料庫表單" #: libraries/config/messages.inc.php:460 msgid "Show or hide a column displaying the Creation timestamp for all tables" -msgstr "" +msgstr "顯示或隱藏所有資料表欄位創建的時間戳記" #: libraries/config/messages.inc.php:461 msgid "Show Creation timestamp" @@ -5770,16 +5775,16 @@ msgstr "顯示建立時間戳記" #: libraries/config/messages.inc.php:462 msgid "" "Show or hide a column displaying the Last update timestamp for all tables" -msgstr "" +msgstr "顯示或隱藏所有資料表欄位更新的時間戳記" #: libraries/config/messages.inc.php:463 msgid "Show Last update timestamp" -msgstr "" +msgstr "顯示最後更新的時間戳記" #: libraries/config/messages.inc.php:464 msgid "" "Show or hide a column displaying the Last check timestamp for all tables" -msgstr "" +msgstr "顯示或隱藏所有資料表欄位最後檢查的時間戳記" #: libraries/config/messages.inc.php:465 msgid "Show Last check timestamp" @@ -6189,11 +6194,11 @@ msgstr "使用設定檔案中定義的控制使用者連線失敗。" #: libraries/dbi/drizzle-wrappers.lib.php:387 msgid "Can't seek in an unbuffered result set" -msgstr "" +msgstr "不能在無緩衝的結果集中尋找" #: libraries/dbi/drizzle-wrappers.lib.php:408 msgid "Can't count rows in an unbuffered result set" -msgstr "" +msgstr "不能在無緩衝的結果集中計算筆數" #: libraries/display_change_password.lib.php:53 #: libraries/replication_gui.lib.php:371 @@ -6404,11 +6409,11 @@ msgstr "編碼轉換:" #: libraries/display_git_revision.lib.php:56 #, php-format msgid "%1$s from %2$s branch" -msgstr "" +msgstr "從 %2$s 分支的 %1$s" #: libraries/display_git_revision.lib.php:58 msgid "no branch" -msgstr "" +msgstr "沒有分支" #: libraries/display_git_revision.lib.php:64 msgid "Git revision:" @@ -6445,15 +6450,15 @@ msgstr "正在上傳您的匯入檔案…" #: libraries/display_import.lib.php:94 #, php-format msgid "%s/sec." -msgstr "" +msgstr "%s/每秒" #: libraries/display_import.lib.php:101 msgid "About %MIN min. %SEC sec. remaining." -msgstr "" +msgstr "約剩 %MIN 分 %SEC 秒。" #: libraries/display_import.lib.php:105 msgid "About %SEC sec. remaining." -msgstr "" +msgstr "約剩 %SEC 秒。" #: libraries/display_import.lib.php:135 msgid "The file is being processed, please be patient." @@ -7241,7 +7246,7 @@ msgstr "未知" #: libraries/navigation/Navigation.class.php:61 msgid "An error has occured while loading the navigation tree" -msgstr "" +msgstr "載入導航樹時出錯" #: libraries/navigation/NavigationHeader.class.php:178 msgid "Home" @@ -7263,7 +7268,7 @@ msgstr "重新整理導覽框架" #, php-format msgid "%s other result found" msgid_plural "%s other results found" -msgstr[0] "" +msgstr[0] "找到 %s 個其他結果" #: libraries/navigation/NavigationTree.class.php:1039 msgid "filter databases by name" @@ -7272,7 +7277,7 @@ msgstr "依資料庫名稱篩選" #: libraries/navigation/NavigationTree.class.php:1040 #: libraries/navigation/NavigationTree.class.php:1073 msgid "Clear Fast Filter" -msgstr "" +msgstr "清除快速篩選器" #: libraries/navigation/NavigationTree.class.php:1072 msgid "filter items by name" @@ -7282,27 +7287,27 @@ msgstr "依項目名稱篩選" #: libraries/navigation/NodeFactory.class.php:41 #, php-format msgid "Invalid class name \"%1$s\", using default of \"Node\"" -msgstr "" +msgstr "不正確的類別名稱 \"%1$s\",使用預設的 \"Node\"" #: libraries/navigation/NodeFactory.class.php:65 #, php-format msgid "Could not include class \"%1$s\", file \"%2$s\" not found" -msgstr "" +msgstr "無法引用類別 \"%1$s\",檔案 \"%2$s\" 找不到" #: libraries/navigation/Nodes/Node_Column_Container.class.php:26 #: libraries/sql_query_form.lib.php:281 msgid "Columns" -msgstr "字段" +msgstr "欄位" #: libraries/navigation/Nodes/Node_Column_Container.class.php:40 msgctxt "Create new column" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Event_Container.class.php:37 msgctxt "Create new event" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Function_Container.class.php:26 #: libraries/plugins/export/ExportSql.class.php:475 @@ -7313,12 +7318,12 @@ msgstr "函數" #: libraries/navigation/Nodes/Node_Function_Container.class.php:37 msgctxt "Create new function" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Index_Container.class.php:39 msgctxt "Create new index" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Procedure_Container.class.php:26 #: libraries/plugins/export/ExportSql.class.php:458 @@ -7330,17 +7335,17 @@ msgstr "Procedure" #: libraries/rte/rte_footer.lib.php:29 msgctxt "Create new procedure" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Table_Container.class.php:43 msgctxt "Create new table" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_Trigger_Container.class.php:37 msgctxt "Create new trigger" msgid "New" -msgstr "" +msgstr "新增" #: libraries/navigation/Nodes/Node_View_Container.class.php:26 #: libraries/plugins/export/ExportXml.class.php:125 @@ -7350,7 +7355,7 @@ msgstr "視表" #: libraries/navigation/Nodes/Node_View_Container.class.php:37 msgctxt "Create new view" msgid "New" -msgstr "" +msgstr "新增" #: libraries/operations.lib.php:75 msgid "Rename database to:" @@ -7410,7 +7415,7 @@ msgstr "更改表的排序,根據" #: libraries/operations.lib.php:628 msgid "(singly)" -msgstr "(逐一)" +msgstr "(單一)" #: libraries/operations.lib.php:664 msgid "Move table to (database.table):" @@ -7557,7 +7562,7 @@ msgstr "" #: libraries/plugins/auth/AuthenticationConfig.class.php:142 msgid "Retry to connect" -msgstr "" +msgstr "重試連接" #: libraries/plugins/auth/AuthenticationCookie.class.php:44 msgid "Failed to use Blowfish from mcrypt!" @@ -7572,7 +7577,7 @@ msgstr "登錄" #: libraries/plugins/auth/AuthenticationCookie.class.php:100 msgid "Your session has expired. Please log in again." -msgstr "" +msgstr "您的連線已過期,請重新登錄。" #: libraries/plugins/auth/AuthenticationCookie.class.php:198 #: libraries/plugins/auth/AuthenticationCookie.class.php:208 @@ -7885,7 +7890,7 @@ msgstr "資料建立選項" #: libraries/plugins/export/ExportSql.class.php:299 #: libraries/plugins/export/ExportSql.class.php:1652 msgid "Truncate table before insert" -msgstr "" +msgstr "資料表新增前先清除舊資料" #: libraries/plugins/export/ExportSql.class.php:305 msgid "Instead of INSERT statements, use:" @@ -8113,7 +8118,7 @@ msgstr "XML" #: libraries/plugins/import/ShapeRecord.class.php:58 #, php-format msgid "Geometry type '%s' is not supported by MySQL." -msgstr "" +msgstr "MySQL 不支援幾何類型 '%s'。" #: libraries/plugins/transformations/abstract/AppendTransformationsPlugin.class.php:32 msgid "" @@ -10396,7 +10401,7 @@ msgstr "設定將從瀏覽器的本地儲存中匯入。" #: prefs_manage.php:261 msgid "You have no saved settings!" -msgstr "您沒有已儲存的設定!" +msgstr "您尚未儲存設定!" #: prefs_manage.php:265 prefs_manage.php:318 msgid "This feature is not supported by your web browser" From 52c96178870e95276f94ec71ea47db193201b173 Mon Sep 17 00:00:00 2001 From: ayushchd Date: Fri, 21 Jun 2013 00:15:29 +0545 Subject: [PATCH 04/12] Group string type functions into classes, fix resp. tests --- libraries/StringCType.class.php | 106 +++++++++++++++++++++ libraries/StringNativeType.class.php | 135 +++++++++++++++++++++++++++ libraries/sqlparser.lib.php | 10 +- libraries/string.lib.php | 10 +- libraries/string_type_ctype.lib.php | 104 --------------------- libraries/string_type_native.lib.php | 133 -------------------------- test/libraries/PMA_string_test.php | 16 +++- 7 files changed, 266 insertions(+), 248 deletions(-) create mode 100644 libraries/StringCType.class.php create mode 100644 libraries/StringNativeType.class.php delete mode 100644 libraries/string_type_ctype.lib.php delete mode 100644 libraries/string_type_native.lib.php diff --git a/libraries/StringCType.class.php b/libraries/StringCType.class.php new file mode 100644 index 0000000000..dbd4bf054f --- /dev/null +++ b/libraries/StringCType.class.php @@ -0,0 +1,106 @@ + diff --git a/libraries/StringNativeType.class.php b/libraries/StringNativeType.class.php new file mode 100644 index 0000000000..4e995d0f2a --- /dev/null +++ b/libraries/StringNativeType.class.php @@ -0,0 +1,135 @@ + diff --git a/libraries/sqlparser.lib.php b/libraries/sqlparser.lib.php index 831d2d54fe..b968dd6c6f 100644 --- a/libraries/sqlparser.lib.php +++ b/libraries/sqlparser.lib.php @@ -317,7 +317,7 @@ function PMA_SQP_parse($sql) } // Checks for white space - if (PMA_STR_isSpace($c)) { + if ($GLOBALS['PMA_StringType']::isSpace($c)) { $this_was_space = true; $count2++; continue; @@ -492,7 +492,7 @@ function PMA_SQP_parse($sql) var_dump(PMA_STR_isSqlIdentifier($c, false)); var_dump($c == '@'); var_dump($c == '.'); - var_dump(PMA_STR_isDigit($GLOBALS['PMA_String']::substr($sql, $count2 + 1, 1))); + var_dump($GLOBALS['PMA_StringType']::isDigit($GLOBALS['PMA_String']::substr($sql, $count2 + 1, 1))); var_dump($previous_was_space); var_dump($previous_was_bracket); var_dump($previous_was_listsep); @@ -503,7 +503,7 @@ function PMA_SQP_parse($sql) if (PMA_STR_isSqlIdentifier($c, false) || $c == '@' || ($c == '.' - && PMA_STR_isDigit($GLOBALS['PMA_String']::substr($sql, $count2 + 1, 1)) + && $GLOBALS['PMA_StringType']::isDigit($GLOBALS['PMA_String']::substr($sql, $count2 + 1, 1)) && ($previous_was_space || $previous_was_bracket || $previous_was_listsep)) ) { /* DEBUG @@ -524,7 +524,7 @@ function PMA_SQP_parse($sql) $is_digit = ( !$is_identifier && !$is_sql_variable - && PMA_STR_isDigit($c) + && $GLOBALS['PMA_StringType']::isDigit($c) ); $is_hex_digit = ( $is_digit @@ -592,7 +592,7 @@ function PMA_SQP_parse($sql) $is_float_digit = false; } } - if (($is_hex_digit && PMA_STR_isHexDigit($c2)) || ($is_digit && PMA_STR_isDigit($c2))) { + if (($is_hex_digit && $GLOBALS['PMA_StringType']::isHexDigit($c2)) || ($is_digit && $GLOBALS['PMA_StringType']::isDigit($c2))) { $count2++; continue; } else { diff --git a/libraries/string.lib.php b/libraries/string.lib.php index a05939b2c4..cc5fedb444 100644 --- a/libraries/string.lib.php +++ b/libraries/string.lib.php @@ -32,9 +32,11 @@ if (@function_exists('mb_strlen')) { * Load ctype handler. */ if (@extension_loaded('ctype')) { - include './libraries/string_type_ctype.lib.php'; + include './libraries/StringCType.class.php'; + $PMA_StringType = new PMA_StringCType(); } else { - include './libraries/string_type_native.lib.php'; + include './libraries/String_NativeType.class.php'; + $PMA_StringType = new PMA_StringNativeType(); } /** @@ -92,8 +94,8 @@ function PMA_STR_numberInRangeInclusive($num, $lower, $upper) * @return boolean whether the character is an SQL identifier or not */ function PMA_STR_isSqlIdentifier($c, $dot_is_valid = false) -{ - return (PMA_STR_isAlnum($c) +{ + return ($GLOBALS['PMA_StringType']::isAlnum($c) || ($ord_c = ord($c)) && $ord_c >= 192 && $ord_c != 215 && $ord_c != 249 || $c == '_' || $c == '$' diff --git a/libraries/string_type_ctype.lib.php b/libraries/string_type_ctype.lib.php deleted file mode 100644 index 12469baf3a..0000000000 --- a/libraries/string_type_ctype.lib.php +++ /dev/null @@ -1,104 +0,0 @@ - diff --git a/libraries/string_type_native.lib.php b/libraries/string_type_native.lib.php deleted file mode 100644 index 4267a1923d..0000000000 --- a/libraries/string_type_native.lib.php +++ /dev/null @@ -1,133 +0,0 @@ - diff --git a/test/libraries/PMA_string_test.php b/test/libraries/PMA_string_test.php index 9ae482e217..28994bfb9e 100644 --- a/test/libraries/PMA_string_test.php +++ b/test/libraries/PMA_string_test.php @@ -10,7 +10,7 @@ * Include to test. */ require_once 'libraries/string.lib.php'; - +require_once 'libraries/StringNativeType.class.php'; /** * Tests for Specialized String Functions for phpMyAdmin * @@ -18,6 +18,18 @@ require_once 'libraries/string.lib.php'; */ class PMA_String_Test extends PHPUnit_Framework_TestCase { + + /** + * Setup function for test cases + * + * @access protected + * @return void + */ + protected function setUp() + { + $GLOBALS['PMA_StringType'] = new PMA_StringNativeType(); + } + /** * Test for Str_charIsEscaped * @@ -125,7 +137,7 @@ class PMA_String_Test extends PHPUnit_Framework_TestCase array(false, '.'), array(true, chr(192)), array(false, chr(215)), - array(true, chr(249)), + array(false, chr(249)), array(true, '_'), array(true, '$') ); From d6512446438758aae54c6e4412c4ed5e890b01ca Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Thu, 20 Jun 2013 20:42:23 +0200 Subject: [PATCH 05/12] Translated using Weblate (Traditional Chinese) Currently translated at 92.7% (2476 of 2672) --- po/zh_TW.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index 0ad2aedb6d..9b68067302 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-20 18:09+0200\n" +"PO-Revision-Date: 2013-06-20 20:42+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -317,7 +317,7 @@ msgstr "表" #: libraries/structure.lib.php:768 libraries/structure.lib.php:1708 #: libraries/structure.lib.php:1901 tbl_printview.php:365 msgid "Rows" -msgstr "行數" +msgstr "筆數" #: db_printview.php:51 libraries/display_indexes.lib.php:118 #: libraries/structure.lib.php:787 @@ -3614,11 +3614,11 @@ msgstr "在本頁面編輯此查詢" #: libraries/Util.class.php:1366 msgctxt "Inline edit query" msgid "Inline" -msgstr "行間" +msgstr "本頁編輯" #: libraries/Util.class.php:1434 libraries/sql.lib.php:445 msgid "Profiling" -msgstr "概要" +msgstr "性能分析" #. l10n: Short week day name #: libraries/Util.class.php:1697 @@ -9980,7 +9980,7 @@ msgstr "於 %s 之後" #: libraries/structure.lib.php:1670 msgid "Row statistics" -msgstr "行統計" +msgstr "資料統計" #: libraries/structure.lib.php:1675 tbl_printview.php:353 msgid "static" From 158688e87e46eb67bf320053cba1819dd031b955 Mon Sep 17 00:00:00 2001 From: gheni Date: Thu, 20 Jun 2013 20:19:01 +0200 Subject: [PATCH 06/12] Translated using Weblate (Uighur) Currently translated at 13.8% (370 of 2672) --- po/ug.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/po/ug.po b/po/ug.po index 0888294f16..8bdd8f91ce 100644 --- a/po/ug.po +++ b/po/ug.po @@ -7,16 +7,15 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2012-11-05 10:16+0200\n" -"Last-Translator: Michal Čihař \n" -"Language-Team: Uighur \n" +"PO-Revision-Date: 2013-06-20 20:19+0200\n" +"Last-Translator: gheni \n" +"Language-Team: Uighur \n" "Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 1.3-dev\n" +"X-Generator: Weblate 1.6-dev\n" #: browse_foreigners.php:51 browse_foreigners.php:75 js/messages.php:335 #: libraries/DisplayResults.class.php:809 @@ -108,6 +107,8 @@ msgid "" "The %s file is not available on this system, please visit www.phpmyadmin.net " "for more information." msgstr "" +"The %s file is not available on this system, please visit www.phpmyadmin.net " +"for more information." #: db_create.php:60 #, php-format From 561983aff487342912f4dc519275cf8d9c256043 Mon Sep 17 00:00:00 2001 From: Spun Nakandala Date: Fri, 21 Jun 2013 21:13:24 +0530 Subject: [PATCH 07/12] "Show all" feature no longer works problem corrected --- libraries/parse_analyze.inc.php | 3 +-- sql.php | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libraries/parse_analyze.inc.php b/libraries/parse_analyze.inc.php index 25373ed0cd..5ce3ff5ff1 100644 --- a/libraries/parse_analyze.inc.php +++ b/libraries/parse_analyze.inc.php @@ -87,8 +87,7 @@ if ($GLOBALS['cfg']['RememberSorting'] } // checks whether a LIMIT clause should be added to the query -if (($_SESSION['tmp_user_values']['max_rows'] != 'all') - && ! ($is_count || $is_export || $is_func || $is_analyse) +if (! ($is_count || $is_export || $is_func || $is_analyse) && isset($analyzed_sql[0]['queryflags']['select_from']) && ! isset($analyzed_sql[0]['queryflags']['offset']) && empty($analyzed_sql[0]['limit_clause']) diff --git a/sql.php b/sql.php index 81fb8d5f56..7a2c9d330b 100644 --- a/sql.php +++ b/sql.php @@ -319,7 +319,9 @@ if ($is_remember_sorting_order) { $sql_limit_to_append = ''; // Do append a "LIMIT" clause? -if ($is_append_limit_clause) { +if (($_SESSION['tmp_user_values']['max_rows'] != 'all') + && $is_append_limit_clause +) { $sql_limit_to_append = ' LIMIT ' . $_SESSION['tmp_user_values']['pos'] . ', ' . $_SESSION['tmp_user_values']['max_rows'] . " "; $full_sql_query = PMA_getSqlWithLimitClause( @@ -327,7 +329,7 @@ if ($is_append_limit_clause) { $analyzed_sql, $sql_limit_to_append ); - + /** * @todo pretty printing of this modified query */ From 8d12cbb14dd74cc421cd308e6c28558f8e146eff Mon Sep 17 00:00:00 2001 From: Spun Nakandala Date: Fri, 21 Jun 2013 21:16:46 +0530 Subject: [PATCH 08/12] extra space removed --- sql.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql.php b/sql.php index 7a2c9d330b..28e1c4d468 100644 --- a/sql.php +++ b/sql.php @@ -329,7 +329,7 @@ if (($_SESSION['tmp_user_values']['max_rows'] != 'all') $analyzed_sql, $sql_limit_to_append ); - + /** * @todo pretty printing of this modified query */ From 6e18396e52aba0baf2e6d80ac28db83b5e31b68f Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Fri, 21 Jun 2013 11:21:09 +0200 Subject: [PATCH 09/12] Translated using Weblate (Traditional Chinese) Currently translated at 96.3% (2572 of 2672) --- po/zh_TW.po | 257 +++++++++++++++++++++++++++------------------------- 1 file changed, 134 insertions(+), 123 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index 9b68067302..af2f664fa5 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-20 20:42+0200\n" +"PO-Revision-Date: 2013-06-21 11:21+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -1156,11 +1156,11 @@ msgstr "無" #: js/messages.php:118 msgid "Resume monitor" -msgstr "恢復監控" +msgstr "恢復監測" #: js/messages.php:119 msgid "Pause monitor" -msgstr "暫停監控" +msgstr "暫停監測" #: js/messages.php:121 msgid "general_log and slow_query_log are enabled." @@ -1429,7 +1429,7 @@ msgstr "匯入" #: js/messages.php:191 msgid "Import monitor configuration" -msgstr "無法匯入狀態監視器的設定" +msgstr "無法匯入狀態監測器的設定" #: js/messages.php:192 msgid "Please select the file you want to import" @@ -2514,7 +2514,7 @@ msgstr "關聯鍵" #: libraries/DisplayResults.class.php:1597 msgid "Relational display column" -msgstr "關聯顯示字段" +msgstr "關聯顯示欄位" #: libraries/DisplayResults.class.php:1609 msgid "Show binary contents" @@ -2847,7 +2847,7 @@ msgstr "權限" #: libraries/Menu.class.php:388 libraries/rte/rte_words.lib.php:34 msgid "Routines" -msgstr "一般" +msgstr "程序" #: libraries/Menu.class.php:396 #: libraries/navigation/Nodes/Node_Event_Container.class.php:26 @@ -3460,9 +3460,8 @@ msgid "A type that can store a geometry of any type" msgstr "類型可以存儲幾何的任何型態" #: libraries/Types.class.php:360 -#, fuzzy msgid "A point in 2-dimensional space" -msgstr "2 維空間中的點" +msgstr "2 維空間的點" #: libraries/Types.class.php:362 msgid "A curve with linear interpolation between points" @@ -5064,7 +5063,7 @@ msgstr "快速訪問圖示的目標" msgid "" "Defines the minimum number of items (tables, views, routines and events) to " "display a filter box." -msgstr "定義最少的物件數 (資料表、views、routines和events)以顯示在過濾框。" +msgstr "定義最少的物件數 (資料表、視表、程序和事件)以顯示在過濾框。" #: libraries/config/messages.inc.php:307 msgid "Minimum number of items to display the filter box" @@ -5221,8 +5220,7 @@ msgid "" "storage). If disabled, this utilizes JS-routines to display query history " "(lost by window close)." msgstr "" -"允許使用資料庫保存查詢歷史(需要 phpMyAdmin 進階功能)。如果停用,將使用 " -"Javascript 來保存查詢歷史(關閉瀏覽器後資料消失)。" +"允許使用資料庫保存查詢歷史 (需要 phpMyAdmin 進階功能)。如果停用,將改用 Javascript 來保存查詢歷史 (直到瀏覽器關閉)。" #: libraries/config/messages.inc.php:343 msgid "Permanent query history" @@ -6441,7 +6439,7 @@ msgstr "" #: libraries/display_import.lib.php:77 #, php-format msgid "%s of %s" -msgstr "" +msgstr "%s 之 %s" #: libraries/display_import.lib.php:86 msgid "Uploading your import file…" @@ -7703,7 +7701,7 @@ msgstr "轉存資料表中的資料" #: libraries/plugins/export/ExportTexytext.class.php:438 #: libraries/rte/rte_list.lib.php:69 libraries/rte/rte_triggers.lib.php:387 msgid "Event" -msgstr "Event" +msgstr "事件" #: libraries/plugins/export/ExportHtmlword.class.php:488 #: libraries/plugins/export/ExportOdt.class.php:570 @@ -8124,7 +8122,7 @@ msgstr "MySQL 不支援幾何類型 '%s'。" msgid "" "Appends text to a string. The only option is the text to be appended " "(enclosed in single quotes, default empty string)." -msgstr "" +msgstr "將文字加到字串後面。要附加的文字是唯一的選擇 (括在單引號中,預設為空字串)。" #: libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php:31 msgid "" @@ -8481,7 +8479,7 @@ msgstr "建立 Event %1$s 成功。" #: libraries/rte/rte_events.lib.php:175 libraries/rte/rte_routines.lib.php:366 #: libraries/rte/rte_triggers.lib.php:147 msgid "One or more errors have occured while processing your request:" -msgstr "" +msgstr "處理您的請求時出現一個或多個錯誤:" #: libraries/rte/rte_events.lib.php:228 msgid "Edit event" @@ -8515,11 +8513,11 @@ msgstr "修改為 %s" #: libraries/rte/rte_events.lib.php:469 msgid "Execute at" -msgstr "" +msgstr "執行於" #: libraries/rte/rte_events.lib.php:477 msgid "Execute every" -msgstr "" +msgstr "執行每個" #: libraries/rte/rte_events.lib.php:496 msgctxt "Start of recurring event" @@ -8539,13 +8537,13 @@ msgstr "完成時保留" #: libraries/rte/rte_routines.lib.php:1042 #: libraries/rte/rte_triggers.lib.php:407 msgid "Definer" -msgstr "" +msgstr "定義" #: libraries/rte/rte_events.lib.php:567 #: libraries/rte/rte_routines.lib.php:1109 #: libraries/rte/rte_triggers.lib.php:445 msgid "The definer must be in the \"username@hostname\" format" -msgstr "" +msgstr "定義必須是 \"username@hostname\" 格式" #: libraries/rte/rte_events.lib.php:574 msgid "You must provide an event name" @@ -8569,11 +8567,11 @@ msgstr "您必須為 Event 給予一個正確的定義。" #: libraries/rte/rte_footer.lib.php:91 msgid "OFF" -msgstr "" +msgstr "關閉" #: libraries/rte/rte_footer.lib.php:96 msgid "ON" -msgstr "" +msgstr "開啟" #: libraries/rte/rte_footer.lib.php:108 msgid "Event scheduler status" @@ -8590,38 +8588,40 @@ msgid "" "fail![/strong] Please use the improved 'mysqli' extension to avoid any " "problems." msgstr "" +"您正在使用 PHP 棄用的 'mysql' 擴展,缺乏處理多查詢功能。[strong]一些預儲程序的執行可能會失敗![/strong] 請使用改進的 " +"'mysqli' 擴展以避免出現任何問題。" #: libraries/rte/rte_routines.lib.php:281 #: libraries/rte/rte_routines.lib.php:1118 #, php-format msgid "Invalid routine type: \"%s\"" -msgstr "無效的函式類型: \"%s\"" +msgstr "無效的程序類型: \"%s\"" #: libraries/rte/rte_routines.lib.php:321 msgid "Sorry, we failed to restore the dropped routine." -msgstr "" +msgstr "很抱歉,還原的被刪除的程序失敗。" #: libraries/rte/rte_routines.lib.php:332 #, php-format msgid "Routine %1$s has been modified." -msgstr "函式的 %1$s 已被修改。" +msgstr "程序 %1$s 已被修改。" #: libraries/rte/rte_routines.lib.php:353 #, php-format msgid "Routine %1$s has been created." -msgstr "函式 %1$s 已建立成功。" +msgstr "程序 %1$s 已建立。" #: libraries/rte/rte_routines.lib.php:434 msgid "Edit routine" -msgstr "編輯函式" +msgstr "編輯程序" #: libraries/rte/rte_routines.lib.php:934 msgid "Routine name" -msgstr "函式名稱" +msgstr "程序名稱" #: libraries/rte/rte_routines.lib.php:960 msgid "Parameters" -msgstr "" +msgstr "參數" #: libraries/rte/rte_routines.lib.php:966 msgid "Direction" @@ -8634,7 +8634,7 @@ msgstr "長度/值" #: libraries/rte/rte_routines.lib.php:984 msgid "Add parameter" -msgstr "" +msgstr "新增參數" #: libraries/rte/rte_routines.lib.php:988 msgid "Remove last parameter" @@ -8654,7 +8654,7 @@ msgstr "返回選項" #: libraries/rte/rte_routines.lib.php:1037 msgid "Is deterministic" -msgstr "" +msgstr "是確定的" #: libraries/rte/rte_routines.lib.php:1047 msgid "Security type" @@ -8662,60 +8662,60 @@ msgstr "安全類型" #: libraries/rte/rte_routines.lib.php:1056 msgid "SQL data access" -msgstr "" +msgstr "SQL 資料存取" #: libraries/rte/rte_routines.lib.php:1125 msgid "You must provide a routine name" -msgstr "" +msgstr "您必須提供一個程序名稱" #: libraries/rte/rte_routines.lib.php:1155 #, php-format msgid "Invalid direction \"%s\" given for parameter." -msgstr "" +msgstr "給予的參數方向 \"%s\" 無效。" #: libraries/rte/rte_routines.lib.php:1175 #: libraries/rte/rte_routines.lib.php:1230 msgid "" "You must provide length/values for routine parameters of type ENUM, SET, " "VARCHAR and VARBINARY." -msgstr "" +msgstr "您必須為程序提供長度/數值的參數型別為列舉、集合、VARCHAR 和 VARBINARY。" #: libraries/rte/rte_routines.lib.php:1198 msgid "You must provide a name and a type for each routine parameter." -msgstr "" +msgstr "你必須提供每個程序的參數名稱和類型。" #: libraries/rte/rte_routines.lib.php:1213 msgid "You must provide a valid return type for the routine." -msgstr "" +msgstr "您必須提供一個有效的返回類型的程序。" #: libraries/rte/rte_routines.lib.php:1272 msgid "You must provide a routine definition." -msgstr "" +msgstr "您必須提供一個程序的定義。" #: libraries/rte/rte_routines.lib.php:1370 #, php-format msgid "Execution results of routine %s" -msgstr "執行函式 %s 的結果" +msgstr "執行程序 %s 的結果" #: libraries/rte/rte_routines.lib.php:1435 #, php-format msgid "%d row affected by the last statement inside the procedure" msgid_plural "%d rows affected by the last statement inside the procedure" -msgstr[0] "" +msgstr[0] "程序中最後一個語句影響了 %d 行" #: libraries/rte/rte_routines.lib.php:1508 #: libraries/rte/rte_routines.lib.php:1516 msgid "Execute routine" -msgstr "" +msgstr "執行程序" #: libraries/rte/rte_routines.lib.php:1572 #: libraries/rte/rte_routines.lib.php:1575 msgid "Routine parameters" -msgstr "函式的參數" +msgstr "程序的參數" #: libraries/rte/rte_triggers.lib.php:106 msgid "Sorry, we failed to restore the dropped trigger." -msgstr "" +msgstr "很抱歉,還原已刪除的觸發器失敗。" #: libraries/rte/rte_triggers.lib.php:116 #, php-format @@ -8742,11 +8742,11 @@ msgstr "時間" #: libraries/rte/rte_triggers.lib.php:452 msgid "You must provide a trigger name" -msgstr "" +msgstr "您必須提供一個觸發器名稱" #: libraries/rte/rte_triggers.lib.php:459 msgid "You must provide a valid timing for the trigger" -msgstr "" +msgstr "您必須為觸發器提供一個有效的時機" #: libraries/rte/rte_triggers.lib.php:466 msgid "You must provide a valid event for the trigger" @@ -8758,33 +8758,33 @@ msgstr "您必須提供一個合法的資料表名稱" #: libraries/rte/rte_triggers.lib.php:480 msgid "You must provide a trigger definition." -msgstr "" +msgstr "您必須提供一個觸發器的定義。" #: libraries/rte/rte_words.lib.php:27 msgid "Add routine" -msgstr "新增函式" +msgstr "新增程序" #: libraries/rte/rte_words.lib.php:29 #, php-format msgid "Export of routine %s" -msgstr "匯出函式 %s" +msgstr "匯出程序 %s" #: libraries/rte/rte_words.lib.php:30 msgid "routine" -msgstr "函式" +msgstr "程序" #: libraries/rte/rte_words.lib.php:31 msgid "You do not have the necessary privileges to create a routine" -msgstr "您無建立函式的權限" +msgstr "您無建立程序的權限" #: libraries/rte/rte_words.lib.php:32 #, php-format msgid "No routine with name %1$s found in database %2$s" -msgstr "在資料庫 %2$s 中無此函式名稱 %1$s" +msgstr "在資料庫 %2$s 中無此程序名稱 %1$s" #: libraries/rte/rte_words.lib.php:33 msgid "There are no routines to display." -msgstr "沒有函式可供顯示。" +msgstr "沒有程序可供顯示。" #: libraries/rte/rte_words.lib.php:39 msgid "Add trigger" @@ -8823,7 +8823,7 @@ msgstr "匯出 Event %s" #: libraries/rte/rte_words.lib.php:54 msgid "event" -msgstr "Event" +msgstr "事件" #: libraries/rte/rte_words.lib.php:55 msgid "You do not have the necessary privileges to create an event" @@ -9029,7 +9029,7 @@ msgstr "字集和排序規則" #: libraries/server_plugins.lib.php:32 msgid "Modules" -msgstr "" +msgstr "模組" #: libraries/server_plugins.lib.php:68 msgid "Begin" @@ -9037,15 +9037,15 @@ msgstr "開始" #: libraries/server_plugins.lib.php:75 msgid "Plugin" -msgstr "" +msgstr "插件" #: libraries/server_plugins.lib.php:76 libraries/server_plugins.lib.php:132 msgid "Module" -msgstr "" +msgstr "模組" #: libraries/server_plugins.lib.php:77 libraries/server_plugins.lib.php:134 msgid "Library" -msgstr "" +msgstr "函式庫" #: libraries/server_plugins.lib.php:78 libraries/server_plugins.lib.php:135 #: tbl_tracking.php:765 @@ -9054,11 +9054,11 @@ msgstr "版本" #: libraries/server_plugins.lib.php:79 libraries/server_plugins.lib.php:136 msgid "Author" -msgstr "" +msgstr "作者" #: libraries/server_plugins.lib.php:80 libraries/server_plugins.lib.php:137 msgid "License" -msgstr "" +msgstr "授權" #: libraries/server_plugins.lib.php:184 msgid "disabled" @@ -9202,12 +9202,12 @@ msgstr "允許執行 SHOW CREATE VIEW 查詢。" #: libraries/server_privileges.lib.php:269 #: libraries/server_privileges.lib.php:865 server_privileges.php:63 msgid "Allows creating stored routines." -msgstr "允許建立 stored routines." +msgstr "允許建立預儲程序。" #: libraries/server_privileges.lib.php:273 #: libraries/server_privileges.lib.php:869 server_privileges.php:61 msgid "Allows altering and dropping stored routines." -msgstr "允許修改或刪除已儲存的例行事件。" +msgstr "允許修改或刪除已預儲程序。" #: libraries/server_privileges.lib.php:277 #: libraries/server_privileges.lib.php:957 server_privileges.php:66 @@ -9217,7 +9217,7 @@ msgstr "允許建立、刪除和重新命名使用者帳號。" #: libraries/server_privileges.lib.php:281 #: libraries/server_privileges.lib.php:871 server_privileges.php:72 msgid "Allows executing stored routines." -msgstr "允許執行已儲存的例行事件。" +msgstr "允許執行預儲程序。" #: libraries/server_privileges.lib.php:328 #: libraries/server_privileges.lib.php:329 @@ -9367,7 +9367,7 @@ msgstr "已新增使用者。" #: libraries/server_privileges.lib.php:1618 msgctxt "Create new user" msgid "New" -msgstr "" +msgstr "新增" #: libraries/server_privileges.lib.php:1674 #: libraries/server_privileges.lib.php:1840 @@ -9528,19 +9528,19 @@ msgstr "選擇時間範圍:" #: libraries/server_status_monitor.lib.php:103 msgid "Only retrieve SELECT,INSERT,UPDATE and DELETE Statements" -msgstr "" +msgstr "只取得 SELECT、INSERT、UPDATE 和 DELETE 語句" #: libraries/server_status_monitor.lib.php:108 msgid "Remove variable data in INSERT statements for better grouping" -msgstr "" +msgstr "為了更好的分組,在 INSERT 語句中移除變數資料" #: libraries/server_status_monitor.lib.php:111 msgid "Choose from which log you want the statistics to be generated from." -msgstr "" +msgstr "選擇要從那個日誌來進行統計。" #: libraries/server_status_monitor.lib.php:114 msgid "Results are grouped by query text." -msgstr "" +msgstr "分組查詢本文的結果。" #: libraries/server_status_monitor.lib.php:118 msgid "Query analyzer" @@ -9548,7 +9548,7 @@ msgstr "查詢分析" #: libraries/server_status_monitor.lib.php:135 msgid "Monitor Instructions" -msgstr "監督指令" +msgstr "監測說明" #: libraries/server_status_monitor.lib.php:137 msgid "" @@ -9566,17 +9566,19 @@ msgid "" "table is supported by MySQL 5.1.6 and onwards. You may still use the server " "charting features however." msgstr "" +"很不幸您的資料庫伺服器不支援儲存日誌表,這是 phpMyAdmin 分析資料庫日誌必要的需求。MySQL 5.1.6 " +"起已支援日誌記錄表,但您仍可以使用伺服器圖表的功能。" #: libraries/server_status_monitor.lib.php:164 msgid "Using the monitor:" -msgstr "" +msgstr "使用監測器:" #: libraries/server_status_monitor.lib.php:167 msgid "" "Your browser will refresh all displayed charts in a regular interval. You " "may add charts and change the refresh rate under 'Settings', or remove any " "chart using the cog icon on each respective chart." -msgstr "" +msgstr "您瀏覽器在固定的時間內會刷新顯示所有圖表。你可以增加圖表和更改 '設置' 下的更新率,或在各個圖表上用齒輪圖示來刪除該圖表。" #: libraries/server_status_monitor.lib.php:173 msgid "" @@ -9588,7 +9590,7 @@ msgstr "" #: libraries/server_status_monitor.lib.php:183 msgid "Please note:" -msgstr "" +msgstr "請注意:" #: libraries/server_status_monitor.lib.php:186 msgid "" @@ -9597,6 +9599,8 @@ msgid "" "it is advisable to select only a small time span and to disable the " "general_log and empty its table once monitoring is not required any more." msgstr "" +"啟用 general_log 可能會增加伺服器的負載 5-15%。此外請注意從日誌生成統計資訊是沉重的任務,所以最好只選擇短的時間片段,並禁用 " +"general_log,一但不再使用監測時應該要將這個表清空。" #: libraries/server_status_monitor.lib.php:207 #: libraries/server_status_monitor.lib.php:314 @@ -9617,7 +9621,7 @@ msgstr "選擇序列:" #: libraries/server_status_monitor.lib.php:221 msgid "Commonly monitored" -msgstr "" +msgstr "常用的監測" #: libraries/server_status_monitor.lib.php:237 msgid "or type variable name:" @@ -9625,27 +9629,25 @@ msgstr "或變數型態名稱:" #: libraries/server_status_monitor.lib.php:244 msgid "Display as differential value" -msgstr "" +msgstr "顯示為差異的值" #: libraries/server_status_monitor.lib.php:247 -#, fuzzy #| msgid "Advisor" msgid "Apply a divisor" -msgstr "輔導" +msgstr "用於除數" #: libraries/server_status_monitor.lib.php:255 msgid "Append unit to data values" -msgstr "" +msgstr "在資料後面增加單位" #: libraries/server_status_monitor.lib.php:261 msgid "Add this series" msgstr "新增這個序列" #: libraries/server_status_monitor.lib.php:263 -#, fuzzy #| msgid "Select series:" msgid "Clear series" -msgstr "選擇序列:" +msgstr "清除序列" #: libraries/server_status_monitor.lib.php:266 msgid "Series in Chart:" @@ -9653,17 +9655,16 @@ msgstr "圖表中的序列:" #: libraries/server_status_monitor.lib.php:287 msgid "Start Monitor" -msgstr "啟動監視" +msgstr "啟動監測" #: libraries/server_status_monitor.lib.php:294 -#, fuzzy #| msgid "Instructions" msgid "Instructions/Setup" -msgstr "指令" +msgstr "說明/安裝程式" #: libraries/server_status_monitor.lib.php:298 msgid "Done dragging (rearranging) charts" -msgstr "" +msgstr "完成拖拉 (重新排列) 圖表" #: libraries/server_status_monitor.lib.php:317 msgid "Enable charts dragging" @@ -9685,7 +9686,7 @@ msgstr "圖表排列" msgid "" "The arrangement of the charts is stored to the browsers local storage. You " "may want to export it if you have a complicated set up." -msgstr "" +msgstr "圖表的排列存已儲到瀏覽器的本機儲存區。如果您的設定很複雜最好將之匯出。" #: libraries/server_status_monitor.lib.php:363 msgid "Reset to default" @@ -9936,7 +9937,7 @@ msgstr "移動欄位" #: libraries/structure.lib.php:1426 msgid "Move the columns by dragging them up and down." -msgstr "" +msgstr "通過上下拖拉來移動欄位。" #: libraries/structure.lib.php:1460 msgid "Edit view" @@ -10004,7 +10005,7 @@ msgstr "行大小" #: libraries/structure.lib.php:1746 tbl_printview.php:399 msgid "Next autoindex" -msgstr "" +msgstr "下個自動索引" #: libraries/structure.lib.php:1872 libraries/structure.lib.php:1953 #: libraries/structure.lib.php:1961 libraries/structure.lib.php:1978 @@ -10123,7 +10124,7 @@ msgstr "定義:" #: libraries/tbl_columns_definition_form.inc.php:634 msgid "first" -msgstr "" +msgstr "第一個" #: libraries/tbl_columns_definition_form.inc.php:644 #, php-format @@ -10187,7 +10188,7 @@ msgstr "ZIP 包中有錯誤:" #: navigation.php:23 msgid "Fatal error: The navigation can only be accessed via AJAX" -msgstr "" +msgstr "錯誤: 只能經由 AJAX 使用導航" #: pmd_display_field.php:60 pmd_save_pos.php:75 msgid "Modifications have been saved" @@ -10203,7 +10204,7 @@ msgstr "在全螢幕檢視" #: pmd_general.php:90 msgid "Exit fullscreen" -msgstr "" +msgstr "退出全螢幕" #: pmd_general.php:95 msgid "Save position" @@ -10689,7 +10690,7 @@ msgstr "phpMyAdmin 無法中止程序 %s。該程序可能已經關閉。" #: server_status.php:93 #, php-format msgid "Network traffic since startup: %s" -msgstr "" +msgstr "啟動後的網路流量: %s" #: server_status.php:106 #, php-format @@ -10752,7 +10753,7 @@ msgstr "命令" #: server_status_advisor.php:44 msgid "Instructions" -msgstr "指令" +msgstr "說明" #: server_status_advisor.php:50 msgid "" @@ -10765,21 +10766,21 @@ msgid "" "Do note however that this system provides recommendations based on simple " "calculations and by rule of thumb which may not necessarily apply to your " "system." -msgstr "" +msgstr "但請注意此系統提供的建議基於簡單的計算和規則,不一定適用於您的系統。" #: server_status_advisor.php:63 msgid "" "Prior to changing any of the configuration, be sure to know what you are " "changing (by reading the documentation) and how to undo the change. Wrong " "tuning can have a very negative effect on performance." -msgstr "" +msgstr "在更改任何配置之前, 一定要知道您在改什麼 (請參閱文件) 以及如何還原變更。錯誤的調校對效能會有重大的負面影響。" #: server_status_advisor.php:71 msgid "" "The best way to tune your system would be to change only one setting at a " "time, observe or benchmark your database, and undo the change if there was " "no clearly measurable improvement." -msgstr "" +msgstr "最好的調校您系統的方法是一次只更改一個設置,觀察比較您資料庫的效能,如果沒有明顯的改善,那麼還原這個變更。" #: server_status_queries.php:67 #, php-format @@ -10805,7 +10806,7 @@ msgstr "說明" #. l10n: # = Amount of queries #: server_status_queries.php:122 msgid "#" -msgstr "" +msgstr "查詢數量" #: server_status_variables.php:78 server_variables.php:156 msgid "Filters" @@ -10821,7 +10822,7 @@ msgstr "只顯示警示值" #: server_status_variables.php:94 msgid "Filter by category…" -msgstr "" +msgstr "按分類篩選…" #: server_status_variables.php:114 msgid "Show unformatted values" @@ -10835,7 +10836,7 @@ msgstr "相關連結:" msgid "" "The number of connections that were aborted because the client died without " "closing the connection properly." -msgstr "" +msgstr "由於用戶端沒有正常關閉連線,這些連線已被中斷。" #: server_status_variables.php:334 msgid "The number of failed attempts to connect to the MySQL server." @@ -10857,7 +10858,7 @@ msgstr "交易所用的臨時二進制日誌快取的數量。" #: server_status_variables.php:345 msgid "" "The number of connection attempts (successful or not) to the MySQL server." -msgstr "" +msgstr "嘗試連到 MySQL 伺服器的連線數 (不論成功或失敗)。" #: server_status_variables.php:349 msgid "" @@ -11231,7 +11232,7 @@ msgstr "" msgid "" "Key cache miss calculated as rate of physical reads compared to read " "requests (calculated value)" -msgstr "" +msgstr "由實際讀取數和讀取請求數相比計算出的鍵值快取未命中率 (計算值)" #: server_status_variables.php:612 msgid "The number of requests to write a key block to the cache." @@ -11244,7 +11245,7 @@ msgstr "將鍵塊物理寫入到硬碟的次數。" #: server_status_variables.php:618 msgid "" "Percentage of physical writes compared to write requests (calculated value)" -msgstr "" +msgstr "實際寫入數和寫入請求數的百分比值(計算值)" #: server_status_variables.php:622 msgid "" @@ -11259,7 +11260,7 @@ msgstr "" msgid "" "The maximum number of connections that have been in use simultaneously since " "the server started." -msgstr "" +msgstr "自伺服器啟動以來的最大的同時連線數量。" #: server_status_variables.php:632 msgid "The number of rows waiting to be written in INSERT DELAYED queues." @@ -11288,7 +11289,7 @@ msgid "" "The number of free memory blocks in query cache. High numbers can indicate " "fragmentation issues, which may be solved by issuing a FLUSH QUERY CACHE " "statement." -msgstr "" +msgstr "查詢快取中的閒置區塊數。數字越高表示有記憶體碎片問題,也許可用 FLUSH QUERY CACHE 語句解決。" #: server_status_variables.php:653 msgid "The amount of free memory for query cache." @@ -11457,7 +11458,7 @@ msgstr "非睡眠狀態的程序數量。" #: server_variables.php:107 msgid "Setting variable failed" -msgstr "" +msgstr "設定變數失敗" #: server_variables.php:119 msgid "Server variables and settings" @@ -11478,7 +11479,7 @@ msgstr "下載" #: setup/frames/form.inc.php:25 msgid "Incorrect formset, check $formsets array in setup/frames/form.inc.php" -msgstr "" +msgstr "不正確的表單集,請檢查 setup/frames/form.inc.php 中的 $formsets 陣列" #: setup/frames/index.inc.php:51 msgid "Cannot load or save configuration" @@ -12348,7 +12349,7 @@ msgstr "" #: libraries/advisory_rules.txt:117 msgid "Version less than 5.5.8 (the first GA release of 5.5)." -msgstr "" +msgstr "版本低於 5.5.8 (5.5 官方第一個推薦版本)。" #: libraries/advisory_rules.txt:118 msgid "You should upgrade, to a stable version of MySQL 5.5" @@ -12361,7 +12362,7 @@ msgstr "分佈" #: libraries/advisory_rules.txt:124 msgid "Version is compiled from source, not a MySQL official binary." -msgstr "" +msgstr "版本號碼是原始碼編譯而來的,並非 MySQL 官方釋放的已編譯版本。" #: libraries/advisory_rules.txt:125 msgid "" @@ -12369,31 +12370,33 @@ msgid "" "distribution. The MySQL manual only is accurate for official MySQL binaries, " "not any package distributions (such as RedHat, Debian/Ubuntu etc)." msgstr "" +"如果您不是從原始程式碼編譯,那麼您可能是使用修改的套件版本。MySQL 手冊是基於的官方編譯的版本,並不是基於其他套件版本 (例如 " +"RedHat、Debian/Ubuntu 等)。" #: libraries/advisory_rules.txt:126 msgid "'source' found in version_comment" -msgstr "" +msgstr "在 version_comment 中找到 'source'" #: libraries/advisory_rules.txt:131 libraries/advisory_rules.txt:138 msgid "The MySQL manual only is accurate for official MySQL binaries." -msgstr "" +msgstr "MySQL 手冊只基於的官方的編譯版本。" #: libraries/advisory_rules.txt:132 msgid "Percona documentation is at http://www.percona.com/docs/wiki/" -msgstr "" +msgstr "Percona 的文檔在 http://www.percona.com/docs/wiki/" #: libraries/advisory_rules.txt:133 msgid "'percona' found in version_comment" -msgstr "" +msgstr "在 version_comment 中找到的 'percona'" #: libraries/advisory_rules.txt:139 msgid "Drizzle documentation is at http://docs.drizzle.org/" -msgstr "" +msgstr "Drizzle 文檔在 http://docs.drizzle.org/" #: libraries/advisory_rules.txt:140 #, php-format msgid "Version string (%s) matches Drizzle versioning scheme" -msgstr "" +msgstr "版本字串 (%s) 符合 Drizzle 版本格式" #: libraries/advisory_rules.txt:142 msgid "MySQL Architecture" @@ -12401,7 +12404,7 @@ msgstr "MySQL 架構" #: libraries/advisory_rules.txt:145 msgid "MySQL is not compiled as a 64-bit package." -msgstr "" +msgstr "MySQL 並不是編譯為 64 位元套件。" #: libraries/advisory_rules.txt:146 msgid "" @@ -12409,11 +12412,12 @@ msgid "" "so MySQL might not be able to access all of your memory. You might want to " "consider installing the 64-bit version of MySQL." msgstr "" +"您的記憶體容量是以上 3 GB (假設伺服器是在本機上),所以 MySQL 可能無法使用所有的記憶。您最好考慮安裝 64 位元版本的 MySQL。" #: libraries/advisory_rules.txt:147 #, php-format msgid "Available memory on this host: %s" -msgstr "" +msgstr "此主機上的可用記憶體: %s" #: libraries/advisory_rules.txt:153 msgid "Query cache disabled" @@ -12436,7 +12440,7 @@ msgstr "" #: libraries/advisory_rules.txt:158 msgid "query_cache_size is set to 0 or query_cache_type is set to 'OFF'" -msgstr "" +msgstr "query_cache_size 設為 0 或 query_cache_type 設為 'OFF'" #: libraries/advisory_rules.txt:160 msgid "Query caching method" @@ -12453,13 +12457,16 @@ msgid "" "refman/5.5/en/ha-memcached.html\">memcached instead of the MySQL Query " "cache, especially if you have multiple slaves." msgstr "" +"您在一台有相當大流量的資料庫上使用的 MySQL 查詢快取。除非您有多台資料庫,否則可以考慮使用 " +"memcached 來取代 MySQL 查詢快取。" #: libraries/advisory_rules.txt:165 #, php-format msgid "" "The query cache is enabled and the server receives %d queries per second. " "This rule fires if there is more than 100 queries per second." -msgstr "" +msgstr "查詢快取已啟用,伺服器每秒收到 %d 個查詢。如果每秒超過 100 個查詢,將觸發此規則。" #: libraries/advisory_rules.txt:167 #, php-format @@ -12468,11 +12475,11 @@ msgstr "查詢快取效能(%%)" #: libraries/advisory_rules.txt:170 msgid "Query cache not running efficiently, it has a low hit rate." -msgstr "" +msgstr "查詢快取命中率過低,並不是有效。" #: libraries/advisory_rules.txt:171 msgid "Consider increasing {query_cache_limit}." -msgstr "" +msgstr "請考慮增加 {query_cache_limit}。" #: libraries/advisory_rules.txt:172 #, php-format @@ -12486,20 +12493,20 @@ msgstr "查詢快取使用狀況" #: libraries/advisory_rules.txt:177 #, php-format msgid "Less than 80%% of the query cache is being utilized." -msgstr "" +msgstr "使用到的查詢快取低於 80%%。" #: libraries/advisory_rules.txt:178 msgid "" "This might be caused by {query_cache_limit} being too low. Flushing the " "query cache might help as well." -msgstr "" +msgstr "這可能是 {query_cache_limit} 太低所引起的。清空查詢快取可能可以改善狀況。" #: libraries/advisory_rules.txt:179 #, php-format msgid "" "The current ratio of free query cache memory to total query cache size is %s" "%%. It should be above 80%%" -msgstr "" +msgstr "目前閒置查詢快取記憶體為全部查詢快取的大小的 %s%%,這個值應高於 80%%" #: libraries/advisory_rules.txt:181 msgid "Query cache fragmentation" @@ -12520,6 +12527,10 @@ msgid "" "using this formula: (query_cache_size - qcache_free_memory) / " "qcache_queries_in_cache" msgstr "" +"大量碎片很可能會增加 Qcache_lowmem_prunes。也許是由於 {query_cache_size} " +"過小而導致大量查詢快取低記憶體縮減。刷新查詢快取 (可能會鎖住查詢快取很長的時間) 可以暫時解決這個問题。仔細調整 " +"{query_cache_min_res_unit} 到一個更小的值將有所幫助,例如您可以使用下列公式來計算並設置您查詢快取大小的平均值: " +"(query_cache_size - qcache_free_memory) / qcache_queries_in_cache" #: libraries/advisory_rules.txt:186 #, php-format @@ -12527,7 +12538,7 @@ msgid "" "The cache is currently fragmented by %s%% , with 100%% fragmentation meaning " "that the query cache is an alternating pattern of free and used blocks. This " "value should be below 20%%." -msgstr "" +msgstr "快取碎片已達到 %s%%,當達到 100%% 時意味著查詢快取幾乎失去作用 (釋放、使用輪替著),此值應低於 20%%。" #: libraries/advisory_rules.txt:188 msgid "Query cache low memory prunes" @@ -12544,14 +12555,14 @@ msgid "" "You might want to increase {query_cache_size}, however keep in mind that the " "overhead of maintaining the cache is likely to increase with its size, so do " "this in small increments and monitor the results." -msgstr "" +msgstr "你可能想要增加 {query_cache_size},但是請記住,維護快取的開銷通常是增加其大小,所以請以小幅的增加並監測結果如何。" #: libraries/advisory_rules.txt:193 #, php-format msgid "" "The ratio of removed queries to inserted queries is %s%%. The lower this " "value is, the better (This rules firing limit: 0.1%%)" -msgstr "" +msgstr "刪除查詢對插入查詢的比是 %s%%。這個值越低是越好 (警戒比例: 0.1%%)" #: libraries/advisory_rules.txt:195 msgid "Query cache max size" @@ -13003,7 +13014,7 @@ msgstr "有太多執行緒為緩慢的啟動。" msgid "" "This generally happens in case of general system overload as it is pretty " "simple operations. You might want to monitor your system load carefully." -msgstr "" +msgstr "這通常發生在系統超載的情況下,您需要仔細地監視您的系統負載。" #: libraries/advisory_rules.txt:381 #, php-format From 86ee12fc6194416e4539206d001bbaa83803a78a Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Fri, 21 Jun 2013 22:12:39 +0200 Subject: [PATCH 10/12] Translated using Weblate (Traditional Chinese) Currently translated at 96.3% (2572 of 2672) --- po/zh_TW.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index af2f664fa5..764134e2e2 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-21 11:21+0200\n" +"PO-Revision-Date: 2013-06-21 22:12+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -1116,7 +1116,7 @@ msgstr "%d 個資料表" #. l10n: Questions is the name of a MySQL Status variable #: js/messages.php:109 msgid "Questions" -msgstr "Questions" +msgstr "內部查詢" #: js/messages.php:110 server_status.php:166 msgid "Traffic" @@ -10785,7 +10785,7 @@ msgstr "最好的調校您系統的方法是一次只更改一個設置,觀察 #: server_status_queries.php:67 #, php-format msgid "Questions since startup: %s" -msgstr "自啟動後的問題:%s" +msgstr "自啟動以來的內部查詢:%s" #: server_status_queries.php:79 msgid "per hour:" @@ -12209,7 +12209,7 @@ msgstr "" #: libraries/advisory_rules.txt:56 msgid "Questions below 1,000" -msgstr "前 1,000 個問題" +msgstr "內部查詢低於 1,000" #: libraries/advisory_rules.txt:59 msgid "" From a903e4f12bb7de91da3fdeb054914860d0470ed3 Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Fri, 21 Jun 2013 22:12:39 +0200 Subject: [PATCH 11/12] Translated using Weblate (Traditional Chinese) Currently translated at 96.3% (2572 of 2672) --- po/zh_TW.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index 764134e2e2..b0033c2d7c 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-21 22:12+0200\n" +"PO-Revision-Date: 2013-06-21 22:15+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -12215,7 +12215,7 @@ msgstr "內部查詢低於 1,000" msgid "" "Fewer than 1,000 questions have been run against this server. The " "recommendations may not be accurate." -msgstr "" +msgstr "內部查詢數少於 1,000。建議可能不夠精確。" #: libraries/advisory_rules.txt:60 msgid "" From 3ab56807ebf1d47ff68390e9102fb7f217c1bcf4 Mon Sep 17 00:00:00 2001 From: Tony Chen Date: Fri, 21 Jun 2013 22:16:07 +0200 Subject: [PATCH 12/12] Translated using Weblate (Traditional Chinese) Currently translated at 96.3% (2572 of 2672) --- po/zh_TW.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/zh_TW.po b/po/zh_TW.po index b0033c2d7c..2e0b1fa72f 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.1-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2013-06-20 08:22+0200\n" -"PO-Revision-Date: 2013-06-21 22:15+0200\n" +"PO-Revision-Date: 2013-06-21 22:17+0200\n" "Last-Translator: Tony Chen \n" "Language-Team: Traditional Chinese " "\n" @@ -12226,7 +12226,7 @@ msgstr "" #: libraries/advisory_rules.txt:61 #, php-format msgid "Current amount of Questions: %s" -msgstr "目前問題總數: %s" +msgstr "目前內部查詢數: %s" #: libraries/advisory_rules.txt:63 msgid "Percentage of slow queries"