/*
 * The new sysinstall program.
 *
 * This is probably the last program in the `sysinstall' line - the next
 * generation being essentially a complete rewrite.
 *
 * $FreeBSD: src/release/sysinstall/menus.c,v 1.180.2.43 1999/12/22 01:49:08 jkh Exp $
 *
 * Copyright (c) 1995
 *	Jordan Hubbard.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer,
 *    verbatim and that no modifications are made prior to this
 *    point in the file.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL JORDAN HUBBARD OR HIS PETS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */

/* All the system menus go here.
 *
 * Hardcoded things like version number strings will disappear from
 * these menus just as soon as I add the code for doing inline variable
 * expansion.
 */
#ifdef KANJI_ONLY
#define MenuIndex_j		MenuIndex
#define MenuInitial_j		MenuInitial
#define MenuDocumentation_j	MenuDocumentation
#define MenuMouseType_j		MenuMouseType
#define MenuMousePort_j		MenuMousePort
#define MenuMouse_j		MenuMouse
#define	MenuXF86Config_j	MenuXF86Config
#define MenuXDesktops_j		MenuXDesktops
#define MenuMediaCDROM_j	MenuMediaCDROM
#define MenuMediaFloppy_j	MenuMediaFloppy
#define MenuMediaDOS_j		MenuMediaDOS
#define MenuMediaFTP_j		MenuMediaFTP
#define MenuMediaTape_j		MenuMediaTape
#define MenuNetworkDevice_j	MenuNetworkDevice
#define MenuMedia_j		MenuMedia
#define MenuDistributions_j	MenuDistributions
#define MenuSubDistributions_j	MenuSubDistributions
#define MenuDESDistributions_j	MenuDESDistributions
#define MenuSrcDistributions_j	MenuSrcDistributions
#define Menu98SrcDistributions_j	Menu98SrcDistributions
#define MenuXF86Select_j	MenuXF86Select
#define MenuXF86SelectCore_j	MenuXF86SelectCore
#define MenuXF86SelectFonts_j	MenuXF86SelectFonts
#define MenuXF86SelectServer_j	MenuXF86SelectServer
#define	MenuXF86SelectPC98Server_j	MenuXF86SelectPC98Server
#define MenuDiskDevices_j	MenuDiskDevices
#define MenuHTMLDoc_j		MenuHTMLDoc
#define MenuInstallCustom_j	MenuInstallCustom
#ifndef PC98
#define MenuMBRType_j		MenuMBRType
#endif
#define MenuConfigure_j		MenuConfigure
#define MenuStartup_j		MenuStartup
#define MenuNetworking_j	MenuNetworking
#define MenuNTP_j		MenuNTP
#define MenuSyscons_j		MenuSyscons
#ifndef PC98
#define MenuSysconsKeymap_j	MenuSysconsKeymap
#define MenuSysconsKeyrate_j	MenuSysconsKeyrate
#endif
#define MenuSysconsSaver_j	MenuSysconsSaver
#define MenuSysconsScrnmap_j	/* */
#define MenuSysconsFont_j	/* */
#define MenuUsermgmt_j		MenuUsermgmt
#define MenuInstKbd_j		/* */
#define MenuFixit_j		MenuFixit
#ifdef PCCARD
#define MenuPCICMem_j		MenuPCICMem
#ifdef USERCONFIG_IGNIRQ
#define MenuCardIgnoreIRQ_j	MenuCardIgnoreIRQ
#else /*USERCONFIG_IGNIRQ*/
#define MenuCardIRQ_j		MenuCardIRQ
#endif /*USERCONFIG_IGNIRQ*/
#define MenuReplaceEtc_j	MenuReplaceEtc
#define MenuBackupKernel_j	MenuBackupKernel
#define MenuPatchKernel_j	MenuPatchKernel
#define MenuBinInstall_j	MenuBinInstall
#define MenuPCCardSysconfig_j	MenuPCCardSysconfig
#endif /* PCCARD */
#endif	/* KANJI_ONLY */

/*  "....+....1....+....2....+....3....+....4....+....5....+....6....+....7\n" */

DMenu MenuIndex_j = {
    DMENU_NORMAL_TYPE,
    /* "機能の索引", */
    "個別コマンド一覧",

#ifdef PC98
"このメニューはこのプログラム (sysinstall) のトップレベルの機能を, アルファ
ベット順で索引にしたものです. [RETURN] でオプションを起動できます. この索
引ページから抜けたい場合は, [TAB-RETURN] でキャンセルを選択することで終了
することができます.",

"ROLL UP と ROLL DOWN を使えば素早く移動することができます!",
#else
"このメニューはこのプログラム (sysinstall) のトップレベルの機能を, アルファ
ベット順で索引にしたものです. [ENTER] でオプションを起動できます. この索
引ページから抜けたい場合は, [TAB-ENTER] でキャンセルを選択することで終了
することができます.",

"PageUp と PageDown を使えば素早く移動することができます!",
#endif

    NULL,
    { 
      { "A 匿名 FTP",		"Anonymous FTP ログインを設定する",	dmenuVarCheck, configAnonFTP, NULL, "anon_ftp" },
      { "C コミット",		"ペンディングしている操作を実行する (危険!)", NULL, installCustomCommit },
      { "C コンソールの設定",	"システムコンソールの動作をカスタマイズする", NULL, dmenuSubmenu, NULL, &MenuSyscons },
      { "C 設定",		"システム設定メニュー",		NULL, dmenuSubmenu, NULL, &MenuConfigure },
#ifdef PCCARD 
      { "C PC-card",		"PC-card kernel のコンパイルとインストール", NULL, configPCcard },
#endif	/* PCCARD */
      { "D デバイス,マウス",	"マウス設定メニュー",		NULL, dmenuSubmenu, NULL, &MenuMouse },
      { "D デフォルトのロード",	"デフォルトの設定をロード",	NULL, dispatch_load_floppy },
      { "D ディスクラベル",	"ディスクのラベル・エディタ",	NULL, diskLabelEditor },
      { "D 配布ファイル,全て",	"配布ファイルのルート",		NULL, dmenuSubmenu, NULL, &MenuDistributions },
      { "D 配布ファイル,基本",	"FreeBSD 基本配布メニュー",	NULL, dmenuSubmenu, NULL, &MenuSubDistributions },
      { "D 配布ファイル,DES",	"DES 配布メニュー",		NULL, dmenuSubmenu, NULL, &MenuDESDistributions },
      { "D 配布ファイル,開発者", "開発者用配布ファイルを選択", checkDistDeveloper, distSetDeveloper },
      { "D 配布ファイル,src",	"Src 配布ファイルのメニュー",	NULL, dmenuSubmenu, NULL, &MenuSrcDistributions },
#if defined(PC98) && defined(PC98SRC)
      { "D 配布ファイル,98src",	"98src 配布ファイルのメニュー",	NULL, dmenuSubmenu, NULL, &Menu98SrcDistributions },
#endif /* defined(PC98) && defined(PC98SRC) */
      { "D 配布ファイル,X 開発者", "X 開発者用配布ファイルを選択",	checkDistXDeveloper, distSetXDeveloper },
      { "D 配布ファイル,カーネル…", "カーネル開発者用配布ファイルを選択", checkDistKernDeveloper, distSetKernDeveloper },
      { "D 配布ファイル,ユーザ", "平均的ユーザ用配布ファイルを選択", checkDistUser, distSetUser },
      { "D 配布ファイル,X ユーザ", "X ユーザ用配布ファイル",	checkDistXUser, distSetXUser },
      { "D 配布ファイル, 追加", "追加の配布物をインストール",	NULL, distExtractAll },
      { "D 配布ファイル,XFree86", "XFree86 配布メニュー",	NULL, distSetXF86 },
      { "D 文書",		"インストールの解説, README, その他", NULL, dmenuSubmenu, NULL, &MenuDocumentation },
      { "D 文書,README",	"README ファイル",		NULL, dmenuDisplayFile, NULL, "readme" },
#ifdef PC98
      { "D 文書,インストール 98", "FreeBSD(98) インストールガイド", NULL, dmenuDisplayFile, NULL, "install.98" },
#else
      { "D 文書,ハードウェア",	"ハードウェアガイド",		NULL, dmenuDisplayFile, NULL, "hardware" },	/* Upper ? */
      { "D 文書,インストール",	"インストールガイド",	NULL, dmenuDisplayFile, NULL, "install" },	/* Upper ? */
#endif
      { "D 文書,著作権",	"著作権に関する宣言",	NULL, dmenuDisplayFile, NULL, "COPYRIGHT" },
      { "D 文書,リリース",	"リリースノート",	NULL, dmenuDisplayFile, NULL, "relnotes" },	/* Upper ? */
#ifdef PC98
      { "D 文書,著作権 98",	"FreeBSD(98) 著作権に関する宣言",	NULL, dmenuDisplayFile, NULL, "Copyright.98" },
      { "D 文書,リリース 98",	"FreeBSD(98) リリースノート",		NULL, dmenuDisplayFile, NULL, "Relnote.98" },
#endif
      { "D 文書,HTML",		"HTML 文書メニュー",	NULL, docBrowser },
#ifdef PCCARD
      { "D 文書,PC-card",	"PC-card (PAO package) インストールガイド", NULL, dmenuDisplayFile, NULL, "pccard" },	/* Upper ? */
#endif	/* PCCARD */
      { "D 変数ダンプ",		"(デバッグ) ナイブ変数をダンプする.", NULL, dump_variables },
      { "E 緊急用シェル",	"緊急用のホログラフィック・シェルを起動.",	NULL, installFixitHoloShell },
#ifdef __i386__
      { "F Fdisk",		"ディスクのパーティション・エディタ",	NULL, diskPartitionEditor },
#endif
      { "F Fixit",		"CDROM またはフロッピーからの修復モード.",	NULL, dmenuSubmenu, NULL, &MenuFixit },
      { "F FTP サイト",		"FTP ミラーサイトのリスト",		NULL, dmenuSubmenu, NULL, &MenuMediaFTP },
      { "G ゲートウェイ",	"インターフェース間のパケットの転送を許可", dmenuVarCheck, dmenuToggleVariable, NULL, "gateway=YES" },
      { "H 文書,HTML",		"HTML 文書メニュー",	NULL, docBrowser },
      { "I インストール,初心者",	"初心者用システムインストール",	NULL, installNovice },
      { "I インストール,高速",	"高速インストール",	NULL, installExpress },
      { "I インストール,カスタム",	"カスタムインストールメニュー",	NULL, dmenuSubmenu, NULL, &MenuInstallCustom },
      { "L ラベル",		"ディスクラベルエディタ",	NULL, diskLabelEditor },
      { "M メディア",		"トップレベルメディア選択メニュー",	NULL, dmenuSubmenu, NULL, &MenuMedia },
      { "M メディア,テープ",	"テープインストールメディアを選択",	NULL, mediaSetTape },
#ifndef NONFS
      { "M メディア,NFS",	"NFS インストールメディアを選択",	NULL, mediaSetNFS },
#endif	/* NONFS */
      { "M メディア,フロッピー", "フロッピーインストールメディアを選択",	NULL, mediaSetFloppy },
      { "M メディア,CDROM",	"CDROM インストールメディアを選択",	NULL, mediaSetCDROM },
      { "M メディア,DOS",	"DOS インストールメディアを選択",	NULL, mediaSetDOS },
      { "M メディア,UFS",	"UFS インストールメディアを選択",	NULL, mediaSetUFS },
#ifdef UFS_MO
      { "M メディア,UFS MO PDS", "UFS MO 又は PDS インストールメディアを選択",	NULL, mediaSetUFSMO },
#endif
      { "M メディア,FTP",	"FTP インストールメディアを選択",	NULL, mediaSetFTP },
      { "M メディア,FTP Passive", "Passive FTP インストールメディアを選択", NULL, mediaSetFTPPassive },
      { "N ネットワークインタ…", "ネットワークインターフェースの設定",	NULL, tcpMenuSelect },
      { "N ネットワークサービス", "ネットワークサービスメニュー",	NULL, dmenuSubmenu, NULL, &MenuNetworking },
      { "N NFS,クライアント",	"NFS クライアントフラグ",		dmenuVarCheck, dmenuToggleVariable, NULL, "nfs_client=YES" },
      { "N NFS,サーバ",		"NFS サーバフラグ",			dmenuVarCheck, configNFSServer, NULL, "nfs_server_enable=YES" },
      { "N NTP メニュー",	"NTP 設定メニュー",			NULL, dmenuSubmenu, NULL, &MenuNTP },
      { "O オプション",		"オプションエディタ",			NULL, optionsEditor },
      { "P パッケージ",		"Packages コレクション",		NULL, configPackages },
      { "P パーティション",	"ディスクスライス(PC-形式パーティション)エディタ",	NULL, diskPartitionEditor },
      /*			"ディスクスライス(PC-形式パーティション)エディ|X" <- ここまでしか表示されない */
      { "P PCNFSD",		"PC-NFS 用認証サーバを起動",		dmenuVarCheck, configPCNFSD, NULL, "pcnfsd" },
      { "R Root パスワード",	"システム管理者用パスワードの設定",	NULL, dmenuSystemCommand, NULL, "passwd root" },
      /* AT 日本語版のメッセージと異なる */
      /* { "R Router",		"ルーティングデーモンの選択 (デフォルト: routed)", NULL, configRouter, NULL, "router" }, */
      { "R Router",		"ルーティングデーモンの選択 (省略時値: routed)", NULL, configRouter, NULL, "router" },
      { "S Syscons",		"システムコンソール設定メニュー",	NULL, dmenuSubmenu, NULL, &MenuSyscons },
#ifndef PC98
      { "S Syscons,フォント",	"コンソールスクリーンフォント",	  NULL, dmenuSubmenu, NULL, &MenuSysconsFont },
      { "S Syscons,キーマップ",	"コンソールキーマップ設定メニュー",	NULL, dmenuSubmenu, NULL, &MenuSysconsKeymap },
      { "S Syscons,キーレート",	"コンソールキーレート設定メニュー",	NULL, dmenuSubmenu, NULL, &MenuSysconsKeyrate },
#endif
      { "S Syscons,セーバ",	"コンソールスクリーンセーバ設定メニュー", NULL, dmenuSubmenu, NULL, &MenuSysconsSaver },
#ifndef	PC98
      { "S Syscons, スクリーンマップ",	"コンソールスクリーンマップ設定メニュー",	NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
#endif
      { "T タイムゾーン",	"システムのタイムゾーンの設定",		NULL, dmenuSystemCommand, NULL, "tzsetup" },
      { "U アップグレード",	"既存システムのアップグレード",		NULL, installUpgrade },
      { "U 使用法",		"クイックスタート-メニューシステムの使用法",	NULL, dmenuDisplayFile, NULL, "usage" },
      { "U ユーザ管理",		"ユーザとグループ情報の追加",		NULL, dmenuSubmenu, NULL, &MenuUsermgmt },
      { "X XFree86,フォント",	"XFree86 フォント選択メニュー",		NULL, dmenuSubmenu, NULL, &MenuXF86SelectFonts },
      { "X XFree86,サーバ",	"XFree86 サーバ選択メニュー",		NULL, dmenuSubmenu, NULL, &MenuXF86SelectServer },
#ifdef __i386__
      { "X XFree86,PC98サーバ",	"XFree86 PC98用サーバ選択メニュー",	NULL, dmenuSubmenu, NULL, &MenuXF86SelectPC98Server },
#endif
      { NULL } },
};


/* The initial installation menu */
DMenu MenuInitial_j = {
    DMENU_NORMAL_TYPE,
    "/stand/sysinstall Main Menu",			/* title */
#ifdef PC98
"FreeBSD のインストレーションと設定ツールへようこそ. 以下のオプションの
どれかを, 矢印キーかオプション名の最初の 1 文字を打つことで目的のオプシ
ョンを選択して下さい. [RETURN] を押すことでそのオプションを起動すること
ができます. [TAB-RETURN] でメニューを抜けることができます.", /* prompt */
#else
"FreeBSD のインストレーションと設定ツールへようこそ. 以下のオプションの
オプションのどれかを, 矢印キーかオプション名の最初の 1 文字を打つことで
目的のオプションを選択して下さい. [ENTER] を押すことでそのオプションを起
動することができます. [TAB-ENTER] でメニューを抜けることができます.", /* prompt */
#endif
    /*"F1: インストールガイド",			/ * help line */
    "F1 を押せばインストールガイドが読めます",		/* help line */
#ifdef PC98
    "install.98",					/* help file */
#else
    "install",						/* help file */
#endif
{{ "選択" },
  { "X 導入終了",	NULL, NULL, dmenuExit },
  { " U 使用法",	"クイックスタート - このメニューシステムの使用法",	NULL, dmenuDisplayFile, NULL, "usage" },
  { "N 初心者",	"初心者用インストールを開始する (ビギナー用)",		NULL, installNovice },
  { "E 高速",	"クイックインストールを開始する (せっかちな人用)",	NULL, installExpress },
  { " C カスタム", "カスタムインストールを開始する (熟練者用)",		NULL, dmenuSubmenu, NULL, &MenuInstallCustom },
  { "C 設定",	"インストール後の FreeBSD の設定を行なう",		NULL, dmenuSubmenu, NULL, &MenuConfigure },
  { "D 文書",	"インストールに関する説明, README, その他",		NULL, dmenuSubmenu, NULL, &MenuDocumentation },
#ifndef	PC98
  { "K キーマップ", "キーボードタイプの選択",				NULL, dmenuSubmenu, NULL, &MenuSysconsKeymap },
#endif
  { "O オプション", "各種インストールオプションを確認・設定する",	NULL, optionsEditor },
  { "F Fixit",	"CDROM/フロッピーを使用した修復モードに移る",		NULL, dmenuSubmenu, NULL, &MenuFixit },
  { "U アップグレード",	"既存のシステムをアップグレードする",		NULL, installUpgrade },
  { "L 設定のロード", "デフォルトの設定をロード",			NULL, dispatch_load_floppy },
  /* { "I 索引", "各機能に関する用語集",				NULL, dmenuSubmenu, NULL, &MenuIndex }, */
  { "I 索引",	"個別コマンド一覧",					NULL, dmenuSubmenu, NULL, &MenuIndex },
  { NULL } },
};

/* The main documentation menu */
DMenu MenuDocumentation_j = {
    DMENU_NORMAL_TYPE,
#ifdef PC98
    "FreeBSD(98) ドキュメンテーションメニュー",
#else
    "FreeBSD ドキュメンテーションメニュー",
#endif
#ifdef PC98
"はじめてのユーザは, FreeBSD のインストール法を一歩一歩解説したチュートリ
アルであるインストールドキュメントも読む必要があるでしょう. 全般的な情報
に関しては, README ファイルをお読み下さい.",
#else
"もしあなたがハードウェアの構成について, 全く不慣れな場合や, FreeBSD のた
めにシステムを構築しようとしている場合は, ハードウェアガイドをお読み下さ
い! はじめてのユーザは, FreeBSD のインストール法を一歩一歩解説したチュー
トリアルであるインストールドキュメントも読む必要があるでしょう. 全般的な
情報に関しては, README ファイルをお読み下さい.",
#endif
    /* "F1: ヘルプ", */
    "F1 を押せばヘルプを表示します.",
    "usage",
{ { "X 終了",	"このメニューを終了する (以前の場所に戻る)",		NULL, dmenuExit },
  { "1 README",	"全般的な FreeBSD に関する記述. 読んで下さい!",	NULL, dmenuDisplayFile, NULL, "readme" },	/* Upper ? */
#ifdef PC98
  { "2 インストール 98","FreeBSD(98) のインストールを一歩一歩解説するガイド",	NULL, dmenuDisplayFile,	NULL, "install.98" },
  { "3 著作権","FreeBSD 著作権宣言",			NULL, dmenuDisplayFile,	NULL, "COPYRIGHT" },
  { "4 リリース","FreeBSD のこのバージョンに関するリリースノート",	NULL, dmenuDisplayFile, NULL, "relnotes" },
  { "5 著作権 98","FreeBSD(98) 著作権宣言",			NULL, dmenuDisplayFile,	NULL, "Copyright.98" },
  { "6 リリース 98","FreeBSD(98) のこのバージョンに関するリリースノート",	NULL, dmenuDisplayFile, NULL, "Relnote.98" },
  { "7 ショートカット","sysinstall のショートカットについて",	NULL, dmenuDisplayFile, NULL, "shortcuts" },
  { "8 HTML 文書","HTML ドキュメンテーションを読む (インストール後)",	NULL, docBrowser },
#if defined(PCCARD)
  { "P PC-card", "PC カード (PAO パッケージ) インストールガイド", NULL, dmenuDisplayFile, NULL, "pccard" },
#endif  /* PCCARD */
#else
  { "2 ハードウェア","PC ハードウェアのための FreeBSD サバイバルガイド",		NULL, dmenuDisplayFile,	NULL, "hardware" },	/* Upper ? */
  { "3 インストール","FreeBSD のインストールを一歩一歩解説するガイド",		NULL, dmenuDisplayFile,	NULL, "install" },	/* Upper ? */
  { "4 著作権","FreeBSD 著作権宣言",			NULL, dmenuDisplayFile,	NULL, "COPYRIGHT" },
  { "5 リリース","FreeBSD のこのバージョンに関するリリースノート",	NULL, dmenuDisplayFile, NULL, "relnotes" },	/* Upper ? */
  { "6 ショートカット","sysinstall のショートカットについて",	NULL, dmenuDisplayFile, NULL, "shortcuts" },
  { "7 HTML 文書","HTML ドキュメンテーションを読む (インストール後)",	NULL, docBrowser },
  { "8 I18N","インストーラの国際化 (日本語化など) の解説",	NULL, dmenuDisplayFile, NULL, "i18n" },
#if defined(PCCARD)
  { "P PC-card", "PC カード (PAO パッケージ) インストールガイド", NULL, dmenuDisplayFile, NULL, "pccard" },
#endif  /* PCCARD */
#endif
  { NULL } },
};

DMenu MenuMouseType_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "マウスのプロトコルタイプを選択",
    "不確かなら \"A 自動\" を選んでください. 常にバスや PS/2 スタイルマウスと\n"
    "して動きます. PnP 標準をサポートしていないマウスならシリアルマウスとし\n"
    "て動かないでしょう. しかし, 心配することはありません.  多くの２ボタン\n"
    "シリアルマウスは \"Microsoft\", \"MouseMan\" コンパチブルです. ３ボタン\n"
    "シリアルマウスは \"MouseSystems\", \"MouseMan\" コンパチブルでしょう.\n"
    "もしマウスにホイールがあれば, \"IntelliMouse\" コンパチブルでしょう.",
    NULL,
    NULL,
    { { "1 自動",		"バスマウス, PS/2 スタイルマウス又は PnP シリアルマウス",	
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=auto" },
      { "2 GlidePoint",	"アルプス GlidePoint パッド (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=glidepoint" },
      { "3 Hitachi",	"日立タブレット (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=mmhittab" },
      { "4 IntelliMouse",	"Microsoft IntelliMouse (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=intellimouse" },
      { "5 Logitech",	"Logitech プロトコル (旧モデル) (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=logitech" },
      { "6 Microsoft",	"Microsoft プロトコル (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=microsoft" },
      { "7 MM Series",	"MM シリーズプロトコル (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=mmseries" },
      { "8 MouseMan",	"Logitech MouseMan/TrackMan models (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=mouseman" },
      { "9 MouseSystems",	"MouseSystems プロトコル (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=mousesystems" },
      { "A ThinkingMouse","Kensington ThinkingMouse (シリアル)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_TYPE "=thinkingmouse" },
      { NULL } },
};

DMenu MenuMousePort_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "次のメニューからマウスポートを選択",
    "ラップトップ/ノートブックコンピュータの組み込みポインティングデバイスは\n"
    "普通 PS/2 スタイルです.",
    NULL,
    NULL,
    { { "1 COM1",	"COM1 上のシリアルマウス (/dev/cuaa0)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/cuaa0" },
      { "2 COM2",	"COM2 上のシリアルマウス (/dev/cuaa1)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/cuaa1" },
      { "3 COM3",	"COM3 上のシリアルマウス (/dev/cuaa2)",
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/cuaa2" },
#ifdef PC98
      /* { "BusMouse", "PC98 標準マウス, Logitech, MS または ATI バスマウス (/dev/mse0)", */
      { "4 BusMouse", "PC98 標準マウス, その他のバスマウス (/dev/mse0)", 
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/mse0" },
#else
      { "4 COM4",	"COM4 上のシリアルマウス (/dev/cuaa3)", 
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/cuaa3" },
      { "5 BusMouse", "Logitech, ATI or MS bus mouse (/dev/mse0)", 
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/mse0" },
      { "6 PS/2",	"PS/2 style mouse (/dev/psm0)", 
	dmenuVarCheck, dmenuSetVariable, NULL, VAR_MOUSED_PORT "=/dev/psm0" },
#endif
      { NULL } },
};

DMenu MenuMouse_j = {
    DMENU_NORMAL_TYPE,
    "マウスの設定を行ってください",
    "マウスデーモンが走っていればテキストコンソールでテキストをカット&ペー\n"
    "ストできます. マウスのポート, プロトコルタイプとマウスデーモンを動かす\n"
    "かどうかを指定してください. もしこのような機能が不要なら 4 番目のマウ\n"
    "スデーモンを止めるを選択してください.\n"
    "一度, マウスデーモンを動かしたなら, マウス装置として \"/dev/sysmouse\"\n"
    "と \"SysMouse\" または, Ｘ設定ユーティリティを走らせる場合(設定メニュ\n"
    "ー参照)のマウスプロトコルとして \"MouseSystems\" を記述できます.\n",
    NULL,
    NULL,
    { { "X 終了",	"このメニューから抜ける (前の場所に戻る)", NULL, dmenuExit },
      { "1 Type",	"マウスプロトコルタイプを選択", NULL, dmenuSubmenu, NULL, &MenuMouseType },
      { "2 Port",	"マウスポートを選択", NULL, dmenuSubmenu, NULL, &MenuMousePort },
      { "3 Enable",	"マウスデーモンをテストランする", NULL, mousedTest, NULL, NULL },
      { "4 Disable",	"マウスデーモンを止める", NULL, mousedDisable, NULL, NULL },
      { NULL } },
};

DMenu MenuXF86Config_j = {
#ifdef PC98
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    /* "XFree86 のコンフィグレーション・ツールを選んで下さい.", */
    "XFree86 の構成ツールを選んで下さい.",
"XF86Setup, xf86config は AT 互換機用のセットアップ・ツールです. 
XF98Setup でうまく行かない場合は, /usr/X11R6/lib/X11/XF86Config.98
を XF86Config にコピーして, 各自の環境に合わせて編集して下さい.",
#if 0
"AT 互換機用のセットアップ・ツールです. 残念ながら現在 PC98 では使用で
きません. PC98 用には XF98Setup, xf98config を作成中ですが, まだ不完
全です. /usr/X11R6/lib/X11/XF86Config.98 を XF86Config にコピーして,
各自の環境に合わせて編集して下さい.",
#endif
    NULL,
    NULL,
    { { "X 終了",	"このメニューから抜ける (前の場所に戻る)", NULL, dmenuExit },
      /* 長すぎて画面に入りきらない */
      /* { "XF86Setup",	"フルグラフィックの XFree86 コンフィグレーションツール.", */
      { "XF86Setup",	"フルグラフィックの XFree86 構成ツール.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=XF86Setup" },
      /* { "xf86config",	"シェルスクリプトベースの XFree86 コンフィグレーションツール.", */
      { "xf86config",	"シェルスクリプトベースの XFree86 構成ツール.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=xf86config" },
      { "XF98Setup",	"(PC98) フルグラフィックの XFree86 構成ツール.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=XF98Setup" },
      { "XDesktop",	"セットアップ済の X でデスクトップ構成を行う.",
	NULL, dmenuSubmenu, NULL, &MenuXDesktops },
      { NULL } },
#else
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "使いたい XFree86 のコンフィグレーション・ツールを選んで下さい.",
#ifdef __alpha__
    "Due to problems with the VGA16 server right now, only the\n"
    "text-mode configuration tool (xf86config) is currently supported.",
#else
    "最初のツール, XF86Setup, はフル・グラフィックで動かすには\n"
    " VGA16 サーバが必要です (デフォルトで選択されるべきものですが,\n"
    "選択から外すと この綺麗なセットアップ・ツールを使えなくなります).\n"
    "2番目のツール, xf86config, は より単純なシェルスクリプトベースの\n"
    "ツールで新規のユーザには あまり優しくありません, しかし綺麗な方\n"
    "が動作しないような状況でも動作する可能性があります.",
#endif
    NULL,
    NULL,
    { { "X 終了",	"このメニューから抜ける (前の場所に戻る)", NULL, dmenuExit },
#ifdef __alpha__
      { "xf86config",	"Shell-script based XFree86 configuration tool.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=xf86config" },
#else
      /* { "XF86Setup",	"フル・グラフィックの XFree86 コンフィグレーション・ツールを使う.", */
      { "XF86Setup",	"フル・グラフィックの XFree86 構成ツールを使う.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=XF86Setup" },
      /* { "xf86config",	"シェルスクリプト・ベースの XFree86 コンフィグレーション・ツールを使う.", */
      { "xf86config",	"シェルスクリプト・ベースの XFree86 構成ツールを使う.",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=xf86config" },
      { "XF98Setup",	"Fully graphical XFree86 configuration tool (PC98).",
	NULL, dmenuSetVariable, NULL, VAR_XF86_CONFIG "=XF98Setup" },
#endif
      { "XDesktop",	"X already set up, just do desktop configuration.",
	NULL, dmenuSubmenu, NULL, &MenuXDesktops },
      { NULL } },
#endif
};

DMenu MenuXDesktops_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "使用するデフォルトの X デスクトップを選んでください.",
    "省略時解釈として, XFree86 は特に指定がなければ twm(1)ウィンド\n"
    "マネジャーを基本にしたバニラデスクトップになります. それは X\n"
    "の標準部品だけなので特別にロードするものを必要としない利点があ\n"
    "ります. しかしながら, もしインストールしている媒体の適当なフル\n"
    "パッケージ集にアクセスできるなら次のデスクトップを代わりに選ぶ\n"
    "ことができます.",
    NULL,
    NULL,
    { { "X 終了",	"このメニューから抜ける (前の場所に戻る)", NULL, dmenuExit },
      { "1 KDE",		"K デスクトップ環境.",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=kde" },
      { "2 GNOME + Afterstep",	"GNOME + Afterstep ウィンドマネジャー.",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=gnome" },
      { "3 GNOME + Enlightenment","GNOME + E ウィンドマネジャー",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=enlightenment" },
      { "4 Afterstep",	"アフターステップウィンドマネジャー",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=afterstep" },
      { "5 Windowmaker",	"ウィンドメイカーウィンドマネジャー",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=windowmaker" },
      { "6 fvwm2",	"fvwm2 ウィンドマネジャー",
	NULL, dmenuSetVariable, NULL, VAR_DESKSTYLE "=fvwm" },
      { NULL } },
};

DMenu MenuMediaCDROM_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "CDROM のタイプを選択して下さい",
"FreeBSD は正しい FreeBSD の配布ファイルを含んだ CDROM からは, 直接
インストールすることができます. もしあなたが複数の CDROM ドライブ
を持っているためにこのメニューが表示されているのならば, 以下の 
CDROM ドライブのうち, どれかをインストール用ドライブとして選択して
下さい.",
    /* "F1: インストールガイドを読む", */
    "F1 を押せばインストールガイドが読めます",
#ifdef PC98
    "install.98",
#else
    "install",
#endif
    { { NULL } },
};

DMenu MenuMediaFloppy_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "フロッピードライブを選択して下さい",
    "複数のドライブが存在しています. インストールに使用するドライブを指\n"
    "定して下さい.",
    NULL,
    NULL,
    { { NULL } },
};

DMenu MenuMediaDOS_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "DOS パーティションを選択して下さい",
"FreeBSD は DOS パーティションから直接インストールできます. もちろ
ん適切なファイル群を, インストール前に DOS パーティションにコピー
しておく必要があります. もしこの準備ができていなければ, DOS でリブー
トしてインストールしたい配布ファイルを DOS パーティションの
\"FREEBSD\" サブディレクトリにコピーして下さい. これがきちんと済んで
いれば, FreeBSD 配布ファイル群がおいてある DOS パーティションを以
下から選択して下さい.",
    /* "F1: インストールガイドを読む", */
    "F1 を押せばインストールガイドが読めます",
#ifdef PC98
    "install.98",
#else
    "install",
#endif
    { { NULL } },
};

DMenu MenuMediaFTP_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "FreeBSD FTP 配布サイトを選択して下さい",
"以下のリストから, もっとも近いサイト, あるいは「その他」のサイトを
選択して下さい. なお, これらのすべてのサイトが, 基本配布キット以上
のものを持っているとは限らないということに気をつけて下さい. 一時配
布サイトのみが, 完全な配布ファイルを持っていることを保証しています.",
    "最も近いサイトを選択して下さい!",
#ifdef PC98
    "install.98",
#else
    "install",
#endif
{ { "P 一次配布サイト",	"ftp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AS("=ftp://ftp.freebsd.org/pub/FreeBSD/releases/") },
      { "U URL", "リストにないサイトを URLで指定する", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH "=other" },
      { " 4.0 SNAP サーバー", "current.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AS("=ftp://current.freebsd.org/pub/FreeBSD/snapshots/") },
      { " 3.0 SNAP サーバー", "releng3.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AS("=ftp://releng3.freebsd.org/pub/FreeBSD/snapshots/") },
#ifdef PC98
#define FTP_JP
#include "pc98site.h"
#undef FTP_JP
#endif
  { "A アルゼンチン",	"ftp.ar.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.ar.freebsd.org") },
  { " A オーストラリア",	"ftp.au.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.au.freebsd.org") },
  { " A オーストラリア #2",	"ftp2.au.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.au.freebsd.org") },
  { " A オーストラリア #3",	"ftp3.au.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.au.freebsd.org") },
  { " A オーストラリア #4",	"ftp4.au.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.au.freebsd.org") },
  { " A オーストラリア #5",	"ftp5.au.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.au.freebsd.org") },
  { "B ブラジル",	"ftp.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.br.freebsd.org") },
  { " B ブラジル #2",	"ftp2.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.br.freebsd.org") },
  { " B ブラジル #3",	"ftp3.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.br.freebsd.org") },
  { " B ブラジル #4",	"ftp4.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.br.freebsd.org") },
  { " B ブラジル #5",	"ftp5.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.br.freebsd.org") },
  { " B ブラジル #6",	"ftp6.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp6.br.freebsd.org") },
  { " B ブラジル #7",	"ftp7.br.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp7.br.freebsd.org") },
  { "C カナダ",		"ftp.ca.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.ca.freebsd.org") },
  { " C チェコ", "ftp.cz.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.cz.freebsd.org") },
  { "D デンマーク",	"ftp.dk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.dk.freebsd.org") },
  { " D デンマーク #2",	"ftp2.dk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.dk.freebsd.org") },
  { "E エストニア",		"ftp.ee.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.ee.freebsd.org") },
  { "F フィンランド",	"ftp.fi.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.fi.freebsd.org") },
  { " F フランス",	"ftp.fr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.fr.freebsd.org") },
  { " F フランス #2",	"ftp2.fr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.fr.freebsd.org") },
  { " F フランス #3",	"ftp3.fr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.fr.freebsd.org") },
  { "G ドイツ",		"ftp.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.de.freebsd.org") },
  { " G ドイツ #2",	"ftp2.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.de.freebsd.org") },
  { " G ドイツ #3",	"ftp3.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.de.freebsd.org") },
  { " G ドイツ #4",	"ftp4.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.de.freebsd.org") },
  { " G ドイツ #5",	"ftp5.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.de.freebsd.org") },
  { " G ドイツ #6",	"ftp6.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp6.de.freebsd.org") },
  { " G ドイツ #7",	"ftp7.de.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp7.de.freebsd.org") },
  { "H オランダ",	"ftp.nl.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.nl.freebsd.org") },
  { " H 香港",	"ftp.hk.super.net", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.hk.super.net") },
  { "I アイスランド",	"ftp.is.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.is.freebsd.org") },
  { " I アイルランド",		"ftp.ie.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.ie.freebsd.org") },
  { " I イスラエル",	"ftp.il.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.il.freebsd.org") },
  { " I イスラエル #2",	"ftp2.il.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.il.freebsd.org") },
#ifndef PC98
  { "J 日本",		"ftp.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.jp.freebsd.org") },
  { " J 日本 #2",		"ftp2.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.jp.freebsd.org") },
  { " J 日本 #3",		"ftp3.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.jp.freebsd.org") },
  { " J 日本 #4",		"ftp4.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.jp.freebsd.org") },
  { " J 日本 #5",		"ftp5.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.jp.freebsd.org") },
  { " J 日本 #6",		"ftp6.jp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp6.jp.freebsd.org") },
#endif
  { "K 韓国",		"ftp.kr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.kr.freebsd.org") },
  { "K 韓国 #2",		"ftp2.kr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.kr.freebsd.org") },
  { "K 韓国 #3",	"ftp3.kr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.kr.freebsd.org") },
  { "K 韓国 #4",	"ftp4.kr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.kr.freebsd.org") },
  { "K 韓国 #5",	"ftp5.kr.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.kr.freebsd.org") },
  { "N ニュージーランド",	"ftp.nz.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.nz.freebsd.org") },
  { "P ポーランド",	"ftp.pl.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.pl.freebsd.org") },
  { " P ポルトガル",	"ftp.pt.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.pt.freebsd.org") },
  { " P ポルトガル #2",	"ftp2.pt.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.pt.freebsd.org") },
  { "R ロシア",	"ftp.ru.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.ru.freebsd.org") },
  { " R ロシア #2",	"ftp2.ru.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.ru.freebsd.org") },
  { " R ロシア #3",	"ftp3.ru.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.ru.freebsd.org") },
  { " R ロシア #4",	"ftp4.ru.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.ru.freebsd.org") },
  { "S スロバキア共和国",	"ftp.sk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.sk.freebsd.org") },
  { " S 南アフリカ",	"ftp.za.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.za.freebsd.org") },
  { " S 南アフリカ #2",	"ftp2.za.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.za.freebsd.org") },
  { " S 南アフリカ #3",	"ftp3.za.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.za.freebsd.org") },
  { " S 南アフリカ #4", "ftp4.za.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.za.freebsd.org") },
  { " S スペイン",	"ftp.es.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.es.freebsd.org") },
  { " S スペイン #2",	"ftp2.es.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.es.freebsd.org") },
  { " S スウェーデン",	"ftp.se.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.se.freebsd.org") },
  { " S スウェーデン #2",	"ftp2.se.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.se.freebsd.org") },
  { " S スウェーデン #3",	"ftp3.se.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.se.freebsd.org") },
  { "T 台湾",		"ftp.tw.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.tw.freebsd.org") },
  { " T 台湾 #2",	"ftp2.tw.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.tw.freebsd.org") },
  { " T 台湾 #3",	"ftp3.tw.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.tw.freebsd.org") },
  { " T タイ",		"ftp.nectec.or.th", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AS("=ftp://ftp.nectec.or.th/pub/mirrors/FreeBSD/") },
  { "U イギリス",		"ftp.uk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.uk.freebsd.org") },
  { " U イギリス #2",		"ftp2.uk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.uk.freebsd.org") },
  { " U イギリス #3",		"ftp3.uk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.uk.freebsd.org") },
  { " U イギリス #4",	"ftp4.uk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.uk.freebsd.org") },
  { " U イギリス #5",	"ftp5.uk.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.uk.freebsd.org") },
  { " U アメリカ合衆国",		"ftp.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp.freebsd.org") },
  { " U アメリカ合衆国 #2",		"ftp2.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp2.freebsd.org") },
  { " U アメリカ合衆国 #3",		"ftp3.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp3.freebsd.org") },
  { " U アメリカ合衆国 #4",		"ftp4.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp4.freebsd.org") },
  { " U アメリカ合衆国 #5",		"ftp5.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp5.freebsd.org") },
  { " U アメリカ合衆国 #6",		"ftp6.freebsd.org", NULL, dmenuSetVariable, NULL,
	VAR_FTP_PATH _AP("=ftp://ftp6.freebsd.org") },
  { NULL } }
};

DMenu MenuMediaTape_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "テープドライブのタイプを選択して下さい",
"FreeBSD はテープドライブからインストールすることができます. ただし,
このインストール法は, インストールに必要な容量に加えて, それなりに
大きい一時記憶領域を必要とします (テープドライブはランダムアクセス
に適さないので, 1 パスでテープ内の全ての内容を展開します). もしこ
れに十分な空間がある場合には, あなたのシステムで検出された以下のデ
バイスのうちのどれかを選択して下さい.",
    /* "F1: インストールガイドを読む", */
    "F1 を押せばインストールガイドが読めます",
#ifdef PC98
    "install.98",
#else
    "install",
#endif
    { { NULL } },
};

DMenu MenuNetworkDevice_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "ネットワークインターフェースの情報が必要です",
"もしあなたが, イーサネットで直接接続するのではなく, シリアルデバイ
ス経由で PPP を使用する場合には, まずこの目的のために我々が提供し
ている ppp ユーティリティを使用して, サービスプロバイダにダイアル
しなければなりません. もしシリアルデバイス上で SLIP を使用している
場合は, 固定的なシリアル接続を仮定します. また, 特殊な \"laplink\" 
ケーブルを使用して, パラレルポート経由で最近の (2.0R, あるいはそれ
以降のバージョン) の FreeBSD のマシンと結んでインストールすること
もできます.",
    /* "F1: ネットワークコンフィギュレーションマニュアルを読む", */
    /* "F1 を押せばネットワークコンフィギュレーションマニュアルが読めます", */
    "F1 を押せばネットワークコンフィギュレーションマニュアルが読めま",
    "network_device",
    { { NULL } },
};

/* The media selection menu */
DMenu MenuMedia_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "インストールメディアを選択して下さい",
"FreeBSD は, フロッピーからインターネット上の FTP サーバに至るまで, さまざ
まな異なったインストールメディアからのインストールが可能です. もしあなたが
サポートされている CDROM ドライブからインストールするのであれば, それは一
般的には最高のメディアであるので, これが使用できる場合はその他のメディアか
らインストールすることを考える必要はありません.",
    /* "F1: さまざまなメディアタイプに関するさらに詳細な情報", */
    "F1 を押せばさまざまなメディアタイプに関するさらに詳細な情報を表示します",
    "media",
{ { "1 CDROM",		"FreeBSD CDROM からインストールする",	NULL, mediaSetCDROM },
  { "2 FTP",		"FTP サーバからインストールする",	NULL, mediaSetFTPActive },
  /* { "3 FTP Passive",	"ファイアウォール経由で FTP サーバからインストールする", NULL, mediaSetFTPPassive }, */
  { "3 FTP Passive",	"ファイアウォール経由でFTPサーバからインストールする", NULL, mediaSetFTPPassive },
  { "4 DOS",		"DOS パーティションからインストールする",	NULL, mediaSetDOS },
#ifdef NONFS
  { "5 ファイルシステム",	"既存のファイルシステムからインストールする",	NULL, mediaSetUFS },
  { "6 フロッピー",		"フロッピーディスクのセットからインストールする",	NULL, mediaSetFloppy },
  { "7 テープ",		"SCSI または QIC テープからインストールする",	NULL, mediaSetTape },
#ifdef UFS_MO
  { "8 UFS MO, PDS",	"UFS MO 又は PDS からインストールする",	NULL, mediaSetUFSMO },
#endif
#else
  { "5 NFS",		"NFS からインストールする",	NULL, mediaSetNFS },
  { "6 ファイルシステム",	"既存のファイルシステムからインストールする",	NULL, mediaSetUFS },
  { "7 フロッピー",		"フロッピーディスクのセットからインストールする",	NULL, mediaSetFloppy },
  { "8 テープ",		"SCSI または QIC テープからインストールする",	NULL, mediaSetTape },
#ifdef UFS_MO
  { "9 UFS MO, PDS",	"UFS MO 又は PDS からインストールする",	NULL, mediaSetUFSMO },
#endif
#endif	/* NONFS */
  { "O オプション",	"オプション画面へ行く",		NULL, optionsEditor },
  { NULL } },
};

/* The distributions menu */
DMenu MenuDistributions_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "配布ファイルを選択して下さい",
    /* AT 日本語版のメッセージと異なる */
#ifdef PC98
"簡単のため, いくつかの「出来合いの」配布ファイルのセットを提供して
います. これらの選択は, 我々が最も適当なデフォルトであると考えるも
のです. もし自分で配布ファイルを選択したい場合は, 「カスタム」を選
択して下さい. 最初に出来合いのパッケージを選んで, 後からカスタムで
調整を行なうこともできます. 項目を選択する場合は [SPACE] を押してく
ださい. 設定が終了したら, 終了の項目を選択するか [RETURN] を押して
下さい.",
#else
"簡単のため, いくつかの「出来合いの」配布ファイルのセットを提供して
います. これらの選択は, 我々が最も適当なデフォルトであると考えるも
のです. もし自分で配布ファイルを選択したい場合は, 「カスタム」を選
択して下さい. 最初に出来合いのパッケージを選んで, 後からカスタムで
調整を行なうこともできます. 項目を選択する場合は [SPACE] を押してく
ださい. 設定が終了したら, 終了の項目を選択するか [ENTER] を押して
下さい.",
#endif	/* PC98 */
    /* "F1: これらのオプションに関する詳しい解説", */
    "F1 を押せばこれらのオプションに関する詳しい解説を表示します",
    "distributions",
{ { "X 終了",		"このメニューから抜ける (前の場所に戻る)",
	checkTrue,		dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",		"全ソース, バイナリ, X Window System バイナリ",
	checkDistEverything,	distSetEverything },
  { "R リセット",	"選択されたリストをリセット",
	NULL,			distReset, NULL, NULL, ' ', ' ', ' ' },
  { "1 開発者",	"全ソース, バイナリ, 文書, ただしゲーム除く",
	checkDistDeveloper, distSetDeveloper },
  { "2 X-開発者",	"上と同様 + X Window System",
	checkDistXDeveloper, distSetXDeveloper },
  { "3 カーネル開発",	"全バイナリ, 文書, カーネルのみのソース",
	checkDistKernDeveloper, distSetKernDeveloper },
  { "4 X-カーネル開発",	"上と同様 + X Window System",
	checkDistXKernDeveloper, distSetXKernDeveloper },
  { "5 ユーザ",		"平均的ユーザ - バイナリと文書のみ",
	checkDistUser, distSetUser },
  { "6 X-ユーザ",	"上と同様 + X Window System",
	checkDistXUser, distSetXUser },
  { "7 最小構成",	"可能な限り最小の構成",
	checkDistMinimum, distSetMinimum },
  { "8 カスタム",	"自分自身で配布ファイルのセットを指定",
    NULL, dmenuSubmenu, NULL, &MenuSubDistributions, '>', '>', '>' },
  { NULL } },
};

DMenu MenuSubDistributions_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "インストールする配布ファイルの選択",
#ifdef PC98
"インストールしたい配布ファイルをチェックして下さい. 最低でも \"bin\"
と \"98bin\" はなければいけません.
(警告) DES 配布ファイルをアメリカ合衆国国外に持ち出さないで下さい.
これはアメリカ合衆国のユーザのみのためのものです.",
#else
"インストールしたい配布ファイルをチェックして下さい. 最低でも \"bin\"
はなければいけません.
(警告) DES 配布ファイルをアメリカ合衆国国外に持ち出さないで下さい.
これはアメリカ合衆国のユーザのみのためのものです.",
#endif
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
	checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",		"全ソース, バイナリと X Window System のバイナリ",
	NULL, distSetEverything },
  { "R リセット",		"以降の全てをリセットする",
	NULL, distReset, NULL, NULL, ' ', ' ', ' ' },
  { " bin",		"バイナリ基本配布ファイル (必須)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_BIN },
#ifdef PC98
  { " 98bin",		"PC98 基本バイナリ配布 (必須)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_98BIN },
#endif
#ifdef __i386__
  { " compat1x",		"FreeBSD 1.x バイナリ互換性",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_COMPAT1X },
  { " compat20",		"FreeBSD 2.0 バイナリ互換性",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_COMPAT20 },
  { " compat21",		"FreeBSD 2.1 バイナリ互換性",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_COMPAT21 },
  { " compat22",		"FreeBSD 2.2.x と 3.0 a.out バイナリ互換性",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_COMPAT22 },
#if __FreeBSD__ > 3
  { " compat3x",		"FreeBSD 3.x バイナリ互換性",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_COMPAT3X },
#endif
#endif
  { " DES",		"DES 暗号化コード - 輸出禁止!",
	DESFlagCheck, distSetDES },
  { " dict",		"スペルチェッカー辞書ファイル",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_DICT },
  { " doc",		"種々の FreeBSD オンラインドキュメント",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_DOC },
#ifdef PC98
  { " 98doc",		"FreeBSD(98) ハンドブックとオンラインドキュメント",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_98DOC },
#endif
  { " games",		"ゲーム (非商用)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_GAMES },
  { " info",		"GNU info ファイル",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_INFO },
  { " man",		"システムマニュアルページ - 推奨",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_MANPAGES },
  { " catman",		"フォーマット済みシステムマニュアルページ",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_CATPAGES },
#ifdef JMAN
  { " jcatman",		"日本語フォーマット済みシステムマニュアルページ",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_JCATPAGES },
#endif
  { " proflibs",		"プロファイル版のライブラリ",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_PROFLIBS },
#if defined(PC98) && defined(PC98SRC)
  { " 98src",		"PC98用全てのソース",
	src98FlagCheck, distSet98Src },
#endif /* defined(PC98) && defined(PC98SRC) */
  { " src",		"DES を除く全てのソース",
	srcFlagCheck, distSetSrc },
  { " ports",	"FreeBSD Ports コレクション",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_PORTS },
  { " local",	"ローカル追加収集",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_LOCAL},
  { " XFree86",		XFree86_3_X " 配布ファイル",
	x11FlagCheck, distSetXF86 },
  { NULL } },
};

DMenu MenuDESDistributions_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "インストールしたい暗号化機構を選択して下さい",
"インストールしたい DES ベースの特別な暗号化配布ファイルを選択して
下さい. ここで, これらのサービスはアメリカ合衆国国外への「輸出は禁
止」されているということに気をつけて下さい. U.S. 国外でこれらのソ
フトウェアを配布している場所については, リリースノートを参照して下
さい.",
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
    checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",		"以降の全てを選択する",
	NULL,		setDES },
  { "R リセット",	"以降の全てをリセットする",
	NULL,		clearDES, NULL, NULL, ' ', ' ', ' ' },
  { " des",	"基本 DES 暗号化サービス",
    dmenuFlagCheck, dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_DES, },
#if __FreeBSD__ > 3
  { " krb4",	"KerberosIV 暗号化サービス",
    dmenuFlagCheck, dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_KERBEROS4 },
#else
  { " krb",	"Kerberos 暗号化サービス",
    dmenuFlagCheck, dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_KERBEROS },
#endif
  { " skerbero",	"Kerberos IV のソース",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_SKERBEROS },
  { " ssecure",	"DES のソース",
    dmenuFlagCheck, dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_SSECURE },
  { " scrypto",	"エキスパートのコントロールによる暗号ソース",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &DESDists, '[', 'X', ']', DIST_DES_SCRYPTO },
  { NULL } },
};

DMenu MenuSrcDistributions_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS ,
    "インストールする src サブコンポーネントを選択して下さい",
"インストールしたい FreeBSD ソースツリーのコンポーネントをチェック
して下さい (RETURN キーでなく! 空白キーを使うことをお忘れなく).",
    NULL,
    NULL,
{ { "E 終了",	"このメニューを終了する (前の場所に戻る)",
	checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"以降の全てを選択する",
	NULL,		setSrc },
  { "R リセット", "以降の全てをリセットする",
	NULL,		clearSrc, NULL, NULL, ' ', ' ', ' ' },
  { " base",	"/usr/src のトップレベルファイル",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_BASE },
  { " contrib",	"/usr/src/contrib (コントリビュートソフトウェア)",
	dmenuFlagCheck, dmenuSetFlag,	NULL, &SrcDists, '[', 'X', ']', DIST_SRC_CONTRIB },
  { " gnu",	"/usr/src/gnu (GNU プロジェクトのソフトウェア)",
	dmenuFlagCheck, dmenuSetFlag,	NULL, &SrcDists, '[', 'X', ']', DIST_SRC_GNU },
  { " etc",	"/usr/src/etc (雑多なシステムファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_ETC },
  { " games",	"/usr/src/games (名前の通り!)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_GAMES },
  { " include",	"/usr/src/include (ヘッダファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_INCLUDE },
  { " lib",	"/usr/src/lib (システムライブラリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_LIB },
  { " libexec",	"/usr/src/libexec (システムプログラム)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_LIBEXEC },
  { " release",	"/usr/src/release (リリース生成ツール)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_RELEASE },
  { " bin",	"/usr/src/bin (システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_BIN },
  { " sbin",	"/usr/src/sbin (システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_SBIN },
  { " share",	"/usr/src/share (ドキュメントと共有ファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_SHARE },
  { " sys",	"/usr/src/sys (FreeBSD カーネル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_SYS },
  { " ubin",	"/usr/src/usr.bin (ユーザバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_UBIN },
  { " usbin",	"/usr/src/usr.sbin (補助的システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', DIST_SRC_USBIN },
  { NULL } },
};

#if defined(PC98) && defined(PC98SRC)
DMenu Menu98SrcDistributions_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS ,
    "インストールする 98src サブコンポーネントを選択して下さい",
"インストールしたい FreeBSD(98) ソースツリーのコンポーネントをチェック
して下さい. share を除いて, オリジナルのソースを取り込んだ後に PC98
用のソースを上書きします.",
/* PC98用に修正されているものは etc, lib, lkm, release, sbin, share, sys,
ubin, usbin です.", */
    NULL,
    NULL,
{
  { "E 終了",	"このメニューを終了する (前の場所に戻る)",
	checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"以降の全てを選択する",
	NULL, set98Src },
  { "R リセット", "以降の全てをリセットする",
	NULL, clear98Src, NULL, NULL, ' ', ' ', ' ' },
  { " base",	"/usr/src のトップレベルファイル",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_BASE },
  { " contrib",	"/usr/src/contrib (コントリビュートソフトウェア)",
	dmenuFlagCheck, dmenuSetFlag,	NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_CONTRIB },
#if 0
  { " gnu",	"/usr/src/gnu (GNU プロジェクトのソフトウェア)",
	dmenuFlagCheck, dmenuSetFlag,	NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_GNU },
#endif
  { " etc",	"/usr/src/etc (雑多なシステムファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_ETC },
#if 0
  { " games",	"/usr/src/games (名前の通り!)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_GAMES },
  { " include",	"/usr/src/include (ヘッダファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_INCLUDE },
#endif
  { " lib",	"/usr/src/lib (システムライブラリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_LIB },
#if 0
  { " libexec",	"/usr/src/libexec (システムプログラム)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_LIBEXEC },
#endif
  { " release",	"/usr/src/release (リリース生成ツール)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_RELEASE },
#if 0
  { " bin",	"/usr/src/bin (システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_BIN },
#endif
  { " sbin",	"/usr/src/sbin (システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_SBIN },
  { " share",	"/usr/src/share (ドキュメントと共有ファイル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_SHARE },
  { " sys",	"/usr/src/sys (FreeBSD(98) カーネル)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_SYS },
  { " ubin",	"/usr/src/usr.bin (ユーザバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_UBIN },
  { " usbin",	"/usr/src/usr.sbin (補助的システムバイナリ)",
	dmenuFlagCheck, dmenuSetFlag, NULL, &Src98Dists, '[', 'X', ']', DIST_SRC_USBIN },
  { NULL } },
};
#endif /* defined(PC98) && defined(PC98SRC) */

DMenu MenuXF86Select_j = {
    DMENU_NORMAL_TYPE,
    XFree86_3_X " 配布ファイル",
XFree86_3_X " 配布ファイル中で, 必要とするコンポーネントを選択し
て下さい.",
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",	checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"XFree86 配布ファイル全てを選択する",	NULL, setX11All },
  { "R リセット", "XFree86 配布ファイルをリセットする",	NULL, clearX11All },
  { "B 基本",	"基本コンポーネントメニュー (必須)",	NULL, dmenuSubmenu, NULL, &MenuXF86SelectCore },
  { "S サーバ",	"X サーバメニュー",	NULL, dmenuSubmenu, NULL, &MenuXF86SelectServer },
  { "F フォント",	"フォントセットメニュー",	NULL, dmenuSubmenu, NULL, &MenuXF86SelectFonts },
  { NULL } },
};

DMenu MenuXF86SelectCore_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    XFree86_3_X " 基本コンポーネント",
"インストールしたい XFree86 基本コンポーネントを選択して下さい.
最小インストールでは, bin, lib, set をインストールして下さい.",
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
    checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"以降の全てを選択",
    NULL, setX11Misc },
  { "R リセット", "以降の全てをリセットする",
    NULL, clearX11Misc, NULL, NULL, ' ', ' ', ' ' },
  { " bin",	"クライアントアプリケーションと共有ライブラリ",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_BIN },
  { " cfg",	"設定ファイル",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_CFG },
  { " doc",	"README とリリースノート",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_DOC },
  { " html",	"HTML 文書ファイル",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_HTML },
  { " lib",	"実行時に必要なデータファイル",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_LIB },
#ifdef __i386__
  { " lk98",	"PC98 用サーバリンクキット",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_LKIT98 },
#endif
  { " lkit",	"その他全マシン用サーバリンクキット",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_LKIT },
  { " man",	"マニュアルページ",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_MAN },
  { " prog",	"プログラマのためのヘッダとライブラリ",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_PROG },
  { " set",	"XFree86 セットアップユーティリティ",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_SET },
#ifdef __i386__
  { " 9set",		"PC98 用 XFree86 セットアップユーティリティ",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_9SET },
#endif
  { " sources",	XFree86_3_X " 標準ソース",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_SRC },
  { " csources",	XFree86_3_X " contrib ソース",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86Dists, '[', 'X', ']', DIST_XF86_CSRC },
  { NULL } },
};

DMenu MenuXF86SelectFonts_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "フォントの詳細な選択",
"インストールしたい個々のフォント配布ファイルをチェックして下さい.
サーバをインストールする限り, 最低でも, 75dpi と misc のフォントを
インストールする必要があります (これらはデフォルトで選択されていま
す).",
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
    checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"全てのフォント",
    NULL, setX11Fonts },
  { "R リセット", "フォント選択のリセット",
    NULL, clearX11Fonts, NULL, NULL, ' ', ' ', ' ' },
  { " fnts",	"標準の 75 DPI とその他のフォント",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_MISC },
  { " f100",	"100 DPI フォント",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_100 },
  { " fcyr",	"キリル文字フォント",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_CYR },
  { " fscl",	"Speedo, Type スケーラブルフォント",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_SCALE },
  { " non",	"日本語, 中国語など, 非英語圏のフォント",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_NON },
  { " server",	"フォントサーバ",
    dmenuFlagCheck, dmenuSetFlag, NULL, &XF86FontDists, '[', 'X', ']', DIST_XF86_FONTS_SERVER },
  { NULL } },
};

DMenu MenuXF86SelectServer_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "X サーバの選択",
"インストールしたい X サーバのタイプをチェックして下さい. もしあなたの
グラフィックカードでどのサーバが動作するのかわからない場合は, SVGA か
VGA 16, PC98 の場合は 9EGC か 9840 サーバを使用できるか試すことをお勧
めします (VGA と Mono のサーバはほとんどの LCD ディスプレイに対して特
に適応します).",
    NULL,
    NULL,
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
	checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { "A 全て",	"以降の全てを選択",
	NULL, setX11Servers },
  { "R リセット", "以降の全てをリセット",
	NULL, clearX11Servers, NULL, NULL, ' ', ' ', ' ' },
  { " SVGA",	"標準 VGA または Super VGA カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_SVGA },
  { " VGA16",	"標準 16 色 VGA カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_VGA16 },
  { " Mono",	"標準モノクロディスプレイ",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_MONO },
  { " 3DL",	"8, 16 と 24 ビットカラー 3D Labs ボード",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_3DL },
  { " 8514",	"8 ビット (256 色) IBM 8514 または互換カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_8514 },
  { " AGX",	"8 ビットカラー AGX カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_AGX },
  { " I128",	"8, 16, 24 ビットカラー #9 Imagine I128 カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_I128 },
  { " Ma8",	"8 ビットカラー ATI Mach8 カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_MACH8 },
  { " Ma32",	"8 または 16 ビット (65K 色) ATI Mach32 カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_MACH32 },
  { " Ma64",	"8 または 16 ビット (65K 色) ATI Mach64 カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_MACH64 },
  { " P9K",	"8, 16, 24 ビットカラー Weitek P9000 ベースのボード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_P9000 },
  { " S3",	"8, 16, 24 ビットカラー S3 ベースのボード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_S3 },
  { " S3V",	"8, 16, 24 ビットカラー S3 Virge ベースのボード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_S3V },
  { " W32",	"8 ビットカラー ET4000/W32, /W32i または /W32p カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_W32 },
#ifdef __i386__
  { " PC98",		"NEC PC98 用 X サーバの選択 [サブメニュー]",
	NULL,		dmenuSubmenu,	NULL, &MenuXF86SelectPC98Server, '>', ' ', '>', 0 },
#elif __alpha__
  { " TGA",		"TGA cards (alpha architecture only)",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_TGA },
#endif
  { NULL } },
};

#ifdef __i386__
DMenu MenuXF86SelectPC98Server_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "PC98用 Xサーバの選択",
    "インストールしたい NEC PC98用 X サーバのタイプを選択して下さい. もし\n"
    "あなたのグラフィックカードでどのサーバが動作するかわからない場合は,\n"
    "9EGC あるいは 9480 のサーバを選択して下さい (EGC サーバはほとんどの\n"
    "PC-9800 ディスプレイに対して特に適応しますし, 480 サーバはほとんどの\n"
    "PC-9821 ディスプレイに対して適応します).",
    NULL,
    NULL,
    { { "X 終了",	"このメニューを終了する (前の場所に戻る)",
	NULL,	dmenuExit },
      { " 9480",	"PC98 8 ビット (256 色) PEGC-480 モード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9480 },
      { " 9EGC",	"PC98 4 ビット (16 色) EGC モード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9EGC },
      { " 9GA9",	"PC98 GA-968V4/PCI (S3 968) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9GA9 },
      { " 9GAN",	"PC98 GANB-WAP (cirrus) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9GAN },
      { " 9LPW",	"PC98 PowerWindowLB (S3) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9LPW },
      { " 9MGA",		"PC98 MGA (Matrox) カード",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9MGA },
      { " 9NKV",	"PC98 NKV-NEC (cirrus) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9NKV },
      { " 9NS3",	"PC98 NEC (S3) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9NS3 },
      { " 9SPW",	"PC98 SKB-PowerWindow (S3) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9SPW },
      { " 9SVG",		"PC98 NEC 内蔵 CLGD755x カード",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9SVG },
      { " 9TGU",	"PC98 Cyber9320 と TGUI9680 カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9TGU },
      { " 9WEP",	"PC98 WAB-EP (cirrus) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9WEP },
      { " 9WS",	"PC98 WABS (cirrus) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9WS },
      { " 9WSN",	"PC98 WSN-A2F (cirrus) カード",
	dmenuFlagCheck, dmenuSetFlag, NULL, &XF86ServerDists, '[', 'X', ']', DIST_XF86_SERVER_9WSN },
      { NULL } }
};
#endif

DMenu MenuDiskDevices_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "ドライブを選択して下さい",
"インストレーションを行なうドライブ (複数でもよい) を選択して下さい.
もしあなたがブートパーティションを最初のドライブ以外に置きたい場合
や, 複数のオペレーティングシステムを一台のマシンにインストールした
い場合には, ブートマネージャを後でインストールするというオプション
があります. ドライブを選択するには, 矢印キーでカーソルを対象ディス
クの上に移動して, [SPACE] を押して下さい. 選択を解除するにはもう一
度 [SPACE] を押して下さい.",
    /* "F1: ディスクのジオメトリに関する重要な情報!", */
    "F1 を押せばディスクのジオメトリに関する重要な情報を表示します!",
    "drives",
    { { NULL } },
};

DMenu MenuHTMLDoc_j = {
    DMENU_NORMAL_TYPE,
    "HTML ドキュメンテーションポインタの選択",
"読みたい文章を選択して下さい. 現在の主要なドキュメントは FAQ とハンドブック
です. 「その他」を選択することで, URL を指定してブラウズすることができます.",
    /* "F1 さらに詳しいヘルプ", */
    "F1 を押せばさらに詳しいヘルプを表示します",
    "html",
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
    NULL,	dmenuExit },
  { "1 ハンドブック",	"FreeBSD ハンドブック",			NULL, docShowDocument },
#ifdef DOCJP
  { "2 日本語ハンドブック",	"日本語版 FreeBSD ハンドブック",	NULL, docShowDocument },
  { "3 FAQ",	"繁雑に出てくる質問に関するガイド",		NULL, docShowDocument },
  { "4 ホーム",	"FreeBSD プロジェクトのホームページ (ネットワークが必要)", NULL, docShowDocument },
  { "5 その他",	"URL を入力する",				NULL, docShowDocument },
#else
  { "2 FAQ",	"繁雑に出てくる質問に関するガイド",		NULL, docShowDocument },
  { "3 ホーム",	"FreeBSD プロジェクトのホームページ (ネットワークが必要)", NULL, docShowDocument },
  { "4 その他",	"URL を入力する",				NULL, docShowDocument },
#endif /* DOCJP*/
  { NULL } },
};

/* The main installation menu */
DMenu MenuInstallCustom_j = {
    DMENU_NORMAL_TYPE,
    "カスタムインストレーションオプションの選択",
"これはカスタムインストレーションのメニューです. インストールしたい
配布ファイルは何か, どこにインストールするか, どこからインストール
するか, FreeBSD にどれだけディスクを割り当てるか, などをこのメニュー
から指定することができます.",
    /* "F1: インストールガイド", */
    "F1 を押せばインストールガイドが読めます",
#ifdef PC98
    "install.98",
#else
    "install",
#endif
{ { "X 終了",		"このメニューを終了する (前の場所に戻る)", NULL, dmenuExit },
  { "1 オプション",	"さまざまなインストールオプションの設定",	NULL, optionsEditor },
#ifdef __alpha__
      { "2 Label",		"Label disk partitions",		NULL, diskLabelEditor },
      { "3 Distributions",	"Select distribution(s) to extract",	NULL, dmenuSubmenu, NULL, &MenuDistributions },
      { "4 Media",		"Choose the installation media type",	NULL, dmenuSubmenu, NULL, &MenuMedia },
      { "5 Commit",		"Perform any pending Partition/Label/Extract actions", NULL, installCustomCommit },
#else
  { "2 パーティション",	"FreeBSD へのディスク空間の割り当て",	NULL, diskPartitionEditor },
  { "3 ラベル",		"割り当てたパーティションへのラベリング",	NULL, diskLabelEditor },
  { "4 配布ファイル",	"展開する配布ファイルを選択",		NULL, dmenuSubmenu, NULL, &MenuDistributions },
  { "5 メディア",	"インストールメディアの選択",		NULL, dmenuSubmenu, NULL, &MenuMedia },
  { "6 コミット",	"パーティション, ラベリング, 展開を実際に行なう", NULL, installCustomCommit },
#endif
  { NULL } },
};

#ifndef PC98
/* MBR type menu */
DMenu MenuMBRType_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "overwrite me",		/* will be disk specific label */
"FreeBSD には, ブート時に FreeBSD と他のオペレーティングシステムと
を選択できるブートセレクタが附属しています. もしあなたが複数のディ
スクを所有していて, 2 台目のディスクからブートしたいという場合も,
ブートセレクタによってこの機能を実現することができます. もしブート
セレクタが不要な場合や, 後で入れ換えたい場合は「標準」を選択し
て下さい. もし, マスターブートレコードを書き換えたくない場合は,
「無視」を選択して下さい.",
    /* "F1: インストールガイド", */
    "F1 を押せばドライブ・セットアップが読めます",
    "install",
{ { "B BootMgr",	"FreeBSD ブートマネージャをインストール",
    dmenuRadioCheck, dmenuSetValue, NULL, &BootMgr },
  { "S 標準",	"標準 MBR をインストールする (ブートマネージャなし)",
    dmenuRadioCheck, dmenuSetValue, NULL, &BootMgr, '(', '*', ')', 1 },
  { "N 無視",	"マスターブートレコードを変更しない",
    dmenuRadioCheck, dmenuSetValue, NULL, &BootMgr, '(', '*', ')', 2 },
  { NULL } },
};
#endif	/* PC98 */

#ifdef AT_KANJI
static int
passwdRoot(dialogMenuItem *self)
{
    if (language == LANG_ENGLISH) {
	systemExecute("passwd root");
    }
    else {
	msgConfirm(
"ローカライズ版インストールフロッピーでは, この機能は現在, バグのた
めに使用できません. 再起動した後に直ちに root でログインし,
    passwd root
と, passwd コマンドを用いて root のパスワードを設定して下さい.");
    }

    return 0;
}
#endif	/* AT_KANJI */

/* Final configuration menu */
DMenu MenuConfigure_j = {
    DMENU_NORMAL_TYPE,
    "FreeBSD 設定メニュー",	/* title */
"もしすでに FreeBSD をインストールしてあれば, このメニューを使用してあなた
のコンフィギュレーションに合わせたカスタマイズを行なうことができます. この
メニューのもっとも重要な機能としては, 基本配布ファイルには含まれない「サー
ドパーティ」ソフトウェアを読み込むためのパッケージユーティリティがあります.",
    /* "F1: これらのオプションに関するさらに詳細な情報", */
    "F1 を押せばこれらのオプションに関するさらに詳細な情報を表示します",
    "configure",
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",
    NULL, dmenuExit },
  { " D 配布ファイル", "追加の配布物をインストール",
	NULL, distExtractAll },
  { " P パッケージ",	"FreeBSD 用にパッケージ化されたソフトのインストール",
	NULL, configPackages },
#ifdef AT_KANJI
  { " R Root パスワード",	"システム管理者のパスワードの設定",
	NULL, passwdRoot},
#else
  { " R Root パスワード",	"システム管理者のパスワードの設定",
	NULL,	dmenuSystemCommand, NULL, "passwd root" },
#endif	/* AT_KANJI */
  { " L ラベル",	"ディスク・ラベル・エディタ",
	NULL, diskLabelEditor },
#ifdef __i386__
  { " F Fdisk",	"ディスクスライス(PC-形式のパーティション)エディタ",
	NULL, diskPartitionEditor },
#endif
  { " U ユーザ管理",	"ユーザとグループ情報の追加",
	NULL, dmenuSubmenu, NULL, &MenuUsermgmt },
  { " C コンソール",	"コンソールの動作のカスタマイズ",
	NULL, dmenuSubmenu, NULL, &MenuSyscons },
  { " T タイムゾーン",	"あなたの住んでいるタイムゾーンの設定",
	NULL, dmenuSystemCommand, NULL, "tzsetup" },
  { " M メディア",	"インストールメディアのタイプの指定",
	NULL, dmenuSubmenu, NULL, &MenuMedia	},
#if 0
  { " M マウス",	"マウスの設定",
	NULL, dmenuSubmenu, NULL, &MenuMouse, NULL },
#endif
  { " M マウス",		"マウスの種類の選択",
	NULL, dmenuSubmenu, NULL, &MenuMouse, NULL },
  { " N ネットワーク",	"ネットワークの設定",
	NULL, dmenuSubmenu, NULL, &MenuNetworking },
  { " S スタートアップ",	"システムスタートアップサービスの設定",
	NULL,	dmenuSubmenu, NULL, &MenuStartup },
  { " O オプション",	"さまざまなインストールオプションの設定",
	NULL, optionsEditor },
  { " X XFree86",	"XFree86 サーバーの設定",
	NULL, configXSetup },
  { " D Desktop",	"XFree86 デスクトップの設定",
	NULL, configXDesktop },
  { " H HTML 文書",	"HTML 文書メニューに移動 (インストール後に有効)",
	NULL, docBrowser },
#ifdef PCCARD 
  { " P PC-card", "PC-card kernel のコンパイルとインストール", NULL, configPCcard },
#endif	/* PCCARD */
  { NULL } },
};

DMenu MenuStartup_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "スタートアップサービスメニュー",
    "このメニューによって, あなたのシステムの起動時の設定を行うことがで\n"
    "きます. 項目を選択するにはスペースキーを使用するということをお忘れ\n"
    "なきように. リターンキーを押すと (他のチェックボックスメニューと同\n"
    "様に) このメニューは終了します.",
    NULL,
    NULL,
    { { "E 終了",	"このメニューを終了する (前の場所に戻る)",
	checkTrue,	dmenuExit, NULL, NULL, '<', '<', '<' },
      { " A APM",	"APM (電源管理) サービス (主にラップトップ)",
	dmenuVarCheck,	dmenuToggleVariable, NULL, "apm_enable=YES" },
      { " p PCカード",	"PC カード (PCMCIA) の有効化 (主にラップトップ)",
	dmenuVarCheck, dmenuToggleVariable, NULL, "pccard_enable=YES" },
      { " p pccard mem",	"PC カードのメモリアドレス (有効化された場合)",
	dmenuVarCheck, dmenuISetVariable, NULL, "pccard_mem" },
      { " p pccard ifconfig",	"設定する PC カードイーサネットデバイスのリスト",
	dmenuVarCheck, dmenuISetVariable, NULL, "pccard_ifconfig" },
      { " ",		" -- ", NULL,	NULL, NULL, NULL, ' ', ' ', ' ' },
      { " s 初期化スクリプト",	"初期化スクリプトのあるディレクトリのリスト",
	dmenuVarCheck, dmenuISetVariable, NULL, "local_startup" },
      { " n named",	"このホスト上でネームサーバを起動する",
	dmenuVarCheck, dmenuToggleVariable, NULL, "named_enable=YES" },
      { " n namedフラグ",	"named のデフォルトのフラグ (有効化された場合)",
	dmenuVarCheck, dmenuISetVariable, NULL, "named_flags" },
      { " n NISクライアント",	"このホストを NIS クライアントとする.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "nis_client_enable=YES" },
      { " n NIS ドメイン名",	"(可能なら)NIS ドメイン名を設定する",
	dmenuVarCheck, dmenuISetVariable, NULL, "nisdomainname" },
      { " n NISサーバ",	"このホストを NIS サーバとする.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "nis_server_enable=YES" },
      { " ",		" -- ", NULL,	NULL, NULL, NULL, ' ', ' ', ' ' },
      { " a アカウンティング",	"このホストでプロセスアカウンティングを行う.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "accounting_enable=YES" },
      { " l lpd",		"このホストにプリンタがあり lpd を起動したい.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "lpd_enable=YES" },
#ifdef __i386__
      { " l linux",	"このホストで Linux バイナリを実行したい.",
	dmenuVarCheck, configLinux, NULL, VAR_LINUX_ENABLE "=YES" },
      { " S SCO",	"このホストで IBCS2 バイナリを実行したい.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "ibcs2_enable=YES" },
#endif
      { " q quotas",	"このホストで起動時に quota チェックを行う.",
	dmenuVarCheck, dmenuToggleVariable, NULL, "check_quotas=YES" },
      { NULL } },
};

DMenu MenuNetworking_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "ネットワークサービスメニュー",
"ネットワークデバイスの設定 (及びホスト名, ゲートウェイ, ネームサーバなどの
さまざまなパラメータ) は FreeBSD のインストールの仮定ですでに設定されてい
るでしょう. このメニューでは, あなたのシステムのネットワークに関するその他
の設定を行ないます.",
    NULL,
    NULL,
{ { "E 終了",	"このメニューを終了する (前の場所に戻る)",
    checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' },
  { " I インターフェース",	"未設定のネットワークインターフェースの設定",
    NULL, tcpMenuSelect },
  { " N NFS クライアント",	"NFS クライアントとして設定する",
	dmenuVarCheck,	dmenuToggleVariable, NULL, "nfs_client_enable=YES" },
  { " N NFS サーバ",	"NFS サーバとして設定する",
	dmenuVarCheck, configNFSServer, NULL, "nfs_server_enable=YES" },
  { " A AMD",	"このマシンでオートマウンタサービスを提供する",
	dmenuVarCheck, dmenuToggleVariable, NULL, "amd_enable=YES" },
  { " A AMD フラグ",	"AMD サービスのフラグ指定 (有効な場合)",
	dmenuVarCheck, dmenuISetVariable, NULL, "amd_flags" },
  { " T TCP Extensions",	"RFC1323 と RFC1544 TCP extentions を有効化?",
	dmenuVarCheck, dmenuToggleVariable, NULL, "tcp_extensions=YES" },
  { " G ゲートウェイ",	"インターフェース間でパケットを転送する",
    dmenuVarCheck, dmenuToggleVariable, NULL, "gateway=YES" },
  { " N Ntpdate",	"時刻同期サーバの選択",
    dmenuVarCheck,	dmenuSubmenu, NULL, &MenuNTP, '[', 'X', ']', "ntpdate_enable=YES" },
  /* 長すぎ画面に入らない */
  /* { "router",		"ルーティングデーモンの選択 (デフォルト: routed)", */
  { " r router",		"ルーティングデーモンの選択 (省略時値: routed)",
    dmenuVarCheck, configRouter, NULL, "router" },
  { " R Rwhod",		"rwho デーモンを起動する",
    dmenuVarCheck, dmenuToggleVariable, NULL, "rwhod_enable=YES" },
  { " A 匿名 FTP",		"このマシンで anonymous FTP を受け付ける",
    dmenuVarCheck, configAnonFTP, NULL, "anon_ftp" },
#if 0
  { " W WEB サーバ",	"このマシンを WWW サーバとして設定する",
    dmenuVarCheck, configApache, NULL, "apache_httpd" },
  { " S Samba",		"LanManager (NETBUI) 用に Samba をインストール",
    dmenuVarCheck, configSamba, NULL, "samba" },
#endif
  { " P PCNFSD",		"PC-NFS クライアント用の認証サーバを起動する",
    dmenuVarCheck, configPCNFSD, NULL, "pcnfsd" },
  { NULL } },
};

DMenu MenuNTP_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "NTPDATE サーバの選択",
"多くの時刻同期サーバがインターネットにおいてパブリックな利用のために開放
されています. あなたの時計の精度を保つため, できる限り近いサーバを選択し
ましょう.",
    "これらがオープンアクセスを許しているプライマリ NTP サーバです",
    NULL,
{ { "N なし",			"ntp サーバーなし",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=NO,ntpdate_flags=none" },
  { "O その他",			"このリスト中にないサイトを選択",
	dmenuVarsCheck, configNTP, NULL, NULL },
  { "A オーストラリア",		"ntp.syd.dms.csiro.au (HP 5061 セシウムビーム)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=ntp.syd.dms.csiro.au" },
  { " C カナダ",			"tick.usask.ca (GOES クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=tick.usask.ca" },
  { "F フランス",		"canon.inria.fr (TDF クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=canon.inria.fr" },
  { "G ドイツ",			"ntps1-{0,1,2}.uni-erlangen.de (GPS クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=ntps1-0.uni-erlangen.de" },
  { " G ドイツ #2",		"ntps1-0.cs.tu-berlin.de (GPS クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=ntps1-0.cs.tu-berlin.de" },
  { "J 日本",			"clock.nc.fukuoka-u.ac.jp (GPS クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=clock.nc.fukuoka-u.ac.jp" },
  { " J 日本 #2",		"clock.tl.fukuoka-u.ac.jp (GPS クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=clock.tl.fukuoka-u.ac.jp" },
  { "N オランダ",		"ntp0.nl.net (GPS クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=ntp0.nl.net" },
  { " N ノルウェー",		"timehost.ifi.uio.no (NTP クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=timehost.ifi.uio.no" },
  { "S スウェーデン",		"Time1.Stupi.SE (セシウム/GPS)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=Time1.Stupi.SE" },
  { " S スイス",			"swisstime.ethz.ch (DCF77 クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=swisstime.ethz.ch" },
  { "U アメリカ東海岸",		"bitsy.mit.edu (WWV クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=bitsy.mit.edu" },
  { " U アメリカ東海岸 #2",	"otc1.psu.edu (WWV クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=otc1.psu.edu" },
  { " U アメリカ西海岸 #1",	"clepsydra.dec.com (GOES クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=clepsydra.dec.com" },
  { " U アメリカ西海岸 #2",	"clock.llnl.gov (WWVB クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=clock.llnl.gov" },
  { " U アメリカ中西部",		"ncar.ucar.edu (WWVB クロック)",
	dmenuVarsCheck,	dmenuSetVariables, NULL, 
	"ntpdate_enable=YES,ntpdate_flags=ncar.ucar.edu" },
  { NULL } },
};

DMenu MenuSyscons_j = {
    DMENU_NORMAL_TYPE,
    "システムコンソールの設定",
"FreeBSD のデフォルトシステムコンソールドライバは, さまざまな設定オ
プションを持っており, 好みに応じて選択ができます. 設定が終ったら
Cancel を選択して下さい.",
    "システムコンソールの設定",
    NULL,
{
  { "X 終了",		"このメニューを終了する (前の場所に戻る)", NULL, dmenuExit },
#ifdef PC98
  { "S セーバ",		"スクリーンセーバの設定",	NULL, dmenuSubmenu, NULL, &MenuSysconsSaver },
#else
  { "1 フォント",	"スクリーンフォントの選択",	  NULL, dmenuSubmenu, NULL, &MenuSysconsFont },
  { "2 キーマップ",	"キーボードマップの選択",	NULL, dmenuSubmenu, NULL, &MenuSysconsKeymap },
  { "3 リピート",	"キーリピートの間隔の設定",	NULL, dmenuSubmenu, NULL, &MenuSysconsKeyrate },
  { "4 セーバ",		"スクリーンセーバの設定",	NULL, dmenuSubmenu, NULL, &MenuSysconsSaver },
  { "5 スクリーンマップ",	"スクリーンマップの選択",	NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
#endif
  { NULL } },
};

#ifndef PC98
DMenu MenuSysconsKeymap_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "システムコンソールキーマップ",
    /* AT 日本語版のメッセージと異なる */
    "FreeBSD のデフォルトシステムコンソールドライバ (syscons) は, デフォ\n"
    "ルトで標準の「アメリカ」のキーボードマップに設定されています. 他の\n"
    "国のユーザ (または別のキーボードを使用している人) は, これらのキー\n"
    "マップから選択することができます.\n"
    "インストーラ自身は ANSI文字セットの一部を使えるようにするのに必要な\n"
    "部分のみ使うものであることに注意. ただし希望したマップは後の (仕上げ\n"
    "の) ため保存されます.",
    /* "キーボードマップの選択", */
    "キーボードマップを選択して下さい",
    NULL,
{ { "Belgian", "ベルギー ISOキーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=be.iso" },
  { " Brazil CP850", "ブラジル CP850キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=br275.cp850" },
  { " Brazil ISO (accent)",	"ブラジル ISO キーマップ (accent keys)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=br275.iso.acc" },
  { " Brazil ISO", "ブラジル ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=br275.iso" },
  { "Croatian ISO", "クロアチア ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=hr.iso" },
  { "Danish CP865", "デンマーク コードページ 865 キーマップkeymap", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=danish.cp865" },
  { " Danish ISO", "デンマーク ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=danish.iso" },
  { "Estonian ISO", "エストニア ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=estonian.iso" },
  { " Estonian ISO 15", "エストニア ISO 8859-15 キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=estonian.iso15" },
  { " Estonian CP850", "エストニア Code Page 850 キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=estonian.cp850" },
  { " Finnish CP850", "Finnish Code Page 850 キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=finnish.cp850" },
  { " Finnish ISO", "Finnish ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=finnish.iso" },
  { " French ISO (accent)", "フランス ISO キーマップ (accent keys)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=fr.iso.acc" },
  { " French ISO", "フランス ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=fr.iso" },
  { "German CP850", "ドイツ コードページ 850 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=german.cp850"	},
  { " German ISO", "ドイツ ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=german.iso" },
  { "Hungarian 101", "ハンガリー ISO キーマップ (101 key)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=hu.iso2.101keys" },
  { " Hungarian 102", "ハンガリー ISO キーマップ (102 key)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=hu.iso2.102keys" },
  { "Icelandic (accent)", "アイスランド ISO キーマップ (accent keys)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=icelandic.iso.acc" },
  { " Icelandic",	"アイスランド ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=icelandic.iso" },
  { " Italian", "イタリア ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=it.iso" },
  { "Latin American", "ラテンアメリカ ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=lat-amer" },
  { "Japanese 106", "日本 106 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=jp.106" },
  { "Norway ISO", "ノルウェー ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=norwegian.iso" },
  { "Polish ISO", "ポーランド ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=pl_PL.ISO_8859-2" },
  { " Portuguese (accent)", "ポルトガル ISO キーマップ (accent keys)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=pt.iso.acc" },
  { " Portuguese", "ポルトガル ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=pt.iso" },
  { "Russia CP866", "ロシア CP866 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=ru.cp866" },
  { " Russia KOI8-R", "ロシア KOI8-R キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=ru.koi8-r" },
  { "Slovenian", "Slovenian ISO キーマップ",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=si.iso.acc" },
  { " Spanish (accent)", "スペイン ISO キーマップ (accent keys)",	dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=spanish.iso.acc" },
  { " Spanish", "スペイン ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=spanish.iso" },
  { " Swedish CP850", "スウェーデン コードページ 850 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swedish.cp850" },
  { " Swedish ISO", "スウェーデン ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swedish.iso" },
  { " Swiss French ISO (accent)", "スイス フランス語 ISO キーマップ (accent keys)", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissfrench.iso.acc" },
  { " Swiss French ISO", "スイス フランス語 ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissfrench.iso" },
  { " Swiss French CP850", "スイス フランス語 Code Page 850 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissfrench.cp850" },
  { " Swiss German ISO (accent)", "スイス ドイツ語 ISO キーマップ (accent keys)", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissgerman.iso.acc" },
  { " Swiss German ISO", "スイス ドイツ語 ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissgerman.iso" },
  { " Swiss German CP850", "スイス ドイツ語 Code Page 850 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=swissgerman.cp850" },
  { "U.K. CP850", "イギリス コードページ 850 キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=uk.cp850" },
  { " U.K. ISO", "イギリス ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=uk.iso" },
  { " U.S. Dvorak", "アメリカ Dvorak キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=us.dvorak" },
  { " U.S. ISO", "アメリカ ISO キーマップ", dmenuVarCheck, dmenuSetKmapVariable, NULL, "keymap=us.iso" },
  { NULL } },
};

DMenu MenuSysconsKeyrate_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "システムコンソールキーボードリピートレート",
"このメニューで, キーが押され続けた時のリピートの速度を設定できます.",
    "キーボードリピートレートを選択して下さい",
    NULL,
{ { "L 低速", "低速のキーボードリピートレート", dmenuVarCheck, dmenuSetVariable, NULL, "keyrate=slow" },
  { "N 通常", "「通常の」キーボードリピートレート", dmenuVarCheck, dmenuSetVariable, NULL, "keyrate=normal" },
  { "H 高速", "高速のキーボードリピートレート", dmenuVarCheck, dmenuSetVariable, NULL, "keyrate=fast" },
  { "D デフォルト", "デフォルトのキーボードリピートレート", dmenuVarCheck, dmenuSetVariable, NULL, "keyrate=NO" },
  { NULL } },
};
#endif	/* PC98 */

DMenu MenuSysconsSaver_j = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "システムコンソールスクリーンセーバ",
"デフォルトでは, コンソールドライバはアイドル状態になった時でも特別な処理を
行ないません. もしあなたがモニタを電源オンの状態のまま長く放置しておくので
あれば, 焼き付きを防ぐためにこれらのスクリーンセーバのうちのどれかを有効化
しておく必要があるかも知れません.",
    "スクリーンセーバを選択して下さい",
    NULL,
{
#ifdef PC98
  { "1 ブランク",	"単にスクリーンをブランクにするだけ",
	dmenuVarCheck, configSaver, NULL, "saver=blank" },
  { "2 デーモン",	"\"BSD デーモン\" アニメスクリーセーバ (テキスト)",
	dmenuVarCheck, configSaver, NULL, "saver=daemon" },
  { "3 スネーク",	"FreeBSD 「スネーク」を画面に描く",
	dmenuVarCheck, configSaver, NULL, "saver=snake" },
  { "4 スター",	"「キラキラ星」効果",
	dmenuVarCheck, configSaver, NULL, "saver=star" },
#else
  { "1 ブランク",	"単にスクリーンをブランクにするだけ",
	dmenuVarCheck, configSaver, NULL, "saver=blank" },
  { "2 デーモン",	"\"BSD デーモン\" アニメスクリーセーバ (テキスト)",
	dmenuVarCheck, configSaver, NULL, "saver=daemon" },
  { "3 Fade",		"Fade out effect screen saver",
	dmenuVarCheck, configSaver, NULL, "saver=fade" },
  { "4 Fire",		"Flames effect screen saver",
	dmenuVarCheck, configSaver, NULL, "saver=fire" },
  { "5 Green",	"\"Green\" 省電力モード (モニタがサポートしている場合)",
	dmenuVarCheck, configSaver, NULL, "saver=green" },
  { "6 Logo",		"\"BSD Daemon\" animated screen saver (graphics)",
	dmenuVarCheck, configSaver, NULL, "saver=logo" },
  { "7 Rain",		"Rain drops screen saver",
	dmenuVarCheck, configSaver, NULL, "saver=rain" },
  { "8 スネーク",	"FreeBSD 「スネーク」を画面に描く",
	dmenuVarCheck, configSaver, NULL, "saver=snake" },
  { "9 スター",	"「キラキラ星」効果",
	dmenuVarCheck, configSaver, NULL, "saver=star" },
  { "W Warp",	"A \"stars warping\" effect",
	dmenuVarCheck, configSaver, NULL, "saver=warp" },
#endif
  { "T タイムアウト",	"スクリーンセーバのタイムアウト間隔を指定する",
	NULL, configSaverTimeout, NULL, NULL, ' ', ' ', ' ' },
  { NULL } },
};

#ifndef	PC98
DMenu MenuSysconsScrnmap = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "システムコンソールスクリーンマップ",
    /*"特定のフォントをロードしない場合, 大部分の PC ではデフォルトで\n"
    "IBM 437 文字セットの文字を表示します. しかしながら, Unix の世界\n"
    "では この文字セットは滅多に使われません. 大部分の西ヨーロッパの\n"
    "国々では, 例えば ISO 8859-1 が好まれます.\n"
    "下半分の文字が ANSI のそれであるために, アメリカのユーザは違いに\n"
    "気がつきません.\n"
    "あなたのハードウェアで新しいフォントをダウンロードすることが可能\n"
    "なら, オプションを選択すると良いでしょう. しかしながら, これが\n"
    "不可能なハードウェア (e.g. モノクロアダプタ) では, スクリーン\n"
    "マップは あなたのハードウェアで表示できる最も良く似た文字を表示\n"
    "するでしょう.",*/
"特別なフォントをロードしない場合は, ほとんどの PC ハードウェアはデ
フォルトで IBM 437 文字セットを表示します. しかし Unix の世界では,
この文字セットはほとんど全く使用されていません. 例えば, ほとんどの
西ヨーロッパ諸国では, ISO 8859-1 が使用されています. この文字セッ
トの下半分は ANSI であるため, アメリカのユーザはこの違いに注目する
ことは稀でしょう.
もしあなたのハードウェアが新しい表示フォントをロードできる場合は,
これらのオプションを選択することができます. しかし, このようなこと
が不可能な場合 (例: 白黒アダプタ) では, あなたのハードウェアででき
る限り最高の策をとることになるでしょう.",
    "スクリーンマップを選択して下さい",
    NULL,
{ { "N なし", "スクリーンマップなし, デフォルトのフォントを使用", dmenuVarCheck, dmenuSetVariable, NULL, "scrnmap=NO" },
  { "K KOI8-R to IBM866", "ロシア KOI8-R を IBM 866 スクリーンマップに", dmenuVarCheck, dmenuSetVariable, NULL, "scrnmap=koi8-r2cp866" },
  { "I ISO 8859-1 to IBM437", "西欧 ISO 8859-1 を IBM 437 スクリーンマップに", dmenuVarCheck, dmenuSetVariable, NULL, "scrnmap=iso-8859-1_to_cp437" },
  { NULL } },
};

DMenu MenuSysconsFont = {
    DMENU_RADIO_TYPE | DMENU_SELECTION_RETURNS,
    "システムコンソールフォント",
    /*"特定のフォントをロードしない場合, 大部分の PC ではデフォルトで\n"
    "IBM 437 文字セットの文字を表示します. しかしながら, Unix の世界\n"
    "では この文字セットは滅多に使われません. 大部分の西ヨーロッパの\n"
    "国々では, 例えば ISO 8859-1 が好まれます.\n"
    "下半分の文字が ANSI のそれであるために, アメリカのユーザは違いに\n"
    "気がつきませんが, 30または 50行で使用するためにフォントをロード\n"
    "したいかもしれません.\n"
    "もし あなたのハードウェアが新しいフォントをダウンロードする機能を\n"
    "持つなら, 以下から適当なフォントを選ぶ事ができます.",*/
"特別なフォントをロードしない場合は, ほとんどの PC ハードウェアはデ
フォルトで IBM 437 文字セットを表示します. しかし Unix の世界では,
この文字セットはほとんど全く使用されていません. 例えば, ほとんどの
西ヨーロッパ諸国では, ISO 8859-1 が使用されています. この文字セッ
トの下半分は ANSI であるため, アメリカのユーザはこの違いに注目する
ことは稀でしょう. しかしこのような場合であっても, 30 行や 50 行の
ディスプレイを使用したい場合には, フォントをロードする必要があるで
しょう.
もしあなたのハードウェアが新しい表示フォントをロードできる場合は,
これらのフォントのうち適当なものを選択することができます.",
    "フォントを選択して下さい",
    NULL,
{ { "1 無し", "デフォルトのフォントを使う", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=NO,font8x14=NO,font8x16=NO" },
  { "2 IBM 437", "英語", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=cp437-8x8,font8x14=cp437-8x14,font8x16=cp437-8x16" },
  { "3 IBM 850", "西ヨーロッパ, IBM エンコーディング", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=cp850-8x8,font8x14=cp850-8x14,font8x16=cp850-8x16" },
  { "4 IBM 865", "ノルウェー, IBM エンコーディング", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=cp865-8x8,font8x14=cp865-8x14,font8x16=cp865-8x16" },
  { "5 IBM 866", "ロシア, IBM エンコーディング", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=cp866-8x8,font8x14=cp866-8x14,font8x16=cp866-8x16" },
  { "6 ISO 8859-1", "西ヨーロッパ, ISO エンコーディング", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=iso-8x8,font8x14=iso-8x14,font8x16=iso-8x16" },
  { "7 KOI8-R", "ロシア, KOI8-R エンコーディング", dmenuVarCheck, dmenuSetVariables, NULL,
    "font8x8=koi8-r-8x8,font8x14=koi8-r-8x14,font8x16=koi8-r-8x16" },
  { "8 SWISS", "英語, better resolution",	dmenuVarCheck,	dmenuSetVariables, NULL,
    "font8x8=swiss-8x8,font8x14=NO,font8x16=swiss-8x16" },
  { NULL } },
};
#endif

DMenu MenuUsermgmt_j = {
    DMENU_NORMAL_TYPE,
    "アカウントとユーザ・グループの管理",
    "このサブメニューではユーザ・グループとログイン・アカウントを\n"
    "操作できます.\n",
    "ユーザ・グループとアカウントの設定",
    NULL,
    { { "X 終了",		"このメニューを終了する (前の場所に戻る)", NULL, dmenuExit },
      { "U ユーザー",	"新しいアカウントをシステムに追加.",	NULL, userAddUser },
      { "G グループ",	"新しいユーザ・グループをシステムに追加.",	NULL, userAddGroup },
  { NULL } },
};

#ifdef AT_KANJI
DMenu MenuInstKbd = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "キーボードの種類を選択して下さい",	/* title */
    "日本語インストーラでは, インストーラが使用するキーボードの種類を選択する
ことができます. 現在, 101 英語キーボードと 106 日本語キーボードの選択が
可能となっています.
なお, ここで設定した内容はインストール後には反映されません. インストール
後も 106 キーボード配列を使用したい場合は, インストール作業終了後に「設
定」メニューから「キーマップ」を選択し, そこで「日本語 106 キーボード」
を選択して下さい. 101 英語キーボードの場合は特にこのような処理は必要あり
ません.",	/* prompt */
    "F1: 日本語版インストールフロッピーに関する解説",	/* help line */
    "japanese",	/* help file */
{ { "1 英語 101 キーボード", "インストールに英語 101 キーボードを使用",
      dmenuVarCheck, dmenuSetVariable, NULL, "instkbd=us" },
  { "2 日本語 106 キーボード", "インストールに日本語 106 キーボードを使用",
      dmenuVarCheck, dmenuSetVariable, NULL, "instkbd=jp" },
  { NULL } },
};
#endif /* AT_KANJI */

DMenu MenuFixit_j = {
    DMENU_NORMAL_TYPE,
    "fixit オプションを選択して下さい",
    "\"fixit\" モードに入るには 3通りの方法があります:\n"
    "- 2枚目の FreeBSD CDROM を使う事ができます, その場合には FreeBSD の\n"
    "  全コマンドとユーティリティをフルに利用できます,\n"
    "- より制限された (しかし恐らく専用化された) fixit フロッピを使うことが\n"
    "- できます, または緊急用のシェルを起動できます, その場合はすでに今すぐ\n"
    "  利用可能なコマンドのサブセットに制限されます.",
    "F1 を押すと修復の手順についてのより詳細な情報を表示します",
    "fixit",
{ { "X 終了",	"このメニューを終了する (前の場所に戻る)",		NULL, dmenuExit },
  { "1 CDROM",	"配布物の 2枚目の \"ライブ\" CDROMを使う",	NULL, installFixitCDROM },
  { "2 Floppy",	"fixit から作成されたフロッピを使う",		NULL, installFixitFloppy },
  { "3 Shell",	"緊急用ホログラフィック・シェルを起動する",	NULL, installFixitHoloShell },
  { NULL } },
};

#ifdef PCCARD
DMenu MenuPCICMem_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "PC カードコントローラが使用するフリーなアドレスを指定して下さい",
    "PC カードコントローラはカード情報を得るためにメモリ領域を使用しま\n"
    "す. 他のデバイスによって使用されていないアドレスを指定して下さい.\n"
    "もしあなたのハードウェアに対して詳しい仕様がわからない場合は, その\n"
#ifdef PC98
    "ままにしておいてください (デフォルト == 0xd0000).\n"
    "PC98 NS/A, Ne, NX/C, NL/R を使用しているならば, ここでは [DA] を指\n"
    "定して下さい",
#else /* PC98 */
    "ままにしておいてください (デフォルト == 0xd0000).",
#endif /* PC98 */
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "Default", "I/O address 0xd0000 - 0xd3fff",
	    NULL, dmenuSetVariable, NULL, "pcicmem=0"},
	{ "D4", "I/O address 0xd4000 - 0xd7fff",
	    NULL, dmenuSetVariable, NULL, "pcicmem=1"},
	{ "D8", "I/O address 0xd8000 - 0xdbfff",
	    NULL, dmenuSetVariable, NULL, "pcicmem=2"},
	{ "DC", "I/O address 0xdc000 - 0xdffff",
	    NULL, dmenuSetVariable, NULL, "pcicmem=3"},
#ifdef PC98
	{ "DA", "I/O address 0xda000 - 0xdbfff",
	    NULL, dmenuSetVariable, NULL, "pcicmem=4"},
#endif /* PC98 */
	{ NULL } },
};

#ifdef USERCONFIG_IGNIRQ
DMenu MenuCardIgnoreIRQ_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "PC カードコントローラが使用できない IRQ を設定して下さい",
    "PC カード用に利用することができない IRQ を選択して下さい.",
    "F1 でさらに詳しいヘルプ",
    "pccard",
#ifdef PC98
    {	{ "IRQ  3(INT  0)", "2nd シリアル, 内蔵モデム",
	    dmenuFlagCheck, dmenuSetFlag, NULL, &pccard_ignirq, '[', 'X', ']', (1<<3)},
    	{ "IRQ  5(INT  1)", "赤外線通信, SCSI インタフェース",
	    dmenuFlagCheck, dmenuSetFlag, NULL, &pccard_ignirq, '[', 'X', ']', (1<<5)},
    	{ "IRQ  6(INT  2)", "PC カードコントローラ (デフォルト)",
	    dmenuFlagCheck, dmenuSetFlag, NULL, &pccard_ignirq, '[', 'X', ']', (1<<6)},
    	{ "IRQ 10(INT 41)", "(空き)",
	    dmenuFlagCheck, dmenuSetFlag, NULL, &pccard_ignirq, '[', 'X', ']', (1<<10)},
    	{ "IRQ 12(INT  5)", "内蔵サウンド",
	    dmenuFlagCheck, dmenuSetFlag, NULL, &pccard_ignirq, '[', 'X', ']', (1<<12)},
#else /*PC98*/
#i386 support has not been implemented yet!!
#endif /*PC98*/
	{ NULL } },
};
#else /*USERCONFIG_IGNIRQ*/
DMenu MenuCardIRQ_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "Please select IRQs that CANNOT be used by PC-cards",
    "PC カードが使用「できない」IRQ を指定して下さい. たとえば, もしこ \n"
    "のインストールフロッピーによって検出できないサウンドカードがあり\n"
    "これが IRQ 5 を使用しているならば, このメニューから IRQ 5 を選択す\n"
    "る必要があります. もし CardBus マシンを使用しているならば,\n"
    "「Option 3」あるいは「Option 4」を選択する必要があるかも知れません.\n",
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "Default", "IRQ は 1 つも予約されていません",
	    NULL, dmenuSetVariable, NULL, "cardirq=0"},
	{ "Option 1", "IRQ 5 (例: IRQ 5 上にサウンドカード)",
	    NULL, dmenuSetVariable, NULL, "cardirq=1"},
	{ "Option 2", "IRQ 10 (例: IRQ 10 上にサウンドカード)",
	    NULL, dmenuSetVariable, NULL, "cardirq=2"},
	{ "Option 3", "IRQ 1-9 (例: CardBus マシン)",
	    NULL, dmenuSetVariable, NULL, "cardirq=3"},
	{ "Option 4", "IRQ 1-10 (例: CardBus マシン)",
	    NULL, dmenuSetVariable, NULL, "cardirq=4"},
	{ NULL } },
};
#endif /*USERCONFIG_IGNIRQ*/

DMenu MenuReplaceEtc_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "PC カードのための新しい /etc ファイルをインストールしますか？",
    "FreeBSD 上で PC カードを使用するには, いくつかの /etc ファイルを新\n"
    "しいバージョンに入れ換える必要があります. この作業を自動的に行なっ\n"
    "ていいでしょうか？ もしこの作業を行ないたくない場合は, [Cancel] を\n"
    "選択して下さい.\n"
    "警告： この操作は /etc/rc.conf に対して行なった操作 (例: ホスト\n"
    "名, IP アドレス, キーボードコンフィギュレーションなど) をすべて無\n"
    "効化してしまいます. オリジナルの /etc/rc.conf は\n"
    "/etc/rc.conf.orig にバックアップされます.\n"
    "新しい /etc/rc.conf を手で修正してください. すみません.\n",
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "R 置換", "/etc ファイルを置き換える",
	    NULL, replaceEtc },
	{ NULL } },
};

#define ShortREV	"34r98"
DMenu MenuBackupKernel_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "カーネルソースをバックアップしますか？",
    "PC カードサポートを有効化するには, カーネルソースに対してパッチを\n"
    "当てて, 再コンパイルしなければなりません. もし, パッチを当てる前に\n"
    "オリジナルのカーネルソースのバックアップをとっておきたい場合は,\n"
    "「B バックアップ」を選択して下さい. もしこれを望まない場合 (例えば\n"
    "ディスクが少ない場合など) は [Cancel] ボタンを選択して下さい.",
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "B バックアップ", 
	    "カーネルソースを/usr/src/sys."ShortREV"にバックアップ",
	    NULL, makeBackup },
	{ NULL } },
};

DMenu MenuPatchKernel_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "新しいカーネルのコンパイルとインストールを行ないますか？",
    "このインストーラは, カーネルソースに対してパッチをあて, そのカーネルに\n"
    "入れ換えたりする作業を自動的に行なうことが出来ます. もしこの作業を自動\n"
    "的に行ないたくない場合は, [Cancel] ボタンを選択して下さい. そうでなけ\n"
    "れば「続行」を選択することで作業を続行できます. 昔のカーネルは,\n"
    "/kernel.old という名前で保存されます. もし新しいカーネルで何らかの問題\n"
    "が生じた場合は, boot プロンプトで kernel.old とタイプすることで, 昔の\n"
    "カーネルでブートすることが出来ます.",
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "P 続行",
	    "新カーネルへのパッチの適用, コンパイル, インストールを行なう",
	    NULL, replaceKernel },
	{ NULL } },
};

DMenu MenuBinInstall_j = {
    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
    "ラップトップ用のシステムバイナリをインストールしますか？",
    "このインストーラは 2 つのシステムバイナリ (apm と shutdown) を置き換え,\n"
    "1 つの新しいシステムバイナリをインストールします. もしこの作業を行ない\n"
    "たくない場合は, [Cancel] ボタンを選択して下さい. そうでない場合は「続\n"
    "行」を選択して作業を続行して下さい.",
    "F1 でさらに詳しいヘルプ",
    "pccard",
    {	{ "P 続行", "新しいシステムバイナリをインストールする",
	    NULL, installBin },
	{ NULL } },
};

#define PCCARD_RC_CONF_APM		0x0001
#define PCCARD_RC_CONF_PCCARD		0x0002
#ifdef PC98
#define PCCARD_RC_CONF_PCICMEM		0x0004  
#endif /* PC98 */

DMenu MenuPCCardSysconfig_j = {
    DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS,
    "PC カードの設定",
    "APM と PC カードのサポートを有効化/無効化します. もしネットワーク\n"
    "の自動設定などの機能を使用したい場合は, PAO-FAQ\n"
    "(http://www.jp.FreeBSD.org/PAO/#faq) を参照して下さい. なお, APM \n"
    "の実装の中には質の悪いものが存在しているということに注意して下さい.\n"
    "このようなマシンで APM を有効化することは, システムクラッシュを引\n"
    "き起こすでしょう. もしこのようなマシンで APM を有効化させてしまっ\n"
    "た場合は, UserConfig [Boot: -c] のスクリーンから APM ドライバを無\n"
#ifdef PC98
    "効化して下さい.\n"
    "PC98 NS/A, Ne, NX/C, NL/R を使用しているならば, PC カードコントロ\n"
    "ーラ が使用する I/O アドレスを 0xda000 に設定して下さい.",
#else /* PC98 */
    "効化して下さい.",
#endif /* PC98 */
    "F1 でさらに詳しいヘルプ",
    "pccard",
    { { "A APM 有効化",	"APM (高度な電源管理) BIOS を有効化する",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &pccardRC_conf, '[', 'X', ']', PCCARD_RC_CONF_APM },
      { "P PC カード有効化",	"PC カード (PCMCIA) 管理を有効化する",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &pccardRC_conf, '[', 'X', ']', PCCARD_RC_CONF_PCCARD},
#ifdef PC98
      { "C PCIC I/O アドレス", "PCIC I/O アドレスを 0xda000 に設定する",
	dmenuFlagCheck,	dmenuSetFlag, NULL, &pccardRC_conf, '[', 'X', ']', PCCARD_RC_CONF_PCICMEM},
#endif /* PC98 */
      { NULL } },
};
#endif /* PCCARD */
