Localisation/es

Localización es, en general, el proceso de proporcionar un software con una interfaz de usuario en múltiples lenguajes. En FreeCAD puedes establecer el idioma de la interfaz de usuario en Editar→Preferencias → aplicación. FreeCAD utiliza Qt para habilitar el soporte para varios idiomas. En Unix / Linux, FreeCAD utiliza la configuración regional actual de tu sistema por defecto.

Cómo ayudar a traducir FreeCAD
Una de las cosas mas importantes que puedes hacer por FreeCAD si no eres programador, es ayudar a traducir el programa a tu idioma. Hacerlo es ahora más fácil que nunca, con el uso de Crowdin], un sistema colaborativo de traducción en línea.

Como traducir

 * Vete a la página del Proyecto de traducción de FreeCAD en Crowdin;
 * Ingresa creando un nuevo perfil de usuario, o utilizando una cuenta de una tercera-parte, como tu dirección de gMail;
 * Haz Click en el idioma en el que quieres trabajar;
 * Comienza la traducción haciendo clic en el boton Translate próximo a uno de los archivos. Por ejemplo, FreeCAD.ts que contiene las cadenas de texto para el GUI (interfaz gráfico de usuario) principal de FreeCAD.
 * Puedes elegir entre las traducciones existentes, o crear la tuya propia.

Traducción con Qt-Linguist (forma antigua- OBSOLETO)
La siguiente información no tiene porque ser utilizada nunca más y probablemente se convierta en obsoleta. Se mantiene aquí para que los programadores puedan conocer cómo funciona.


 * Abre todos los directorios de lenguaje de FreeCAD que se muestran abajo
 * Verifica que un archivo .ts con tu código de lenguaje no existe ("fr" para francés, "de" para alemán, etc...)
 * Si existe, puedes descargar el archivo, si quieres modificar/revisar/mejorar la traducción (pulsa en el archivo y descargalo).
 * Si no existe, descarga el archivo .ts si código de lenguaje (o cualquier otro .ts disponible, también funcionará)
 * Renombra ese archivo con tu código de lenguaje
 * Abrelo con el programa Qt-Linguist
 * Inicia la traducción (Qt Linguist es muy sencillo de utilizar)
 * Una vez esté completamente terminada, guarda tu archivo
 * Envíanos los archivos así podremos incluirlos en el código fuente de FreeCAD beneficiando también a otros usuarios.

Archivos de traducción disponibles

 * FreeCAD main GUI
 * Complete Workbench
 * Drawing Workbench
 * Draft Workbench
 * Reverse Engineering Workbench
 * FEM Workbench
 * Robot Workbench
 * Image Workbench
 * Sketcher Workbench
 * Mesh Workbench
 * Test Workbench
 * Points Workbench
 * Raytracing Workbench
 * Part Workbench
 * PartDesign Workbench
 * Assembly Workbench
 * MeshPart Workbench

Prerequisitos
Para realizar la localización de tu módulo de aplicación necesitas unas utilidades que vienen con Qt. Puedes descargarlos desde Trolltech-Website, pero también están contenidos en LibPack:
 * qmake: Genera los archivos de proyecto
 * lupdate: Extrae o actualiza los textos originales en tu proyecto escaneando el código fuente
 * Qt-Linguist: 'Qt-Linguist'' es muy sencillo de utilizar y te ayuda en la traducción con buenas características como un libro de frases para las expresiones habituales.

Setup del proyecto
Para iniciar la localización de tu proyecto ve al GUI-Part de tu módulo y escribe en la línea de comandos:

qmake -project

Esto escanea tu directorio de proyecto buscando archivos que contengan cadenas de texto y crea un archivo de proyecto como el del siguiente ejemplo:

TEMPLATE = app DEPENDPATH += .\Icons INCLUDEPATH +=. HEADERS += ViewProvider.h Workbench.h SOURCES += AppMyModGui.cpp \ Command.cpp \ ViewProvider.cpp \ Workbench.cpp TRANSLATIONS += MyMod_de.ts
 * 1) Automatically generated by qmake (1.06c) Do 2. Nov 14:44:21 2006
 * 1) Automatically generated by qmake (1.06c) Do 2. Nov 14:44:21 2006
 * 1) Input

Puedes añadir archivos aquí manualmente. Esta sección TRANSLATIONS contiene una lista de los archivos con la traducción para cada idioma. En el ejemplo de arriba MyMod_de.ts es la traducción al alemán.

Ahora necesitas ejecutar lupdate para extraer todas las literales de las cadenas de texto en tu interfaz gráfica de usuario. La ejecución de lupdate después hacer cambios en el código fuente es siempre segura ya que nunca borra cadenas de texto de tu traducción. Sólo añade nuevas cadenas de texto.

Ahora necesitas añadir los archivos .ts a tu proyecto de VisualStudio. Especifica el siguiente método de construcción personalizado para ellos: python ..\..\..\Tools\qembed.py "$(InputDir)\$(InputName).ts" "$(InputDir)\$(InputName).h" "$(InputName)" Nota: Introduce el texto en una única línea de comandos, el salto de línea es sólo para propósitos de presentación.

Compilando el archivo .ts de los ejemplos de arriba, se crea un archivo de encabezamiento MyMod_de.h. El mejor sitio para añadirlo es en AppGui.cpp. En nuestro ejemplo esto podría ser AppMyModGui.cpp. Allí añades la línea new Gui::LanguageProducer("Deutsch", _de_h_data, _de_h_len); para publicar tu traducción en la aplicación.

Configurando los archivos de Python para la traducción
Para facilitar el proceso de localización de los archivo .py puedes utilizar la herramienta "pylupdate4" que acepta uno o más archivos .py. Con la opción -ts puedes preparar/actualizar uno o más archivos .ts. Por ejemplo para preparar un archivo .ts para la traducción al francés simplemente introduce lo siguiente en la línea de comandos: pylupdate4 *.py -ts YourModule_fr.ts

la herramienta pylupdate escaneará tus archivos .py para las funciones translate o tr y crea un archivo YourModule_fr.ts. Este archivo puede ser el traducido con QLinguist y un archivo YourModule_fr.qm producido desde QLinguist o con el comando

lrelease YourModule_fr.ts

Ten en cuenta que la herramienta pylupdate4 no es muy buena reconociendo las funciones translate, estas necesitan formatearse de forma muy específica (mira los archivos del módulo de croquizado como ejemplo). Dentro de tu archivo, puedes configurar un traductor como este (después de cargar tu QApplication pero ANTES de crear cualquier complemento o widget Qt):

translator = QtCore.QTranslator translator.load("YourModule_"+languages[ln]) QtGui.QApplication.installTranslator(translator) Opcionalmente, también puedes crear el archivo XML Draft.qrc con este contenido:   Draft_fr.qm 

y ejecutar pyrcc4 Draft.qrc -o qrc_Draft.py crea un gran archivo en Python conteniendo todos los recursos. Por otra parte esta aproximación también funciona para poner archivos de iconos en un archivo de recursos

Traduciendo la wiki
Esta wiki contiene un montón de contenido. El material más importante y actualizado es recopilado en el manual. De modo que el primer paso es comprobar si la traducción del manual ya se ha comenzado para tu idioma (mira en la barra de la izquierda bajo "manual"). Si no, dirígete al foro y comenta que quieres iniciar una nueva traducción, crearemos la configuración básica para el idioma en el que quieras trabajar.

Tu debes luego conseguir permisos de edición del wiki.

Si tu idioma ya está listado, mira que páginas aún faltal por traducir (estarán listadas en rojo). La técnica es simple: Entra en una página en rojo, y copia/pega el contenido de la correspondiente página en inglés, y comienza a traducir. No olvides incluir todas las etiquetas y plantillas de la página original en inglés. Algunas de dichas plantillas tendrán un equivalente en tu lenguaje (por ejemplo, existe una plantilla de Docnav en Español llamada Docnav/es). Mira otras páginas ya traducidas para ver como lo hicieron.

Luego, una vez has traducido la página, debes añadir un vínculo en la página original en inglés a tu traducción, así los lectores sabrán que existe una versión traducida disponible, utilizando la plantilla template. Mira como otros traductores lo hicieron para hacer lo mismo.

Y si no estas seguro, dirígete a los foros y pregunta a la gente para verificar lo que hiciste y que te digan si está bien o no.

Tres plantillas son utilizadas normalmente en las páginas del manual. Estas tres plantillas tienen versiones localizadas (Template:Docnav/es, Template:Es, etc...)
 * Template:Docnav : es la barra de navegación en la parte inferior de las páginas, mostrando las páginas anterior y siguiente.
 * Template:Languages : esta plantilla debe estar en las páginas originales, para indicar al lector que existe una traducción. La versión localizada de esta plantilla Template:Languages/es debe por contra estar situada en la página traducida, enlazada a la página original en inglés.
 * Template:en : Existe un de estas para cada idioma. Deben estar situadas dentro de la plantilla de idioma.

Convenciones de los nombres de las páginas
Por favor, apunta esto, debido a limitaciones en la implementación en Sourceforge del motor de MediaWiki, necesitamos que todas tus páginas mantengan el nombre homólogo de la página en inglés, añadiéndole una barra inclinada y tu código de idioma. Por ejemplo, la página traducida para """About FreeCAD""" debería ser """About Freecad/es""" en español, """About FreeCAD/pl""" en polaco, etc. La razón es simple: así si los traductores se van, los administradores del wiki, que no hablan todos los idiomas, sabrán para que son esas páginas. Esto facilitará el mantenimiento y evitará páginas perdidas.

Si quieres que la plantilla Docnav muestre las páginas vinculadas en tu lenguaje, puedes utilizar páginas redirigidas. Estas son básicamente enlaces a la página actual. Aquí está un ejemplo con la página en francés para About FreeCAD.

La página "Bienvenue sur l'aide en ligne" redirige a Online Help Startpage/fr, y la página "Fonctionnalités" redirige a Feature list/fr.
 * La página About FreeCAD/fr es la página con contenido
 * La página a À propos de FreeCAD contiene este código:
 * 1) REDIRECT About FreeCAD/fr
 * En la página About FreeCAD/fr page, el código de Docnav se parecerá a esto:

Si no estas seguro de como proceder, no dudes en solicitar ayuda en los foros.