Éric
Bischoff
Rafael
Osuna

    rosuna@wol.es

Traductor
Miguel
Revilla Rodríguez

    yo@miguelrevilla.com

Traductor
2006-05-05
0.05.01
KDE
KTuberling
referencia técnica

# Referencia técnica

&ktuberling; ofrece una interesante y satisfactoria introducción a la personalización y programación de &kde;. Es posible extender la aplicación. Por ejemplo, sin necesidad de programar, se pueden añadir más zonas de juego cambiando los archivos de gráficos. ¡Añadiendo los archivos de sonido adecuados, los traductores pueden poner el audio en su propio idioma!

Si extiende o añade algo al juego, piense en enviar sus mejoras al desarrollador Albert Astals Cid para incluirlas en futuras versiones.

## Para los artistas

Para crear una zona de juego nueva debe hacer lo siguiente:

- Dibujar una zona de juego y guardarla en un archivo SVG, para lo que tiene que:

  - Llamar a los lugares en los que los elementos se pueden dibujar «background».

  - Dar nombre a cada uno de los elementos que se pueden dibujar con un nombre único.

- Crear un archivo .theme, de acuerdo al siguiente esquema:

      <playground gameboard="suArchivoSVG" name="elArchivoEscritorio">
          <object name="nombreElemento" sound="nombreSonido" scale="algúnValor" />
          ...
          ...
          ...
          </playground>

  - suArchivoSVG es el nombre del archivo SVG que contiene el dibujo.

  - elArchivoEscritorio es el nombre del archivo de escritorio que contiene el nombre del tema.

  - Para cada tipo de objeto necesitará una entrada <object>. nombreElemento es el nombre único utilizado en el archivo SVG, nombreSonido es el nombre del sonido que se reproducirá cuando lo arrastra. Consulte la sección sobre el sonido para obtener más información.

  - La escala es opcional, y algúnValor es el factor de escala que se utilizará cuando se dibuja este objeto fuera del almacén, si se especifica se utiliza 1.

- Crear un archivo .desktop, de acuerdo con el siguiente esquema

      [KTuberlingTheme]
          Name=nombreTema

  - nombreTema es el nombre que identifica el tema. Se mostrará en el menú Zona de juego.

- Si está añadiendo el tema al SVN de KTuberling, añada los archivos .svg, .theme, y .desktop a la sección FILES de CMakeLists.txt en la carpeta pics/

- Si quiere instalarlo por sí mismo, sitúe los archivos .svg, .theme y .desktop en `kde4-config --prefix`/share/apps/ktuberling/pics

## Para los traductores

Además del mecanismo habitual de archivos `.po` para la traducción de los mensajes escritos del programa, también es posible traducir los sonidos.

Para crear un tema nuevo con sonido para KTuberlling debe hacer lo siguiente:

- Grabar los sonidos.

- Crear un archivo .soundtheme, de acuerdo al siguiente esquema:

      <language code="suCódigoDeIdiomaDeDosLetras">
      <sound name="nombreSonido" file="rutaRelativa" />
      ...
      ...
      ...
      </language>

  - suCódigoDeIdiomaDeDosLetras es el código de dos letras de su idioma, por ejemplo, gl para Gallego.

  - Para cada sonido una entrada <sound>. nombreSonido debería coincidir con el nombreSonido especificado en la zona de juego (consulte el cómo crear temas). rutaRelativa debería ser la ruta relativa al lugar en el que se encuentra el archivo con este sonido, que suele ser algunaRutaÚnica/nombreSonido.formato (algunaRutaÚnica puede ser, por ejemplo, el código de dos letras de su idioma).

- Si está añadiendo el tema de sonido al SVN de KTuberling:

  - Añada los archivos de sonido y los archivos .sountheme a la carpeta data/kdegames/ktuberling de las traducciones de su idioma.

  - En este misma misma carpeta necesitará un CMakeLists.txt que describa cómo instalar los archivos, suele ser:

        install( FILES suArchivoSonido1 suArchivoSonido2 ... suArchivoSonidoN DESTINATION  ${DATA_INSTALL_DIR}/ktuberling/sounds/algunaRutaÚnica )
        install( FILES suArchivoDeTemaDeSonido DESTINATION ${DATA_INSTALL_DIR}/ktuberling/sounds/ )

- Si desea instalarlo por si mismo debe:

  - Situar los archivos .soundtheme en `kde4-config --prefix`/share/apps/ktuberling/sounds

  - Situar suArchivoSonido en `kde4-config --prefix`/share/apps/ktuberling/sounds/algunaRutaÚnica

Si quiere información sobre el funcionamiento de los mecanismos de traducción de &kde;, la encontrará disponible en The Translation HOWTO y en la traducción de &kde; al español.

## Para programadores

&ktuberling; resulta sencillo de extender por programadores.

### Clases C++

`TopLevel`

  Ventana de nivel principal y administración básica del programa.

`PlayGround`

  Descripción de uno de los niveles del juego.

`ToDraw`

  Descripción de uno de los «objetos» gráficos a dibujar.

`SoundFactory`

  Descripción de uno de los idiomas y sus sonidos.

`Action`

  Una de las manipulaciones del usuario en la pila deshacer/rehacer.