# translation of es.po to Spanish
# Spanish translations for PACKAGE package.
# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# David <deifo@ono.com>, 2005.
# David Rubio Miguélez <deifo@ono.com>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-04-12 12:18+0200\n"
"PO-Revision-Date: 2005-04-12 20:26+0200\n"
"Last-Translator: David Rubio Miguélez <deifo@ono.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.10\n"

#: t_options.h:53
msgid "Debugging"
msgstr "Depurando"

#: t_options.h:57
msgid "Disable 3D acceleration"
msgstr "Desactivar aceleración 3D"

#: t_options.h:62
msgid "Show performance boxes"
msgstr "Mostrar cajas de rendimiento"

#: t_options.h:69
msgid "Image Quality"
msgstr "Calidad de imagen"

#: t_options.h:77
msgid "Texture color depth"
msgstr "Profundidad de color de textura"

#: t_options.h:78
msgid "Prefer frame buffer color depth"
msgstr "Preferir profundidad de color del \"framebuffer\""

#: t_options.h:79
msgid "Prefer 32 bits per texel"
msgstr "Preferir 32 bits por texel"

#: t_options.h:80
msgid "Prefer 16 bits per texel"
msgstr "Preferir 16 bits por texel"

#: t_options.h:81
msgid "Force 16 bits per texel"
msgstr "Forzar a 16 bits por texel"

#: t_options.h:87
msgid "Initial maximum value for anisotropic texture filtering"
msgstr "Valor máximo inicial para filtrado anisotrópico de textura"

#: t_options.h:92
msgid "Forbid negative texture LOD bias"
msgstr "Prohibir valores negativos de Nivel De Detalle (LOD) de texturas"

#: t_options.h:97
msgid "Enable S3TC texture compression even if software support is not available"
msgstr "Activar la compresión de texturas S3TC incluso si el soporte por software no está disponible"

#: t_options.h:104
msgid "Initial color reduction method"
msgstr "Método inicial de reducción de color"

#: t_options.h:105
msgid "Round colors"
msgstr "Colores redondeados"

#: t_options.h:106
msgid "Dither colors"
msgstr "Colores suavizados"

#: t_options.h:114
msgid "Color rounding method"
msgstr "Método de redondeo de colores"

#: t_options.h:115
msgid "Round color components downward"
msgstr "Redondear hacia abajo los componentes de color"

#: t_options.h:116
msgid "Round to nearest color"
msgstr "Redondear al color más cercano"

#: t_options.h:125
msgid "Color dithering method"
msgstr "Método de suavizado de color"

#: t_options.h:126
msgid "Horizontal error diffusion"
msgstr "Difusión de error horizontal"

#: t_options.h:127
msgid "Horizontal error diffusion, reset error at line start"
msgstr "Difusión de error horizontal, reiniciar error al comienzo de línea"

#: t_options.h:128
msgid "Ordered 2D color dithering"
msgstr "Suavizado de color 2D ordenado"

#: t_options.h:134
msgid "Floating point depth buffer"
msgstr "Búfer de profundidad en coma flotante"

#: t_options.h:140
msgid "Performance"
msgstr "Rendimiento"

#: t_options.h:148
msgid "TCL mode (Transformation, Clipping, Lighting)"
msgstr "Modo TCL (Transformación, Recorte, Iluminación)"

#: t_options.h:149
msgid "Use software TCL pipeline"
msgstr "Usar tubería TCL por software"

#: t_options.h:150
msgid "Use hardware TCL as first TCL pipeline stage"
msgstr "Usar TCL por hardware en la primera fase de la tubería TCL"

#: t_options.h:151
msgid "Bypass the TCL pipeline"
msgstr "Pasar por alto la tubería TCL"

#: t_options.h:152
msgid "Bypass the TCL pipeline with state-based machine code generated on-the-fly"
msgstr "Pasar por alto la tubería TCL con código máquina basado en estados generado al vuelo"

#: t_options.h:161
msgid "Method to limit rendering latency"
msgstr "Método para limitar la latencia de rénder"

#: t_options.h:162
msgid "Busy waiting for the graphics hardware"
msgstr "Esperar activamente al hardware gráfico"

#: t_options.h:163
msgid "Sleep for brief intervals while waiting for the graphics hardware"
msgstr "Dormir en intervalos cortos mientras se espera al hardware gráfico"

#: t_options.h:164
msgid "Let the graphics hardware emit a software interrupt and sleep"
msgstr "Permitir que el hardware gráfico emita una interrupción de software y duerma"

#: t_options.h:174
msgid "Synchronization with vertical refresh (swap intervals)"
msgstr "Sincronización con el refresco vertical (intervalos de intercambio)"

#: t_options.h:175
msgid "Never synchronize with vertical refresh, ignore application's choice"
msgstr "No sincronizar nunca con el refresco vertical, ignorar la elección de la aplicación"

#: t_options.h:176
msgid "Initial swap interval 0, obey application's choice"
msgstr "Intervalo de intercambio inicial 0, obedecer la elección de la aplicación"

#: t_options.h:177
msgid "Initial swap interval 1, obey application's choice"
msgstr "Intervalo de intercambio inicial 1, obedecer la elección de la aplicación"

#: t_options.h:178
msgid ""
"Always synchronize with vertical refresh, application chooses the minimum "
"swap interval"
msgstr "Sincronizar siempre con el refresco vertical, la aplicación elige el intervalo de intercambio mínimo"

#: t_options.h:186
msgid "Use HyperZ to boost performance"
msgstr "Usar HyperZ para potenciar rendimiento"

#: t_options.h:191
msgid "Number of texture units used"
msgstr "Número de unidades de textura usadas"

#: t_options.h:196
msgid "Enable hack to allow larger textures with texture compression on radeon/r200"
msgstr "Activar \"hack\" para permitir texturas más grandes con compresión de textura activada en la Radeon/r200"

#: t_options.h:201
msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
msgstr "Calidad de filtrado de textura vs. velocidad, alias filtrado \"brilinear\" de textura"

#: t_options.h:209
msgid "Used types of texture memory"
msgstr "Tipos de memoria de textura usados"

#: t_options.h:210
msgid "All available memory"
msgstr "Toda la memoria disponible"

#: t_options.h:211
msgid "Only card memory (if available)"
msgstr "Sólo la memoria de la tarjeta (si disponible)"

#: t_options.h:212
msgid "Only GART (AGP/PCIE) memory (if available)"
msgstr "Sólo memoria GART (AGP/PCIE) (si disponible)"

#: t_options.h:220
msgid "Features that are not hardware-accelerated"
msgstr "Características no aceleradas por hardware"

#: t_options.h:224
msgid "Enable extension GL_ARB_vertex_program"
msgstr "Activar la extensión GL_ARB_vertex_program"

#: t_options.h:229
msgid "Enable extension GL_NV_vertex_program"
msgstr "Activar extensión GL_NV_vertex_program"

