Localización

From FreeCAD Documentation
This page is a translated version of the page Localisation and the translation is 100% complete.

Vista general

"Localización" es en general el proceso de proveer un software con una interfaz de usuario con múltiples lenguajes. En FreeCAD puedes cambiar el lenguaje de la interfaz en Editar→Preferencias→General. FreeCAD usa Qt para facilitar el soporte de múltiples lenguajes. En Unix/Linux, FreeCAD utiliza la configuración local actual de tu sistema como predeterminado.

Ayudando a traducir FreeCAD

Una de las cosas más importantes que los usuarios pueden contribuir a FreeCAD (si por ejemplo no tienen conocimientos de programación) es ayudar a traducir sus diferentes aspectos (código fuente, wiki, sitio web, documentación, etc...) a otro idioma. Aquí están las formas de hacerlo

Traducir el código fuente de FreeCAD

FreeCAD utiliza un sistema de traducción colaborativa en línea de terceros llamado Crowdin.

Se trata de un software propietario, pero gratuito para los proyectos FOSS. A continuación encontrará instrucciones sobre cómo utilizarlo:

  • Ir a la FreeCAD página del proyecto de traducción en Crowdin
  • Iniciar sesión creando un nuevo perfil, o utilizando una cuenta de terceros (GitHub, GitLab, GMail, etc...)
  • Haga clic en el idioma que desea traducir
  • Comienza a traducir haciendo clic en el botón Traducir junto a uno de los archivos. Por ejemplo, FreeCAD.ts contiene las cadenas de texto para la interfaz gráfica principal de FreeCAD.
  • Puedes votar por las traducciones existentes, o puedes crear las tuyas propias.
Si estás participando activamente en la traducción de FreeCAD y quieres estar informado antes de que la próxima versión esté lista para ser lanzada, para que haya tiempo de revisar tu traducción, por favor suscríbete a uno de los equipos de traducción de Crowdin FreeCAD.


Nota: Los detalles sobre cómo utilizar crowdin se pueden encontrar en la página Administración de Crowdin.

Traduciendo ambientes de trabajo externos

Visite Traducir un ambiente de trabajo externos.

Preferencias de FreeCAD para traductores

A partir de la versión 0.20 de FreeCAD, las siguientes variables puede sert manualmente agregadas a la sección BaseApp/Preferences/General del archivo user.cfg para ayudar con el desarrollo de nuevas traducciones:

AddreDallanguageMainEnentries - para agregar idiomas completamente nuevos a FreeCAD que actualmente no son compatibles con el código fuente, puede usar esta preferencia del usuario para agregarlos a la lista de idiomas disponibles. El formato de los idiomas es "nombre del idioma" = "código"; por ejemplo:

<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>

AdditionalTranslationsDirectory - agregue un directorio adicional para que FreeCAD busque archivos *.qm. Esta ubicación tendrá precedencia sobre $userAppDataDir/translations y $resourceDir/translations. Por ejemplo:

<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>

Traducir la wiki de FreeCAD

Este wiki alberga muchos contenidos, la mayoría de los cuales conforman el manual. Puedes navegar por la documentación a partir de la Página principal, o echar un vistazo al manual de usuario Ayuda en línea Índice de contenidos.

Para traducir el wiki, debes tener permisos de edición del wiki; consulta ¿Cómo puedo obtener permiso de edición en el wiki?.

También deberías tener suficientes conocimientos de marcado wiki y seguir las directrices generales de estilo descritas en PáginasWiki.

Extensión de traducción de Mediawiki

Cuando el wiki se alejó de SourceForge, Yorik instaló MediaWiki's Translation extension que facilita la traducción de las páginas. Las ventajas de la extensión de traducción son que el título de la página puede ser traducido, mantiene un registro de las traducciones, notifica si la página original ha sido actualizada, y mantiene las traducciones sincronizadas con la página original en inglés.

La herramienta está documentada en Help:Extension:Translate, y forma parte de MediaWiki Language Extension Bundle.

Para empezar rápidamente a preparar una página para su traducción, lea el Ejemplo de traducción de una página. Esencialmente, un par de

<translate> ... </translate>

tags rodear toda la página para activar el sistema de traducción, y la página debe estar marcada para ser traducida.

Para ver un ejemplo de cómo funciona la herramienta de traducción, visite la Página principal. Verá una barra de idiomas generada automáticamente en la parte superior. Haga clic en Hauptseite (alemán), le llevará a Main Page/de. Justo debajo del título, puedes leer Esta página es una versión traducida de la página Principal y la traducción está completada en un XX%, siendo XX el porcentaje actual de traducción. Haga clic en "Traducir" en la parte superior de la página para iniciar la utilidad de traducción para actualizar, corregir y revisar la traducción existente.

Si va a Main Page, notará que ya no puede editar la página directamente haciendo clic en las etiquetas [Edit], y el enlace superior "Editar" ha sido sustituido por el enlace "Traducir" que abre la utilidad de traducción.

Cuando se añade un nuevo contenido, la página en inglés debe crearse primero y luego traducirse a otro idioma. Si alguien quiere cambiar o añadir contenido en una página, la página en inglés debe ser modificada primero.

Si no estás seguro de cómo proceder con las traducciones, no dudes en pedir ayuda en el Desarrollo → subforo Wiki o en el subforo de idiomas específicos en el foro de FreeCAD.

Notas importantes

Todos los usuarios de la wiki que tengan permisos de "Editor" pueden lanzar la utilidad de traducción y escribir, guardar y revisar las traducciones.

Sin embargo, sólo los usuarios con permisos de "Administrador" pueden marcar las páginas para su traducción. Una página que no esté marcada para ser traducida no hará uso de la extensión de traducción y no se sincronizará correctamente con la información en inglés.

La barra lateral izquierda también es traducible, pero sólo los administradores pueden modificar este elemento del sitio. Por favor, siga las instrucciones dedicadas en Barra lateral de localización.

La primera vez que se cambia una página al nuevo sistema de traducción, se pierden todas sus antiguas traducciones "manuales". Para recuperar una traducción, debes guardar una copia offline del texto antiguo antes del cambio. Entonces podrás utilizar este texto antiguo traducido para rellenar las unidades de traducción en el nuevo sistema. También puedes abrir una versión anterior desde el historial, y obtener el texto antiguo de esta manera. Esto tiene que hacerse para cada idioma que tenía una página traducida.

Traducir la documentación de FreeCAD

Según el consenso general, la página de referencia en la wiki es la página en inglés, que debería crearse primero. Si quieres cambiar o añadir contenido a una página, debes hacerlo primero en la página en inglés, y sólo una vez completada la actualización, portar la modificación a la página traducida.

Instrucciones de traducción antiguas

Estas instrucciones son sólo para el fondo histórico. Las traducciones deben utilizar el nuevo sistema con la #Extensión de traducción de Mediawiki descrita anteriormente.

Así que el primer paso es comprobar si ya se ha iniciado la traducción manual para tu idioma (mira en la barra lateral izquierda, en "manual").
Si no es así, dirígete al [foro http://forum.freecadweb.org/] y di que quieres empezar una nueva traducción, crearemos la configuración básica para el idioma en el que quieres trabajar.
A continuación, debes obtener permiso de edición en la wiki.

Si tu idioma ya está en la lista, mira qué páginas aún no tienen traducción (aparecerán en rojo). La técnica es sencilla: entra en una página roja, y copia/pega el contenido de la página inglesa correspondiente, y empieza a traducir.
No olvides incluir todas las etiquetas y plantillas de la página original en inglés. Algunas de esas plantillas tendrán un equivalente en tu idioma (por ejemplo, hay una plantilla Docnav francesa llamada Docnav/fr). En casi todos los enlaces debes usar una barra y el código de tu idioma. Mira otras páginas ya traducidas para ver cómo lo hicieron.
Añade una barra y el código de tu idioma en las categorías, como [[Category:Developer Documentation/fr]]
Y si no estás seguro, dirígete a los foros y pide a la gente que compruebe lo que has hecho y te diga si está bien o no.
Hay cuatro plantillas que se utilizan habitualmente en las páginas de manual. Estas 4 plantillas tienen versiones localizadas (Template:Docnav/fr, Template:fr, etc...)

  • Template:GuiCommand : es el bloque de información del comando Gui en la parte superior derecha de la documentación del comando.
  • Template:Docnav : es la barra de navegación en la parte inferior de las páginas, mostrando las páginas anteriores y siguientes.
  • Template:Userdocnavi : da enlaces directos a las principales páginas base

Convención de nomenclatura de páginas
Por favor, ten en cuenta que, debido a las limitaciones en la implementación de Sourceforge del motor MediaWiki, requerimos que todas tus páginas mantengan el nombre de su contraparte original en inglés, añadiendo una barra y el código de tu idioma. Por ejemplo, la página traducida de About FreeCAD debe ser About Freecad/es para el español, About FreeCAD/pl para el polaco, etc. La razón es simple: para que si los traductores se van, los administradores del wiki, que no hablan todos los idiomas, sepan para qué son estas páginas. Esto facilitará el mantenimiento y evitará que se pierdan páginas.
Si quieres que la plantilla Docnav muestre páginas enlazadas en tu idioma, puedes usar páginas de redirección. Son básicamente enlaces de acceso directo a la página real. Aquí hay un ejemplo con la página francesa de Acerca de FreeCAD.

  • La página Acerca de FreeCAD/fr es la página con contenido
  • La página À propos de FreeCAD contiene este código:
#REDIRECT [[About_FreeCAD/fr]]
  • En la página À propos de FreeCAD/fr, el código Docnav tendrá el siguiente aspecto:
{{docnav/fr|[[Online_Help_Startpage/fr|Bienvenue dans l'aide en ligne de FreeCAD]]|[[Feature_list/fr|Fonctionnalités]]}}

La página "Bienvenue dans l'aide en ligne de FreeCAD" redirige a Online_Help_Startpage/fr, y la página "Fonctionnalités" redirige a Feature_list/fr.

Traducir el sitio web de FreeCAD

La traducción de la FreeCAD página web se realiza ahora a través de Crowdin. El archivo se llama homepage.po.

Desarrollo - Cómo añadir la localización

Esta sección es para los desarrolladores que quieren añadir localización a su código.

Preparando tus módulos de FreeCAD/master para la traducción

Estas son las partes del proceso de traducción de FreeCAD:

  • extraer las cadenas de texto del código fuente en archivos *.ts
  • cargar los archivos *.ts en FreeCAD Crowdin.
  • traducción de cadenas dentro de Crowdin
  • extraer archivos *.ts modificados/nuevos de Crowdin
  • convertir archivos *.ts en archivos *.qm y actualizar el archivo *.qrc de cada módulo
  • actualizar el maestro de FreeCAD

Todos los pasos anteriores son realizados por los "scripts de traducción" que son ejecutados por un administrador periódicamente.

Preparar su módulo para la traducción es bastante fácil. En primer lugar, debe asegurarse de que tiene un directorio "translations" en myModule/Gui/Resources. A continuación, abra una ventana de terminal (o su equivalente en Windows/OSX) en su directorio "translations" e introduzca el siguiente comando:

lupdate -ts myModule.ts

Esto crea un archivo de traducción vacío. Una vez hecho esto, hay que asegurarse de que los scripts de traducción se actualizan como en este pull request.

Todo lo que sigue es automático en lo que respecta a un desarrollador. El administrador extraerá las cadenas de texto, los traductores las traducirán, luego el administrador extraerá las traducciones y actualizará FreeCAD/master.

Preparar su módulo o macro de terceros para la traducción

Los módulos o macros de terceros se traducen prácticamente de la misma manera, con la diferencia de que debes hacer parte del trabajo tú mismo. Este discusión del foro describe los detalles.

Actualización: ver Traducir un banco de trabajo externo

Técnicas de traducción de módulos más antiguas

Localización Métodos antiguos describe el uso de herramientas de traducción como Qt Linguist, lupdate, lrelease, pylupdate4, etc en detalle. La mayor parte de esto ya no es necesario para los módulos de FreeCAD/master, pero puede ser útil para preparar y actualizar módulos de terceros.

Automatización de las actualizaciones de las traducciones de Crowdin

Actualmente los mantenedores de FreeCAD utilizan la API de Crowdin a través de Crowdin Guiones para extraer y enviar las traducciones a Crowdin y de vuelta al repositorio de Github. La API de Crowdin ofrece a los mantenedores de FreeCAD la posibilidad de automatizar aspectos del flujo de trabajo de traducción del proyecto, para más información consulta la Documentación de la API de Crowdin.

Páginas relacionadas

Programación

Ver también: Básicos de Guionización FreeCAD.

Para obtener un diccionario con los idiomas que admite la interfaz FreeCAD, use el método supportedLocales del módulo FreeCADGui.

locales = FreeCADGui.supportedLocales()

Después de la ejecución locales va a contener:

{'English': 'en', 'Afrikaans': 'af', 'Arabic': 'ar', 'Basque': 'eu', 'Catalan': 'ca', 'Chinese Simplified': 'zh-CN', 'Chinese Traditional': 'zh-TW', 'Croatian': 'hr', 'Czech': 'cs', 'Dutch': 'nl', 'Filipino': 'fil', 'Finnish': 'fi', 'French': 'fr', 'Galician': 'gl', 'German': 'de', 'Hungarian': 'hu', 'Indonesian': 'id', 'Italian': 'it', 'Japanese': 'ja', 'Kabyle': 'kab', 'Korean': 'ko', 'Lithuanian': 'lt', 'Norwegian': 'no', 'Polish': 'pl', 'Portuguese': 'pt-PT', 'Portuguese, Brazilian': 'pt-BR', 'Romanian': 'ro', 'Russian': 'ru', 'Slovak': 'sk', 'Slovenian': 'sl', 'Spanish': 'es-ES', 'Swedish': 'sv-SE', 'Turkish': 'tr', 'Ukrainian': 'uk', 'Valencian': 'val-ES', 'Vietnamese': 'vi'}

Para obtener el idioma que usa la interfaz actual use el método getLocale del mismo módulo:

locale = FreeCADGui.getLocale()

Si el idioma actual es inglés locale va a contener:

'English'

Para obtener el código de idioma correspondiente puede usar:

locale = FreeCADGui.supportedLocales()[Gui.getLocale()]

Si el idioma actual es inglés el resultado será:

'en'

Para establecer el lenguaje de interfaz actual, use el método setLocale del mismo módulo. Puede especificar el idioma o el código de idioma:

FreeCADGui.setLocale('Russian')
FreeCADGui.setLocale('ru')