Éric
Bischoff
Rafael
Osuna

    rosuna@wol.es

Traductor
Miguel
Revilla Rodríguez

    yo@miguelrevilla.com

Traductor
Kira
J. Fernández

    kirajfdez@gmail.com

Traductora
2009-12-15
0.6.0
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 Alex Fiestaspara incluirlas en futuras versiones.

## Para los artistas

Para crear una zona de juego nueva en &ktuberling; 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 nuevo tema de sonido para &ktuberling; debe hacer lo siguiente:

- Grabar los sonidos en un archivo de formato OGG Vorbis rc3.

- Crear un archivo CódigoDeDosLetrasDeSuIdioma 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 de <sonido>. 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 .soundtheme 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:

        FILE(GLOB datafiles *.ogg)
        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 el archivo del tema de sonido CódigoDeDosLetrasDeSuIdioma en `kde4-config --prefix`/share/apps/ktuberling/sounds

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

Hay información disponible sobre el funcionamiento de los mecanismos de traducción de &kde; en el manual de traducción.

## 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.