Creando un complemento de diccionario de ortografía

Esta página describe cómo empaquetar un diccionario de ortografía Hunspell como complemento para Firefox, o cómo actualizar tu complemento existente para que pueda ser instalado, desinstalado y actualizado sin necesidad de reiniciar.

Partes necesarias

Para crear un complemento de diccionario, primero necesitas dos cosas:

  • Un diccionario de ortografía en formato Hunspell o Myspell, con una licencia que te permita hacer uso de él. Este diccionario consiste en dos archivos, uno con una extensión de archivo .dic y otro con un .aff.
  • Un código de localización para describir el idioma del diccionario. Por ejemplo, en-US, de-DE o da. Es importante elegir el código de localización correcto, o sino el revisor de ortografía no podrá comparar adecuadamente el idioma del diccionario con el del sitio web para seleccionar el diccionario correcto a utilizar.

Si estás creando un nuevo diccionario, a diferencia de actualizar uno existente, por favor asegúrate de que no haya un diccionario disponible para tu localización. Si es que ya hay uno, intenta contactar al autor para actualizarlo, o contacta a los editores de AMO si es que el autor no responde.

Empaquetamiento

Un complemento de Firefox es un archivo ZIP renombrado para usar una extensión de archivo .xpi en lugar de la extensión de archivo .zip normal. Para crear un complemento de diccionario, simplemente crea un archivo ZIP que contenga los siguientes archivos y carpetas:

my-dictionary.xpi

  • install.rdf
  • dictionaries/
    • código-de-localización.dic
    • código-de-localización.aff

Los archivos .dic y .aff deben estar ubicados en una subcarpeta llamada dictionaries dentro del archivo ZIP. Ambos archivos deben tener el código de localización como nombre de archivo. También tienes que añadir un archivo llamado install.rdf a la raíz del archivo ZIP. Este archivo contiene información sobre tu complemento, como por ejemplo el nombre y el número de versión (ver a continuación). Además de estos archivos requeridos, puedes añadir archivos opcionales, por ejemplo darle un ícono a tu complemento o describir la licencia del diccionario.

Aquí hay un ejemplo del archivo install.rdf. Puedes crearlo y editarlo con un editor de texto plano como "Bloc de notas".

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>Código-de-localización@dictionaries.addons.mozilla.org</em:id>
    <em:version>número de versión</em:version>
    <em:type>64</em:type>
    <em:unpack>true</em:unpack>
    <em:name>Nombre</em:name>
    <!--
      Otros metadatos de install.rdf tales como em:localized, em:description, em:creator,
      em:developer, em:translator, em:contributor o em:homepageURL
    -->


    <!-- Firefox -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>18.0a1</em:minVersion>
        <em:maxVersion>46.0</em:maxVersion>
      </Description>
    </em:targetApplication>

    <!-- Thunderbird -->
    <em:targetApplication>
      <Description>
        <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
        <em:minVersion>18.0a1</em:minVersion>
        <em:maxVersion>22.0</em:maxVersion>
      </Description>
    </em:targetApplication>

    <!-- SeaMonkey -->
    <em:targetApplication>
      <Description>
        <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
        <em:minVersion>2.15a1</em:minVersion>
        <em:maxVersion>2.49</em:maxVersion>
      </Description>
    </em:targetApplication>
  </Description>
</RDF>

Aquí hay algunas reglas sobre cómo debieras adaptar el archivo install.rdf:

  • Si estás creando un nuevo complemento de diccionario, recomendamos que el em:id consista del código de localización seguido por @dictionaries.addons.mozilla.org, pero si hay más de un diccionario para tu idioma (por ejemplo, en Alemán existe los diccionarios "ortografía antigua" y "ortografía nueva"), puede que debas elegir otro ID, que siga las reglas de em:id. Si actualizas un complemento de diccionario existente, debes mantener el em:id existente, o tus usuarios no serán actualizados a la última versión.
  • em:version debiera seguir las reglas de números de versión de complemento de Mozilla, y si actualizas un complemento de diccionario existente, el número de la nueva versión debe ser mayor al anterior.
  • No cambies em:type o em:unpack, y no añadas un elemento em:bootstrap. "Type = 64" indica que el complemento está en el formato que no requiere reinicio, y desempacarlo es requerido para que Hunspell lea el diccionario.
  • Pese a que el formato que no requiere reinicio para complementos de diccionario fue introducido en Gecko 10, las actualizaciones de diccionarios solo funcionan desde Gecko 18. Por ello, em:minVersion debiera ser igual al ejemplo anterior (o mayor). Si ajustas em:minVersion a un valor inferior, Gecko 10-17 no podrá actualizar tu complemento de diciconario una vez que el diccionario que no requiere reinicio sea instalado (bug 782118), y Gecko 10-16 podrían advertir al usuario de que el diccionario no es compatible, cuando los usuarios intenten actualizar a una nueva versión de Firefox/Thunderbird (bug 782115).
  • Actualiza em:maxVersion a la versión más nueva disponible.

Una vez que has añadido estos archivos a tu archivo ZIP, y este último lo has renombrado para que tenga la extensión .xpi, puedes instalar tu complemento en Firefox y problarlo. Luego de una prueba exitosa, puedes subir tu complemento a addons.mozilla.org y solicitar que sea incluido en la página de Diccionarios y paquetes de idioma.

Etiquetas y colaboradores del documento

 Colaboradores en esta página: ravmn
 Última actualización por: ravmn,