/*
 * Program Manager
 * Simplified and Traditional Chinese Language Support
 *
 * Copyright 2002 liuspider <liuspider@yahoo.com>
 * Copyright 2008 Hongbo Ni <hongbo.at.njstar.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 "progman.h"

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

LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED

/* Menu */

MAIN_MENU MENU
{
 POPUP "文件(&F)" {
   MENUITEM "新建(&N)...",              PM_NEW
   MENUITEM "打开(&O)\tEnter",             PM_OPEN
   MENUITEM "移动(&M)...\tF7",             PM_MOVE,      GRAYED
   MENUITEM "复制(&C)...\tF8",             PM_COPY,      GRAYED
   MENUITEM "删除(&D)\tEntf",           PM_DELETE
   MENUITEM "属性(&A)...\tAlt+Enter",       PM_ATTRIBUTES
   MENUITEM SEPARATOR
   MENUITEM "执行(&E)...",          PM_EXECUTE
   MENUITEM SEPARATOR
   MENUITEM "退出 Windows(&X)...",             PM_EXIT
 }
 POPUP "选项(&O)" {
   MENUITEM "自动排列(&A)",  PM_AUTO_ARRANGE
   MENUITEM "运行时最小化(&M)",    PM_MIN_ON_RUN
   MENUITEM "退出时保存设置(&S)", PM_SAVE_SETTINGS
 }
 POPUP "窗口(&W)" {
   MENUITEM "层叠(&O)\tShift+F5",       PM_OVERLAP
   MENUITEM "并排(&S)\tShift+F4",  PM_SIDE_BY_SIDE
   MENUITEM "排列图标(&A)",       PM_ARRANGE
 }

POPUP "帮助(&H)" {
   MENUITEM "内容(&C)",         PM_CONTENTS
   MENUITEM "搜索(&S)...",           PM_SEARCH
   MENUITEM SEPARATOR
   MENUITEM "如何使用帮助(&H)",     PM_HELPONHELP
   MENUITEM "教程(&T)",         PM_TUTORIAL
   MENUITEM SEPARATOR
   MENUITEM "关于 Wine(&A)",     PM_ABOUT_WINE
 }
}

/* Dialog `New' */

DIALOG_NEW DIALOG 0, 0, 170, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "新建"
{
RADIOBUTTON   "",                 PM_NEW_GROUP,    10, 15,  10, 15
LTEXT         "程序组(&G)",   -1,    20, 18,  80, 15
RADIOBUTTON   "",                 PM_NEW_PROGRAM,  10, 35,  10, 15
LTEXT         "程序(&P)", -1,  20, 38,  80, 15
DEFPUSHBUTTON "确定",          IDOK,           105,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",      IDCANCEL,       105, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",        PM_HELP,        105, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Move' */

DIALOG_MOVE DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "移动程序"
{
LTEXT         "移动程序:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "从此程序组中:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "移动到程序组(&T):",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "确定",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Copy' */

DIALOG_COPY DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "复制程序"
{
LTEXT         "复制程序:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "从此程序组中:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "移动到程序组(&T):",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "确定",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Group attributes' */

DIALOG_GROUP DIALOG 0, 0, 230, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "程序组属性"
{
LTEXT     "描述(&D):", PM_DESCRIPTION_TXT,   05, 18,  50, 10
EDITTEXT                            PM_DESCRIPTION,       60, 18,  90, 15, WS_TABSTOP
LTEXT     "组文件(&G):",        PM_FILE_TXT,          05, 38,  50, 10
EDITTEXT                            PM_FILE,              60, 38,  90, 15, WS_TABSTOP
DEFPUSHBUTTON "确定",            IDOK,                155,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",        IDCANCEL,            155, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",          PM_HELP,             155, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Program attributes' */

DIALOG_PROGRAM DIALOG 0, 0, 250, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "程序属性"
{
LTEXT         "描述(&D):",  PM_DESCRIPTION_TXT,   05, 10,  60, 10
EDITTEXT                                   PM_DESCRIPTION,       80, 10,  90, 15, WS_TABSTOP
LTEXT         "命令行(&C):", PM_COMMAND_LINE_TXT,  05, 25,  60, 10
EDITTEXT                                   PM_COMMAND_LINE,      80, 25,  90, 15, WS_TABSTOP
LTEXT         "工作目录(&W):",    PM_DIRECTORY_TXT,     05, 40,  60, 10
EDITTEXT                                   PM_DIRECTORY,         80, 40,  90, 15, WS_TABSTOP
LTEXT         "快捷键(&K):",      PM_HOT_KEY_TXT,       05, 55,  60, 10
EDITTEXT                                   PM_HOT_KEY,           80, 55,  90, 15, WS_TABSTOP
ICON          "",                          PM_ICON,              20, 70
CHECKBOX      "",                          PM_SYMBOL,            80, 75,  10, 10, WS_TABSTOP
LTEXT         "启动后最小化(&M)",       -1,             95, 75,  75, 10
DEFPUSHBUTTON "确定",                   IDOK,                185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",               IDCANCEL,            185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "浏览(&B)...",               PM_BROWSE,           185, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "修改图标(&I)...", PM_OTHER_SYMBOL,     185, 65,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",                 PM_HELP,             185, 85,  60, 15, WS_TABSTOP
}

/* Dialog `Symbol' */

DIALOG_SYMBOL DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "修改图标"
{
LTEXT     "文件名(&F):",    PM_ICON_FILE_TXT,    5, 15,  40, 10
EDITTEXT                         PM_ICON_FILE,       45, 15,  85, 15, WS_TABSTOP
LTEXT     "当前图标(&I):", PM_SYMBOL_LIST_TXT,  5, 30, 125, 10
COMBOBOX                         PM_SYMBOL_LIST,      5, 40, 125, 50,
   CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_OWNERDRAWFIXED | WS_TABSTOP
DEFPUSHBUTTON "确定",         IDOK,              135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",     IDCANCEL,          135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "浏览(&B)...",    PM_BROWSE,         135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",       PM_HELP,           135, 65,  60, 15, WS_TABSTOP
}

/* Dialog `Execute' */

DIALOG_EXECUTE DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "执行程序"
{
LTEXT     "命令行(&C):", -1,   05, 15, 120, 10
EDITTEXT                               PM_COMMAND, 05, 25, 120, 15, WS_TABSTOP
CHECKBOX      "",                      PM_SYMBOL,  05, 45,  10, 10, WS_TABSTOP
LTEXT         "启动后最小化(&M)",   -1,   20, 45, 120, 10
DEFPUSHBUTTON "确定",               IDOK,      135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",           IDCANCEL,  135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "浏览(&B)...",          PM_BROWSE, 135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "帮助(&H)",             PM_HELP,   135, 65,  60, 15, WS_TABSTOP
}

/* Strings */

STRINGTABLE DISCARDABLE
{
IDS_PROGRAM_MANAGER,		"程序管理器"
IDS_ERROR,			"错误"
IDS_WARNING,			"警告"
IDS_INFO,			"信息"
IDS_DELETE,			"删除"
IDS_DELETE_GROUP_s,		"是否删除程序组 `%s' ？"
IDS_DELETE_PROGRAM_s,		"是否删除程序组 `%s' ?"
IDS_NOT_IMPLEMENTED,		"此功能未实现"
IDS_FILE_READ_ERROR_s,		"读取文件 %s 时发生错误。"
IDS_FILE_WRITE_ERROR_s,		"写入文件 %s 时发生错误。"
IDS_GRPFILE_READ_ERROR_s,	"不能打开组文件 `%s' 。\n是否继续尝试？"
IDS_OUT_OF_MEMORY,		"内存溢出。"
IDS_WINHELP_ERROR,		"没有可用的帮助信息。"
IDS_UNKNOWN_FEATURE_s,		"在 %s 中发现未知特性"
IDS_FILE_NOT_OVERWRITTEN_s,	"文件 %s 已经存在。不覆盖已有文件。"
IDS_SAVE_GROUP_AS_s,		"将程序组保存为 %s 可以避免复盖已有的文件。"
IDS_NO_HOT_KEY,			"未定义"
IDS_ALL_FILES,			"所有文件 (*.*)"
IDS_PROGRAMS,			"程序"
IDS_LIBRARIES_DLL,		"动态连接库 (*.dll)"
IDS_SYMBOL_FILES,		"图标文件"
IDS_SYMBOLS_ICO,		"图标 (*.ico)"
}

LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL

/* Menu */

MAIN_MENU MENU
{
 POPUP "檔案(&F)" {
   MENUITEM "新建(&N)...",           PM_NEW
   MENUITEM "開啟(&O)\tEnter",        PM_OPEN
   MENUITEM "移動(&M)...\tF7",        PM_MOVE,      GRAYED
   MENUITEM "複製(&C)...\tF8",        PM_COPY,      GRAYED
   MENUITEM "刪除(&D)\tEntf",         PM_DELETE
   MENUITEM "屬性(&A)...\tAlt+Enter",  PM_ATTRIBUTES
   MENUITEM SEPARATOR
   MENUITEM "執行(&E)...",           PM_EXECUTE
   MENUITEM SEPARATOR
   MENUITEM "結束 Windows(&X)...",    PM_EXIT
 }
 POPUP "選項(&O)" {
   MENUITEM "自動排列(&A)",          PM_AUTO_ARRANGE
   MENUITEM "執行時最小化(&M)",       PM_MIN_ON_RUN
   MENUITEM "結束時儲存設定(&S)",     PM_SAVE_SETTINGS
 }
 POPUP "窗口(&W)" {
   MENUITEM "層疊(&O)\tShift+F5",     PM_OVERLAP
   MENUITEM "並排(&S)\tShift+F4",     PM_SIDE_BY_SIDE
   MENUITEM "排列圖標(&A)",          PM_ARRANGE
 }

POPUP "幫助(&H)" {
   MENUITEM "內容(&C)",             PM_CONTENTS
   MENUITEM "搜索(&S)...",           PM_SEARCH
   MENUITEM SEPARATOR
   MENUITEM "如何使用幫助(&H)",      PM_HELPONHELP
   MENUITEM "教程(&T)",             PM_TUTORIAL
   MENUITEM SEPARATOR
   MENUITEM "關於 Wine(&A)",      PM_ABOUT_WINE
 }
}

/* Dialog `New' */

DIALOG_NEW DIALOG 0, 0, 170, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "新建"
{
RADIOBUTTON   "",          PM_NEW_GROUP,    10, 15,  10, 15
LTEXT         "程式組(&G)", -1,    20, 18,  80, 15
RADIOBUTTON   "",          PM_NEW_PROGRAM,  10, 35,  10, 15
LTEXT         "程式(&P)",   -1,  20, 38,  80, 15
DEFPUSHBUTTON "確定",      IDOK,           105,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",      IDCANCEL,       105, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",   PM_HELP,        105, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Move' */

DIALOG_MOVE DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "移動程式"
{
LTEXT         "移動程式:",         -1,            5,  5,  90, 15
LTEXT         "",                 PM_PROGRAM,         95,  5,  90, 15
LTEXT         "從此程式組中:",      -1,            5, 13,  90, 15
LTEXT         "",                 PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "移動到程式組(&T):",  PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                          PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "確定",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",              IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",          PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Copy' */

DIALOG_COPY DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "複製程式"
{
LTEXT         "複製程式:",        -1,            5,  5,  90, 15
LTEXT         "",                PM_PROGRAM,         95,  5,  90, 15
LTEXT         "從此程式組中:",    -1,            5, 13,  90, 15
LTEXT         "",                PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "移動到程式組(&T):", PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                         PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "確定",            IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",            IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",        PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Group attributes' */

DIALOG_GROUP DIALOG 0, 0, 230, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "程式組屬性"
{
LTEXT     "描述(&D):",    PM_DESCRIPTION_TXT,   05, 18,  50, 10
EDITTEXT                 PM_DESCRIPTION,       60, 18,  90, 15, WS_TABSTOP
LTEXT     "組檔案(&G):",  PM_FILE_TXT,          05, 38,  50, 10
EDITTEXT                 PM_FILE,              60, 38,  90, 15, WS_TABSTOP
DEFPUSHBUTTON "確定",    IDOK,                155,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",    IDCANCEL,            155, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)", PM_HELP,             155, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Program attributes' */

DIALOG_PROGRAM DIALOG 0, 0, 250, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "程式屬性"
{
LTEXT         "描述(&D):",      PM_DESCRIPTION_TXT,   05, 10,  60, 10
EDITTEXT                       PM_DESCRIPTION,       80, 10,  90, 15, WS_TABSTOP
LTEXT         "指令行(&C):",    PM_COMMAND_LINE_TXT,  05, 25,  60, 10
EDITTEXT                       PM_COMMAND_LINE,      80, 25,  90, 15, WS_TABSTOP
LTEXT         "工作目錄(&W):",  PM_DIRECTORY_TXT,     05, 40,  60, 10
EDITTEXT                       PM_DIRECTORY,         80, 40,  90, 15, WS_TABSTOP
LTEXT         "快捷鍵(&K):",    PM_HOT_KEY_TXT,       05, 55,  60, 10
EDITTEXT                       PM_HOT_KEY,           80, 55,  90, 15, WS_TABSTOP
ICON          "",              PM_ICON,              20, 70
CHECKBOX      "",              PM_SYMBOL,            80, 75,  10, 10, WS_TABSTOP
LTEXT         "啟動後最小化(&M)", -1,             95, 75,  75, 10
DEFPUSHBUTTON "確定",           IDOK,                185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",           IDCANCEL,            185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "瀏覽(&B)...",     PM_BROWSE,           185, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "修改圖標(&I)...", PM_OTHER_SYMBOL,     185, 65,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",       PM_HELP,             185, 85,  60, 15, WS_TABSTOP
}

/* Dialog `Symbol' */

DIALOG_SYMBOL DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "修改圖標"
{
LTEXT     "檔案名(&F):",     PM_ICON_FILE_TXT,    5, 15,  40, 10
EDITTEXT                    PM_ICON_FILE,       45, 15,  85, 15, WS_TABSTOP
LTEXT     "當前圖標(&I):",   PM_SYMBOL_LIST_TXT,  5, 30, 125, 10
COMBOBOX                    PM_SYMBOL_LIST,      5, 40, 125, 50,
   CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_OWNERDRAWFIXED | WS_TABSTOP
DEFPUSHBUTTON "確定",       IDOK,              135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",       IDCANCEL,          135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "瀏覽(&B)...", PM_BROWSE,         135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",   PM_HELP,           135, 65,  60, 15, WS_TABSTOP
}

/* Dialog `Execute' */

DIALOG_EXECUTE DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "執行程式"
{
LTEXT         "指令行(&C):",    -1,   05, 15, 120, 10
EDITTEXT                       PM_COMMAND, 05, 25, 120, 15, WS_TABSTOP
CHECKBOX      "",              PM_SYMBOL,  05, 45,  10, 10, WS_TABSTOP
LTEXT         "啟動後最小化(&M)", -1,   20, 45, 120, 10
DEFPUSHBUTTON "確定",           IDOK,      135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "取消",           IDCANCEL,  135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "瀏覽(&B)...",     PM_BROWSE, 135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "幫助(&H)",       PM_HELP,   135, 65,  60, 15, WS_TABSTOP
}

/* Strings */

STRINGTABLE DISCARDABLE
{
IDS_PROGRAM_MANAGER,		"程式管理器"
IDS_ERROR,			"錯誤"
IDS_WARNING,			"警告"
IDS_INFO,			"資訊"
IDS_DELETE,			"刪除"
IDS_DELETE_GROUP_s,		"是否刪除程式組 `%s' ？"
IDS_DELETE_PROGRAM_s,		"是否刪除程式組 `%s' ?"
IDS_NOT_IMPLEMENTED,		"此功能未實現"
IDS_FILE_READ_ERROR_s,		"讀取檔案 %s 時發生錯誤。"
IDS_FILE_WRITE_ERROR_s,		"寫入檔案 %s 時發生錯誤。"
IDS_GRPFILE_READ_ERROR_s,	"不能開啟組檔案 `%s' 。\n是否繼續嘗試？"
IDS_OUT_OF_MEMORY,		"內存溢出。"
IDS_WINHELP_ERROR,		"沒有可用的幫助資訊。"
IDS_UNKNOWN_FEATURE_s,		"在 %s 中發現未知特性"
IDS_FILE_NOT_OVERWRITTEN_s,	"檔案 %s 已經存在。不覆蓋已有檔案。"
IDS_SAVE_GROUP_AS_s,		"將程式組儲存為 %s 可以避免復蓋已有的檔案。"
IDS_NO_HOT_KEY,			"未定義"
IDS_ALL_FILES,			"所有檔案 (*.*)"
IDS_PROGRAMS,			"程式"
IDS_LIBRARIES_DLL,		"動態連接庫 (*.dll)"
IDS_SYMBOL_FILES,		"圖標檔案"
IDS_SYMBOLS_ICO,		"圖標 (*.ico)"
}
