AmigaDOS, AmigaOS, Workbench
 Cómo se crea y se traduce un catalog
Anterior
MenĂº
Logotipo

Autor: Josep Subirats i Ferré

Introducción
Requerimientos del sistema
Instalación
Iniciando Catcomp
Información sobre el catalog
Ejemplo
Consejos
Traducciones comunes
Agradecimientos
Historia

Introducción

Muchos programas en Amiga llevan los denominados 'catalogs', estos archivos contienen los menús, botones y variantes del programa en diversos idiomas, para facilitar mucho más su uso. Incluso el mismo Workbench a partir de la versión 2.1 ya lleva los catalogs, que hace que cada usuario lo configure en su primera instalación en el idioma que desee.

Así, aquí en España podemos encontrar el Worbench en español y en catalán, también podría estar en galego o euskera si algún usuario se hubiera molestado en traducir los catalogs del Worbench.

En esta guía, creada básicamente dede 0, ya que ahora mismo mis conocimientos sobre la traducción de catalogs esta muy,pero que muy verde.

Así que he pedido ayuda a dos expertos, uno vía newsgroups y el otro por el IRC para que me ayudasen a introducirme en este campo y así poder crear esta Guía del usuario para aquellos que como yo, pues puedan aportar su granito de arena desinterado en este maravilloso mundo.


Requerimientos del sistema

Para la traducción de catalogs usaremos dos programas:

- Catcomp (programa estándar de Commodore para la creación de catalogs para el sistema)

- Editor de textos (nos vale cualquier programa como el CygnusED)


Instalación

Procederemos a instalar el programa Catcomp en nuestro directorio C del Workbench. Una vez copiado el programa Catcomp instalaremos el editor de textos en nuestro Amiga; también nos vale el mismo editor que lleva el Worbench, pero... es mucho más cómodo usar alguno comercial o freeware como el ya nombrado CygnusEditor. Este último es comercial.


Iniciando Catcomp

Vayamos por partes: para crear un catálogo al estilo del sistema operativo lo primero que necesitas es el fichero llamado "descriptor del catálogo" (#?.cd)... algunos autores lo incluyen en el paquete del programa, otros lo suministran sólo si les pide y otros sencillamente no te los suministran o el que te ofrecen no te sirve (lenguaje incomprensible, no actualizado, etc.), en cuyo caso puedes abandonar o recurrir a la reconstrucción del fichero descriptor siempre que el autor del paquete no se oponga.

También hay casos en los que el autor no incluye soporte local a su programa, que éste es limitado o que utiliza un sistema propio para dar soporte local (son pocos casos, pero aquí el autor tendrá que explicarte cómo funciona).

Así, pues... una vez tengamos el catalog master, que es un fichero que estará en el programa normalmente en el directorio Locale, nombrado como #?.cd, procederemos a hacer una copia de este y ponerlo en la RAM, una vez tenemos una copia del #?.cd en la ram, pues... vamos a por él.

Desde CLI/Shell:

Escribiremos lo siguiente:

Supongamos que el catalog a traducir es del programa Player, así que en principio el catalog master sera player.cd, pues en la shell escribiremos lo siguiente:

catcomp player.cd CTFILE=player.ct

Una vez hecho esto el programa catcomp nos creará el fichero con el cual hemos de empezar a traducir con la ayuda del editor de textos.

Con el editor de textos iremos traduciendo lo que queda abajo de los menús, es decir debes añadir la traducción en la línea siguiente de la etiqueta sin dejar líneas en blanco.

Una vez traducido el fichero player.ct deberás crear el catalog también con este comando:

catcomp player.cd player.ct CATALOG=player.catalog

Con esto consegiremos que el programa Catcomp nos creé el catalog final que irá dentro de Worbench:Locale/catalog y hará que cada vez que arranquemos el programa Player nos aparezca el catalog en el idioma al cual lo hemos traducido.


Información sobre el catalog

Veras que una vez crees el fichoero #?.ct te aparecen unos parametros nuevos y sin valor, al principio de la cadena.

Estos parámetros son:

## version $VER: XX.catalog XX.XX (XX.XX.XX)
## codeset X
## language X

En versión ponemos la versión del propio programa, por ejemplo, con IBrowse 2.3, he definido el catálogo como versión 2.3... sin embargo, no es una regla fija, y puede que el programa no acepta el catálogo... en Tales of Tamar, por ejemplo debo poner la que se incluye como comentario en el fichero descriptor o no funcionará.

En codeset siempre lo defino con el valor cero (0). Es un campo pensado para juegos de caracteres alternativos al ISO Latin 1 y no es nuestro caso.

Y en language, sustituyo la X por el idioma al que voy a traducir el catalog.

Y esto nos podría quedar así

## version $VER: player.catalog 01.00 (07.02.03) <[email protected]>
## codeset 0
## language español

Líneas de muestra de un fichero #?.cd ...

MSG_ERROR_NO_ASCII (//)           <-  Etiqueta
Can't open file\n\                <-|
'%s',\n\                          <-| Texto original a traducir
not an ASCII file!                <-|
;                                 <-  Comentario
MSG_MENU_PROJECT (/5/10)
Project
;
Líneas de muestra del fichero #?.ct asociado...
MSG_ERROR_NO_ASCII
¡Imposible abrir fichero\n\
`%s':\n\
el objeto no es un fichero ASCII!
; Can't open file\n\
; '%s',\n\
; not an ASCII file!
;
MSG_MENU_PROJECT
Proyecto
; Project
  

¿Qué significa (//) y (/5/10) después de las etiquetas en el fichero #?.cd?

El primer valor (ausente en ambos casos) indica el código numérico que identifica (realmente) a la cadena: si no se indica ninguno comenzará desde la unidad y se incrementará el valor de unidad en unidad (o sea, 1, 2, etc.)

El segundo valor indica la longitud mínima de la cadena (en la primera no hay valor mínimo, en la segunda no podrá ocupar menos de 5 caracteres).

El tercer valor indica la longitud máxima de la cadena (en el primer caso no hay valor máximo, en el segundo la longitud máxima es de 10 caracteres).

¿Qué significa \n, \ec, \ al final de una línea, %s, etc.?

Son códigos al estilo del C: \n es un salto de línea (nueva línea), \ec es el código ESCape seguido del carácter "c" que en ciertos entornos puede tener algún efecto especial (si no recuerdo mal en MUI es una línea centrada), \ al final de una línea señala que la cadena no termina y que continúa en la siguiente línea (*), %s representa a una cadena variable (el programa sustituirá estos caracteres por el valor de la variable al ejecutarse el programa)...

(*) Un error muy habitual es añadirlo en todas las líneas, incluyendo la última de la traducción de manera que el programa de catálogos toma la siguiente como parte de la traducción al generar el catálogo y lo genera incorrectamente o sencillamente se interrumpe el proceso con un error... ¡ojo!


Ejemplo

## version $VER: TheMPEGencGUI.catalog 01.00 (6.02.03) by Forkens
<[email protected]>
## codeset 0
## language español
;
MN_Project
Proyecto
; Project
;
MN_Openfilelist
Abrir la lista de ficheros...
; Open file list window...
;
MN_OpenID3Tag
Editor de etiquetas ID3...
; Open ID3 Tag Editor...
; Literalmente "Abrir el editor de etiquetas ID3..."
;
MN_Preferences
Preferencias...
; Preferences...
[...]
  


Consejos

Algunos consejos más...

  1. Si reconstruyes un fichero descriptor (#?.cd) ten en cuenta que hoy en día hay bastantes programas que acceden sólo a las cadenas del catálogo que necesitan CUANDO las necesitan... de manera que tendrás que ir probando todas las opciones del programa para que CatEdit en su modo de espionaje de catálogos pueda capturar todas las cadenas... es tedioso y probablemente obtengas catálogos parciales que puedes ir completando con el tiempo al ir descubriendo nuevas cadenas.

  2. Si traduces al español, procura evitar el "spanglish", y si utilizas barbarismos porque no queda más remedio recuerda que deberían ir señalados de forma especial (en cursiva, entre comillas, etc.).

  3. No tengas miedo a acuñar nuevos términos en español, pero aprovecha los que ya existen (y existen muchos, aunque a veces casi ni se utilicen) y de crearlos procura no ser muy "fantasioso" porque por tener una visión parcial del concepto puede que la elección del término te de quebraderos de cabeza en el futuro... te podré un ejemplo propio: en mis primeros trabajos traduje "datatypes" como "filtros del sistema operativo" porque me pareció que era su única función... desgraciadamente son algo más que eso así que con el tiempo opté por elegir una traducción (más) literal. También para habituar a los usuarios de mis catálogos a los términos españoles, especialmente en los manuales, he añadido el término en inglés (más cercano para ellos, por desgracia) entre paréntesis y en cursiva.

  4. Prueba los catálogos especialmente con la tipografía topaz 8 y con pantallas de 640x256 puntos y asegúrate que la versión del catálogo generado es correcta... o a muchos usuarios no les funcionará, los verán mal o incluso se les bloqueará la aplicación.

  5. Lo de añadir en la versión el autor es opcional

  6. Yo suelo alternar en el campo versión mayúsculas y minúsculas en el nombre del catálogo para hacerlo más legible sobre todo cuando son varias palabras unidas.

  7. No sé si existe algún tipo de "protocolo" sobre el formato de fechas, pero a mí me gusta el formato simplificado.


Traducciones comunes

Aquí tienes algunos ejemplo de las palabras que más se traducen, ya que la mayoría de menús de los programas son un poco parecidos. Como menciono en los apartados anteriores, intentaremos usar siempre las traducciones que usan los demás traductores, para que todos los programas tengan los mismos menús, y sobretodo intentaremos no hacer uso del 'spanglish', ya que si nos esmeramos un poco en nuestro trabajo e indagamos, ya veremos que casi todos los términos usados ya han sido usados por otros traductores.

Inglés -> Español

En construcción


Agradecimientos

Muchas gracias a las personas que me han ayudado, y que principalmente son dos:

- Dámaso Domínguez
y
- Zurt


Historia

1.0
- Primera publicación.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal