/*
 * WineConsole (Simplified and Traditional Chinese Language Support)
 *
 * Copyright 2002 liuspider <liuspider@yahoo.com>
 * Copyright 2008 Hongbo Ni <hongbo.at.njstar.com>
 * Copyright 2010 Cheer Xiao <xiaqqaix.at.gmail.com>
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "wineconsole_res.h"

/* Chinese text is encoded in UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED

STRINGTABLE
BEGIN
IDS_EDIT,		"编辑(&E)"
IDS_DEFAULT,		"设置默认值(&D)"
IDS_PROPERTIES,		"属性(&P)"
IDS_MARK,		"标记(&M)"
IDS_COPY,		"复制(&C)"
IDS_PASTE,		"粘贴(&P)"
IDS_SELECTALL,		"全选(&S)"
IDS_SCROLL,		"滚动(&R)"
IDS_SEARCH,		"搜索(&E)"
IDS_FNT_DISPLAY,	"每个字符都是 %ld 像素宽，%ld 像素高"
IDS_FNT_PREVIEW,	"This is a test 这是测试"
IDS_DLG_TIT_DEFAULT,    "配置 - 默认设置"
IDS_DLG_TIT_CURRENT,    "配置 - 当前设置"
IDS_DLG_TIT_ERROR,      "配置错误"
IDS_DLG_ERR_SBWINSIZE,  "屏幕缓冲区大小必须不小于窗口"

IDS_CMD_INVALID_EVENT_ID   "wineconsole: 无法解析事件 id\n"
IDS_CMD_INVALID_BACKEND    "wineconsole: 无效后端\n"
IDS_CMD_INVALID_OPTION     "wineconsole: 命令行选项错误\n"
IDS_CMD_ABOUT              "在 Wine 控制台中运行程序\n"
IDS_CMD_LAUNCH_FAILED      "wineconsole: 无法启动程序 %s。\n"\
                           "命令无效。\n"

IDS_USAGE_HEADER           "\n用法：\n  wineconsole [options] <command>\n\n选项：\n"
IDS_USAGE_BACKEND          "  --backend={user|curses}   选 user 会打开新窗口；选 curses 会试图在当前\n"\
                           "                            终端中运行 Wine 控制台\n"
IDS_USAGE_COMMAND          "  <command>                 要在控制台运行的 Wine 程序\n"
IDS_USAGE_FOOTER           "\n示例：\n  wineconsole cmd\n在 Wine 控制台中运行 Wine 命令行\n\n"

END

IDD_OPTION DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 选项 "
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "光标尺寸", -1, 10, 11, 60, 44, BS_GROUPBOX
	AUTORADIOBUTTON "小(&S)", IDC_OPT_CURSOR_SMALL, 14, 23, 44, 10, WS_TABSTOP
	AUTORADIOBUTTON "中(&M)", IDC_OPT_CURSOR_MEDIUM, 14, 33, 44, 10, WS_TABSTOP
	AUTORADIOBUTTON "大(&L)", IDC_OPT_CURSOR_LARGE, 14, 43, 44, 10, WS_TABSTOP

	GROUPBOX "控制", -1, 75, 11, 125, 44, BS_GROUPBOX
	LTEXT "弹出菜单", -1, 79, 23, 40, 10
	AUTOCHECKBOX "&Control", IDC_OPT_CONF_CTRL, 129, 23, 60, 10, WS_TABSTOP
	AUTOCHECKBOX "S&hift", IDC_OPT_CONF_SHIFT, 129, 33, 60, 10, WS_TABSTOP
	LTEXT "快速编辑", -1, 79, 43, 50, 10
	AUTOCHECKBOX "启用(&E)", IDC_OPT_QUICK_EDIT, 129, 43, 60, 10, WS_TABSTOP

	GROUPBOX "命令历史", -1, 10, 57, 190, 35, BS_GROUPBOX
	LTEXT "最大记录命令数：", -1, 14, 67, 78, 18
	EDITTEXT IDC_OPT_HIST_SIZE, 92, 69, 31, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_OPT_HIST_SIZE_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	AUTOCHECKBOX "删除连续相同的命令(&R)", IDC_OPT_HIST_NODOUBLE, 130, 67, 50, 18, WS_TABSTOP|BS_MULTILINE
}

IDD_FONT DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 字体 "
FONT 9, "MS Shell Dlg"
{
	LTEXT "字体(&F)", -1, 5, 5, 24, 8
	LISTBOX IDC_FNT_LIST_FONT, 5, 18, 90, 42, LBS_SORT|WS_VSCROLL
	LTEXT "颜色(&C)", -1, 100, 5, 50, 8
	CONTROL "", IDC_FNT_COLOR_FG, "WineConColorPreview", 0L, 100, 18, 48, 16
	CONTROL "", IDC_FNT_COLOR_BK, "WineConColorPreview", 0L, 100, 40, 48, 16
	LTEXT "大小(&S)", -1, 158, 5, 40, 8
	LISTBOX IDC_FNT_LIST_SIZE, 158, 18, 40, 60, WS_VSCROLL
	CONTROL "", IDC_FNT_PREVIEW, "WineConFontPreview", 0L, 5, 60, 109, 40
	LTEXT "", IDC_FNT_FONT_INFO, 128, 76, 80, 18
}

IDD_CONFIG DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 配置 "
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "缓冲区", -1, 10, 11, 100, 42, BS_GROUPBOX
	LTEXT "宽度(&W)：", -1, 14, 25, 54, 9
	EDITTEXT IDC_CNF_SB_WIDTH, 68, 23, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_SB_WIDTH_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	LTEXT "高度(&H)：", -1, 14, 39, 54, 9
	EDITTEXT IDC_CNF_SB_HEIGHT, 68, 37, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_SB_HEIGHT_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0

	GROUPBOX "窗口大小", -1, 10, 55, 100, 42
	LTEXT "宽度(&I)：", -1, 14, 69, 54, 9
	EDITTEXT IDC_CNF_WIN_WIDTH, 68, 67, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_WIN_WIDTH_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	LTEXT "高度(&E)：", -1, 14, 83, 54, 9
	EDITTEXT IDC_CNF_WIN_HEIGHT, 68, 81, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_WIN_HEIGHT_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0

	GROUPBOX "当程序退出后", -1, 115, 11, 80, 42, BS_GROUPBOX
	AUTOCHECKBOX "关闭控制台(&C)", IDC_CNF_CLOSE_EXIT, 119, 25, 75, 20, WS_TABSTOP

	GROUPBOX "Edition", -1, 115, 55, 80, 42 /* 待求证 */
	COMBOBOX IDC_CNF_EDITION_MODE, 119, 69, 75, 20, CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
}

IDD_SAVE_SETTINGS DIALOG 20, 20, 140, 60
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "控制台参数"
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "", -1, 10, 10, 120, 31, BS_GROUPBOX
	AUTORADIOBUTTON "保留当前配置以便以后使用", IDC_SAV_SAVE, 14, 15, 110, 10, WS_TABSTOP
	AUTORADIOBUTTON "仅修改当前会话", IDC_SAV_SESSION, 14, 27, 110, 10, WS_TABSTOP

	PUSHBUTTON "确定", IDOK, 20, 45, 35, 12
	PUSHBUTTON "取消", IDCANCEL, 65, 45, 35, 12
}

LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL

STRINGTABLE
BEGIN
IDS_EDIT,		"編輯(&E)"
IDS_DEFAULT,		"設為默認值(&D)"
IDS_PROPERTIES,		"屬性(&P)"
IDS_MARK,		"標記(&M)"
IDS_COPY,		"複製(&C)"
IDS_PASTE,		"貼上(&P)"
IDS_SELECTALL,		"全選(&S)"
IDS_SCROLL,		"滾動(&R)"
IDS_SEARCH,		"搜索(&E)"
IDS_FNT_DISPLAY,	"每個字都是 %ld 個像素寬，%ld 個像素高"
IDS_FNT_PREVIEW,	"這是一段測試語句"
IDS_DLG_TIT_DEFAULT,    "配置 - 默認設定"
IDS_DLG_TIT_CURRENT,    "配置 - 當前設定"
IDS_DLG_TIT_ERROR,      "配置錯誤"
IDS_DLG_ERR_SBWINSIZE,  "螢幕緩存大小必須大於或等於視窗緩存"
END

IDD_OPTION DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 選項 "
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "游標尺寸", -1, 10, 11, 60, 44, BS_GROUPBOX
	AUTORADIOBUTTON "小(&S)", IDC_OPT_CURSOR_SMALL, 14, 23, 44, 10, WS_TABSTOP
	AUTORADIOBUTTON "中(&M)", IDC_OPT_CURSOR_MEDIUM, 14, 33, 44, 10, WS_TABSTOP
	AUTORADIOBUTTON "大(&L)", IDC_OPT_CURSOR_LARGE, 14, 43, 44, 10, WS_TABSTOP

	GROUPBOX "控制", -1, 75, 11, 125, 44, BS_GROUPBOX
	LTEXT "彈出功能表", -1, 79, 23, 40, 10
	AUTOCHECKBOX "&Control", IDC_OPT_CONF_CTRL, 129, 23, 60, 10, WS_TABSTOP
	AUTOCHECKBOX "S&hift", IDC_OPT_CONF_SHIFT, 129, 33, 60, 10, WS_TABSTOP
	LTEXT "快速編輯", -1, 79, 43, 50, 10
	AUTOCHECKBOX "啟用(&E)", IDC_OPT_QUICK_EDIT, 129, 43, 60, 10, WS_TABSTOP

	GROUPBOX "歷史指令", -1, 10, 57, 190, 35, BS_GROUPBOX
	LTEXT "最大記錄指令數:", -1, 14, 67, 78, 18
	EDITTEXT IDC_OPT_HIST_SIZE, 92, 69, 31, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_OPT_HIST_SIZE_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	AUTOCHECKBOX "刪除連續相同的指令(&R)", IDC_OPT_HIST_NODOUBLE, 130, 67, 50, 18, WS_TABSTOP|BS_MULTILINE
}

IDD_FONT DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 字型 "
FONT 9, "MS Shell Dlg"
{
	LTEXT "字型(&F)", -1, 5, 5, 24, 8
	LISTBOX IDC_FNT_LIST_FONT, 5, 18, 90, 42, LBS_SORT|WS_VSCROLL
	LTEXT "顏色(&C)", -1, 100, 5, 50, 8
	CONTROL "", IDC_FNT_COLOR_FG, "WineConColorPreview", 0L, 100, 18, 48, 16
	CONTROL "", IDC_FNT_COLOR_BK, "WineConColorPreview", 0L, 100, 40, 48, 16
	LTEXT "大小(&S)", -1, 158, 5, 40, 8
	LISTBOX IDC_FNT_LIST_SIZE, 158, 18, 40, 60, WS_VSCROLL
	CONTROL "", IDC_FNT_PREVIEW, "WineConFontPreview", 0L, 5, 60, 109, 40
	LTEXT "", IDC_FNT_FONT_INFO, 128, 76, 80, 18
}

IDD_CONFIG DIALOG 36, 24, 140, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION " 配置 "
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "緩衝區域", -1, 10, 11, 100, 42, BS_GROUPBOX
	LTEXT "寬度(&W):", -1, 14, 25, 54, 9
	EDITTEXT IDC_CNF_SB_WIDTH, 68, 23, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_SB_WIDTH_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	LTEXT "高度(&H):", -1, 14, 39, 54, 9
	EDITTEXT IDC_CNF_SB_HEIGHT, 68, 37, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_SB_HEIGHT_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0

	GROUPBOX "窗口大小", -1, 10, 55, 100, 42
	LTEXT "寬度(&I):", -1, 14, 69, 54, 9
	EDITTEXT IDC_CNF_WIN_WIDTH, 68, 67, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_WIN_WIDTH_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0
	LTEXT "高度(&E):", -1, 14, 83, 54, 9
	EDITTEXT IDC_CNF_WIN_HEIGHT, 68, 81, 36, 12, WS_TABSTOP|WS_BORDER|ES_NUMBER
	CONTROL "", IDC_CNF_WIN_HEIGHT_UD, "msctls_updown32", UDS_SETBUDDYINT|UDS_ALIGNRIGHT|UDS_AUTOBUDDY|UDS_ARROWKEYS|UDS_NOTHOUSANDS, 0, 0, 0, 0

	GROUPBOX "當程式結束後", -1, 115, 11, 80, 42, BS_GROUPBOX
	AUTOCHECKBOX "關閉虛擬終端(&C)", IDC_CNF_CLOSE_EXIT, 119, 25, 75, 20, WS_TABSTOP

	GROUPBOX "Edition", -1, 115, 55, 80, 42
	COMBOBOX IDC_CNF_EDITION_MODE, 119, 69, 75, 20, CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
}

IDD_SAVE_SETTINGS DIALOG 20, 20, 140, 60
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "虛擬終端執行參數"
FONT 9, "MS Shell Dlg"
{
	GROUPBOX "", -1, 10, 10, 120, 31, BS_GROUPBOX
	AUTORADIOBUTTON "保留當前配置以便下次使用", IDC_SAV_SAVE, 14, 15, 110, 10, WS_TABSTOP
	AUTORADIOBUTTON "僅修改當前會話", IDC_SAV_SESSION, 14, 27, 110, 10, WS_TABSTOP

	PUSHBUTTON "確定", IDOK, 20, 45, 35, 12
	PUSHBUTTON "取消", IDCANCEL, 65, 45, 35, 12
}
