#
#    Translators, if you are not familiar with the PO format, gettext
#    documentation is worth reading, especially sections dedicated to
#    this format, e.g. by running:
#         info -n '(gettext)PO Files'
#         info -n '(gettext)Header Entry'
#
#    Some information specific to po-debconf are available at
#            /usr/share/doc/po-debconf/README-trans
#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
#
#    Developers do not need to manually edit POT or PO files.
#
msgid ""
msgstr ""
"Project-Id-Version: fontconfig\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-03-10 19:01-0800\n"
"PO-Revision-Date: 2005-04-01 09:12+0900\n"
"Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Type: select
#. Choices
#: ../fontconfig.templates:3
msgid "Native, Autohinter, None"
msgstr "ネイティブ, オートヒント, なし"

#. Type: select
#. Description
#: ../fontconfig.templates:5
msgid "How should fonts be tuned for the screen?"
msgstr "画面に対してフォントを調整しますか?"

#. Type: select
#. Description
#: ../fontconfig.templates:5
msgid ""
"Select Native if you mostly use Bitstream Vera (the default in Debian) or "
"any of the Microsoft fonts.  Select Autohinter if you mostly use other "
"TrueType fonts.  Select None if you want blurry text."
msgstr "Bitstream Vera (Debian のデフォルト) または Microsoft のフォントをよく使うのであれば、ネイティブを選びます。その他の TrueType フォントをよく使うのであれば、オートヒントを選びます。ぼんやりしたテキストでもよいなら、なしを選びます。"

#. Type: select
#. Choices
#: ../fontconfig.templates:12
msgid "Automatic, Always, Never"
msgstr "自動, 常に, なし"

#. Type: select
#. Description
#: ../fontconfig.templates:14
msgid "Enable subpixel rendering of text?"
msgstr "テキストのサブピクセルレンダリングを有効にしますか?"

#. Type: select
#. Description
#: ../fontconfig.templates:14
msgid ""
"Rendering text at a subpixel level generally makes it look a bit better on "
"flat (LCD) screens, but can show color artifacts on CRT screens. The "
"\"Automatic\" choice will enable it only if a LCD screen is detected."
msgstr "サブピクセルレベルでテキストを描画すると、一般にフラット (LCD) 画面で少し見栄えが良くなりますが、CRT 画面では、文字に色が散りばめられたように見えてしまいます。「自動」を選ぶと、LCD 画面を検出したときのみにこれを有効にします。"

#. Type: boolean
#. Description
#: ../fontconfig.templates:22
msgid "Enable bitmapped fonts by default?"
msgstr "デフォルトでビットマップフォントを有効にしますか?"

#. Type: boolean
#. Description
#: ../fontconfig.templates:22
msgid ""
"By default, only outline fonts are used by applications which support "
"fontconfig.  Outline fonts are fonts which scale well to various sizes.  In "
"contrast, bitmapped fonts are often lower quality. Enabling this option will "
"affect the systemwide default; this and many other fontconfig options may be "
"enabled or disabled on a per-user basis."
msgstr ""
"デフォルトでは、アウトラインフォントのみが fontconfig をサポートするアプリ"
"ケーションで使われます。アウトラインフォントはさまざまなサイズに合わせて大き"
"さの変わるフォントです。対照的にビットマップフォントはたいてい低品質です。こ"
"の選択肢を有効にすると、システム全体のデフォルトに波及します。これとほかの多"
"くの fontconfig の選択肢は基本的にユーザごとに有効、無効にできます。"
