Localisation/es: Difference between revisions

From FreeCAD Documentation
(Created page with "Ahora necesitas ejecutar <tt>lupdate</tt> para extraer todas las literales de las cadenas de texto en tu interfaz gráfica de usuario. La ejecución de <tt>lupdate</tt> despu...")
No edit summary
 
(143 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
"Localización" es en general el proceso de proveer un software con una interfaz de usuario de con múltiples lenguajes. En FreeCAD puedes cambiar el lenguaje de la interfaz en "Editar→Preferencias→Aplicación". FreeCAD usa [[wikipedia:Qt (toolkit)|Qt]] para facilitar el soporte de múltiples lenguajes. En Unix/Linux, FreeCAD utiliza la configuración local actual de tu sistema como predeterminado.

{{Docnav/es
|[[Branding/es|Marcación]]
|[[Workbench_creation/es|Creación de entornos de trabajo]]
}}

{{TOCright}}

<span id="Overview"></span>
==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 {{MenuCommand|Editar→Preferencias→General}}. FreeCAD usa [[wikipedia:Qt (toolkit)|Qt]] para facilitar el soporte de múltiples lenguajes. En Unix/Linux, FreeCAD utiliza la configuración local actual de tu sistema como predeterminado.


<span id="Helping_to_translate_FreeCAD"></span>
== Ayudando a traducir FreeCAD ==
== Ayudando a traducir FreeCAD ==


Una de las cosas más importantes que puedes hacer por FreeCAD si no eres un programador es ayudar a traducir el programa a tu idioma. Hacerlo es más fácil que antes, con el uso del sistema de traducción colaborativo en línea [http://crowdin.net Crowdin].
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


<span id="Translate_the_FreeCAD_source_code"></span>
=== Como traducir ===
== Traducir el código fuente de FreeCAD ==


FreeCAD utiliza un sistema de traducción colaborativa en línea de terceros llamado [https://crowdin.net Crowdin].
*Ve a [http://crowdin.net/project/freecad la página del proyecto de traducción de FreeCAD en Crowdin];
* Ingresa creando un nuevo perfil, o utilizando una cuenta terciaria como tu dirección de Gmail;
* Da clic en el lenguaje en que deseas trabajar;
* Comienza a traducir al dar clic en el botón de Traducir, al lado de alguno de los archivos. Por ejemplo, ''FreeCAD.ts'' contiene todos los strings para GUI principal de FreeCAD.
* Puedes votar por une traducción existente, o puedes la tuya.


[[File:Logo-crowdin.png|320px]]
'''Nota''': Si estás participando activamente en la taducción de FreeCAD y quieres ser informado antes de que la nueva versión sea liberada, para que tengas tiempo de revisar tu traducción, porfavor suscríbete a este reporte: http://www.freecadweb.org/tracker/view.php?id=137


Se trata de un software propietario, pero gratuito para los proyectos [https://en.wikipedia.org/wiki/Free_and_open-source_software FOSS]. A continuación encontrará instrucciones sobre cómo utilizarlo:


* Ir a la [http://crowdin.net/project/freecad FreeCAD página del proyecto de traducción en Crowdin]
=== Traduciendo con Qt-Linguist (la manera antigua) ===
* 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 {{Button|Traducir}} junto a uno de los archivos. Por ejemplo, {{FileName|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.


{{Message|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.}}
La siguiente información no se debe utilizar y posiblemente se vuelva obsoleta. Se mantiene aquí para que los programadores puedan familiarizarse con su forma de funcionar.


{{Emphasis|Nota:}} Los detalles sobre cómo utilizar crowdin se pueden encontrar en la página [[Crowdin_Administration/es|Administración de Crowdin]].
* 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
* [http://www.freecadweb.org/tracker/main_page.php Envíanos los archivos] así podremos incluirlos en el código fuente de FreeCAD beneficiando también a otros usuarios.


<span id="Translating_external_workbenches"></span>
==== Archivos de traducción disponibles ====
== Traduciendo ambientes de trabajo externos ==


Visite [[Translating_an_external_workbench/es|Traducir un ambiente de trabajo externos]].
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Gui/Language/ FreeCAD main GUI]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Complete/Gui/Resources/translations/ Complete Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Drawing/Gui/Resources/translations/ Drawing Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Draft/Languages/ Draft Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/ReverseEngineering/Gui/Resources/translations/ Reverse Engineering Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Fem/Gui/Resources/translations/ FEM Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Robot/Gui/Resources/translations/ Robot Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Image/Gui/Resources/translations/ Image Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Sketcher/Gui/Resources/translations/ Sketcher Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Mesh/Gui/Resources/translations/ Mesh Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Test/Gui/Resources/translations/ Test Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Points/Gui/Resources/translations/ Points Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Raytracing/Gui/Resources/translations/ Raytracing Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Part/Gui/Resources/translations/ Part Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/PartDesign/Gui/Resources/translations/ PartDesign Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Assembly/Gui/Resources/translations/ Assembly Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/MeshPart/Gui/Resources/translations/ MeshPart Workbench]


<span id="FreeCAD_Preferences_for_Translators"></span>
== Preparando tus propios módulos/aplicaciones para la traducción ==
== 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:
=== Prerequisitos ===


'''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:
Para realizar la localización de tu módulo de aplicación necesitas unas utilidades que vienen con ''Qt''. Puedes descargarlos desde [http://www.trolltech.com/products/qt/downloads Trolltech-Website], pero también están contenidos en [[Third_Party_Libraries/es#LibPack|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.


<pre>
=== Setup del proyecto ===
<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>
</pre>


'''AdditionalTranslationsDirectory''' - agregue un directorio adicional para que FreeCAD busque archivos *.qm. Esta ubicación tendrá precedencia sobre $userAppDataDir/translations y $resourceDir/translations. Por ejemplo:
Para iniciar la localización de tu proyecto ve al GUI-Part de tu módulo y escribe en la línea de comandos:
<syntaxhighlight>
qmake -project
</syntaxhighlight>
Esto escanea tu directorio de proyecto buscando archivos que contengan cadenas de texto y crea un archivo de proyecto como el del siguiente ejemplo:
<syntaxhighlight>
######################################################################
# Automatically generated by qmake (1.06c) Do 2. Nov 14:44:21 2006
######################################################################
TEMPLATE = app
DEPENDPATH += .\Icons
INCLUDEPATH += .
# Input
HEADERS += ViewProvider.h Workbench.h
SOURCES += AppMyModGui.cpp \
Command.cpp \
ViewProvider.cpp \
Workbench.cpp
TRANSLATIONS += MyMod_de.ts
</syntaxhighlight>


<pre>
Puedes añadir archivos aquí manualmente. Esta sección <tt>TRANSLATIONS</tt> 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.
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
</pre>


<span id="Translate_the_FreeCAD_wiki"></span>
Ahora necesitas ejecutar <tt>lupdate</tt> para extraer todas las literales de las cadenas de texto en tu interfaz gráfica de usuario. La ejecución de <tt>lupdate</tt> 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.
== 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 [[Main Page/es|Página principal]], o echar un vistazo al manual de usuario [[Online Help Toc/es|Ayuda en línea Índice de contenidos]].
Now you need to add the <tt>.ts</tt>-files to your VisualStudio project. Specifiy the following custom build method for them:
<syntaxhighlight>
python ..\..\..\Tools\qembed.py "$(InputDir)\$(InputName).ts"
"$(InputDir)\$(InputName).h" "$(InputName)"
</syntaxhighlight>
Note: Enter this in one command line, the line break is only for layout purpose.


Para traducir el wiki, debes tener permisos de edición del wiki; consulta [[Frequently_asked_questions/es#¿Cómo puedo obtener permiso de edición en el wiki?|¿Cómo puedo obtener permiso de edición en el wiki?]].
By compiling the <tt>.ts</tt>-file of the above example, a header file ''MyMod_de.h'' is created. The best place to include this is in ''App<Modul>Gui.cpp''. In our example this would be ''AppMyModGui.cpp''. There you add the line
<syntaxhighlight>
new Gui::LanguageProducer("Deutsch", <Modul>_de_h_data, <Modul>_de_h_len);
</syntaxhighlight>
to publish your translation in the application.


También deberías tener suficientes conocimientos de marcado wiki y seguir las directrices generales de estilo descritas en [[WikiPages/es|PáginasWiki]].
=== Setting up python files for translation ===


<span id="Mediawiki_Translation_Extension"></span>
To ease localization for the py files you can use the tool "pylupdate4" which accepts one or more py files. With the -ts option you can prepare/update one or more .ts files. For instance to prepare a .ts file for French simply enter into the command line:
=== Extensión de traducción de Mediawiki===
<syntaxhighlight>
pylupdate4 *.py -ts YourModule_fr.ts
</syntaxhighlight>
the pylupdate tool will scan your .py files for translate() or tr() functions and create a YourModule_fr.ts file. That file can the be translated with QLinguist and a YourModule_fr.qm file produced from QLinguist or with the command
<syntaxhighlight>
lrelease YourModule_fr.ts
</syntaxhighlight>
Beware that the pylupdate4 tool is not very good at recognizing translate() functions, they need to be formatted very specifically ( see the Draft module files for examples). Inside your file, you can then setup a translator like this (after loading your QApplication but BEFORE creating any qt widget):
<syntaxhighlight>
translator = QtCore.QTranslator()
translator.load("YourModule_"+languages[ln])
QtGui.QApplication.installTranslator(translator)
</syntaxhighlight>
Optionally, you can also create the file XML Draft.qrc with this content:
<syntaxhighlight>
<RCC>
<qresource prefix="/translations" >
<file>Draft_fr.qm</file>
</qresource>
</RCC>
</syntaxhighlight>
and running pyrcc4 Draft.qrc -o qrc_Draft.py creates a big Python containing all resources. BTW this approach also works to put icon files in one resource file


Cuando el wiki se alejó de SourceForge, [[User:Yorik|Yorik]] instaló [http://www.mediawiki.org/wiki/Help:Extension:Translate 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.
== Translating the wiki ==


La herramienta está documentada en [http://www.mediawiki.org/wiki/Help:Extension:Translate Help:Extension:Translate], y forma parte de [http://www.mediawiki.org/wiki/MediaWiki_Language_Extension_Bundle MediaWiki Language Extension Bundle].
This wiki is hosting a lot of contents, the majority of which build up the manual. You can browse the documentation starting from the [[Main Page]], or have a look at the User's manual [[Online Help Toc]].


Para empezar rápidamente a preparar una página para su traducción, lea el [http://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example Ejemplo de traducción de una página].
===Translation plugin===
Esencialmente, un par de


<pre>
When the Wiki moved away from SourceForge, [[User:Yorik|Yorik]] installed a [http://www.mediawiki.org/wiki/Help:Extension:Translate Translation plugin] which allows to ease translations between pages. For example, the page title can now be translated. Other advantages of the Translation plugin are that it keeps track of translations, notifies if the original page has been updated, and maintains translations in sync with the original English page.
&lt;translate&gt; ... &lt;/translate&gt;
</pre><!--using lt and gt so that tags are not recognized-->


tags rodear toda la página para activar el sistema de traducción, y la página debe estar marcada para ser traducida.
The tool is documented in [http://www.mediawiki.org/wiki/Help:Extension:Translate Extension:Translate], and is part of a [http://www.mediawiki.org/wiki/MediaWiki_Language_Extension_Bundle Language Extension Bundle].


Para ver un ejemplo de cómo funciona la herramienta de traducción, visite la [[Main Page/es|Página principal]]. Verá una barra de idiomas generada automáticamente en la parte superior. Haga clic en [[Main Page/de|Hauptseite]] (alemán), le llevará a [[Main Page/de]]. Justo debajo del título, puedes leer <small>{{Emphasis|Esta página es una versión traducida de la página Principal y la traducción está completada en un XX%}}</small>, 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.
To quickly get started on preparing a page for translation and activating the plugin, please read the [http://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example Page translation example].


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.
To see an example of how the Translation tool works once the translation plugin is activated on a page, you can visit the [[Main Page]]. You will see a new language menu bar at the bottom. It is automatically generated. Click for instance on the German link, it will get you to [[Main Page/de]]. Right under the title, you can read "This page is a '''translated version''' of a page Main Page and the translation is xx% complete." (xx being the actual percentage of translation). Click on the "translated version" link to start translation, or to update or correct the existing translation.


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.
You will notice that you cannot directly edit a page anymore once it's been marked as a translation. You have to go through the translation utility.


Si no estás seguro de cómo proceder con las traducciones, no dudes en pedir ayuda en el [https://forum.freecadweb.org/viewforum.php?f=21 Desarrollo → subforo Wiki] o en el [https://forum.freecadweb.org/viewforum.php?f=11 subforo de idiomas específicos] en el [http://forum.freecadweb.org foro de FreeCAD].
When adding new content, the English page should be created first, then translated into another language. If someone wants to change/add content in a page, he should do the English one first.


<span id="Important_notes"></span>
'''REMARK: The first time you switch a page to the new translation system, it looses all its old 'manual' translations. To recover the translation, you need to open an earlier version from the history, and copy/paste manually the paragraphs to the new translation system.'''
===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.
Remark: to be able to translate in the wiki, you must of course [[FAQ#How_can_I_get_edit_permission_on_the_wiki.3F|gain wiki edit permission]].


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.
===Old translation instructions===
These instructions are for historical background only, while the pages are being passed to the new translation plugin.


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 [[Localisation Sidebar/es|Barra lateral de localización]].
So the first step is to '''check if the manual translation has already been started for your language''' (look in the left sidebar, under "manual").


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.
If not, head to the [http://forum.freecadweb.org/ forum] and say that you want to start a new translation, we'll create the basic setup for the language you want to work on.


<span id="Translate_the_FreeCAD_documentation"></span>
You must then [[FAQ#How_can_I_get_edit_permission_on_the_wiki.3F|gain wiki edit permission]].
=== 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.
If your language is already listed, see what pages are still missing a translation (they will be listed in red). The technique is simple: '''go into a red page, and copy/paste the contents of the corresponding English page, and start translating'''.


<span id="Old_translation_instructions"></span>
Do not forget to include all the tags and templates from the original English page. Some of those templates will have an equivalent in your language (for example, there is a French Docnav template called Docnav/fr). You should use '''a slash and your language code''' in almost all the links. Look at other already translated pages to see how they did it.
===Instrucciones de traducción antiguas===


{| class="mw-collapsible mw-collapsed wikitable"
Add a slash and your language code in the categories, like <nowiki>[[Category:Developer Documentation/fr]]</nowiki>
|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").<br />
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.<br />
A continuación, debes [[Frequently_asked_questions#Cómo_puedo_obtener_permiso_de_edición_en_la_wiki.3F|obtener permiso de edición en la wiki]].<br />


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'''.<br />
And if you are unsure, head to the forums and ask people to check what you did and tell you if it's right or not.
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.<br />
Añade una barra y el código de tu idioma en las categorías, como <nowiki>[[Category:Developer Documentation/fr]]</nowiki> <br />
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.<br />
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<br />
''' Convención de nomenclatura de páginas '''<br />
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.<br />
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.<br />
* La página Acerca de FreeCAD/fr es la página con contenido
* La página À propos de FreeCAD contiene este código:
#REDIRECT <nowiki>[[About_FreeCAD/fr]]</nowiki>
* En la página À propos de FreeCAD/fr, el código Docnav tendrá el siguiente aspecto:
<nowiki>{{docnav/fr|[[Online_Help_Startpage/fr|Bienvenue dans l'aide en ligne de FreeCAD]]|[[Feature_list/fr|Fonctionnalités]]}}</nowiki>
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.
|}


<span id="Translate_the_FreeCAD_website"></span>
Four templates are commonly used in manual pages. These 4 templates have localized versions (Template:Docnav/fr, Template:fr, etc...)
== Traducir el sitio web de FreeCAD ==
* [[Template:GuiCommand]] : is the Gui Command information block in upper-right of command documentation.
* [[Template:Docnav]] : it is the navigation bar at the bottom of the pages, showing previous and next pages.


La traducción de la FreeCAD página web se realiza ahora a través de [https://crowdin.com/translate/freecad/561/en-en Crowdin]. El archivo se llama {{FileName|homepage.po}}.
====Page Naming Convention====


<span id="Development_-_How_to_Add_Localisation"></span>
Please take note that, due to limitations in the Sourceforge implementation of the MediaWiki engine, we require that your pages all keep their original English counterpart's name, appending a slash and your language code. For example, the translated page for About FreeCAD should be About Freecad/es for Spanish, About FreeCAD/pl for polish, etc. The reason is simple: so that if translators go away, the wiki's administrators, who do not speak all languages, will know what these pages are for. This will facilitate maintenance and avoid lost pages.
== 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.
If you want the Docnav template to show linked pages in your language, you can use '''redirect pages'''. They are basically shortcut links to the actual page. Here is an example with the French page for About FreeCAD.


<span id="Preparing_your_FreeCAD/master_modules_for_translation"></span>
* The page About FreeCAD/fr is the page with content
* The page À propos de FreeCAD contains this code:
=== Preparando tus módulos de FreeCAD/master para la traducción ===
#REDIRECT <nowiki>[[About FreeCAD/fr]]</nowiki>
* In the About FreeCAD/fr page, the Docnav code will look like this:
<nowiki>{{docnav/fr|Bienvenue sur l'aide en ligne|Fonctionnalités}}</nowiki>
The page "Bienvenue sur l'aide en ligne" redirects to Online Help Startpage/fr, and the page "Fonctionnalités" redirects to Feature list/fr.


Estas son las partes del proceso de traducción de FreeCAD:
If you are unsure how to proceed, don't hesitate to ask for help in the [http://forum.freecadweb.org/ forum].
* extraer las cadenas de texto del código fuente en archivos *.ts
* cargar los archivos *.ts en [http://crowdin.net/project/freecad 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.
{{docnav|Branding|Extra python modules}}


Preparar su módulo para la traducción es bastante fácil. En primer lugar, debe asegurarse de que tiene un directorio "translations" en {{FileName|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:
[[Category:Developer Documentation]]
{{Code|code=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 [https://github.com/FreeCAD/FreeCAD/pull/810 pull request].
{{clear}}

<languages/>
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.

<span id="Preparing_your_3rd_party_module_or_macro_for_translation"></span>
=== 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 [https://www.forum.freecadweb.org/viewtopic.php?f=3&t=25180 discusión del foro] describe los detalles.

Actualización: ver [[Translating_an_external_workbench/es|Traducir un banco de trabajo externo]]

<span id="Older_module_translation_techniques"></span>
=== Técnicas de traducción de módulos más antiguas ===

[[Localization_Older_Methods/es|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.

<span id="Automating_Crowdin_Translation_Updates"></span>
== 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_Scripts/es|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 [https://support.crowdin.com/api/api-integration-setup/ Documentación de la API de Crowdin].

<span id="Related_Pages"></span>
== Páginas relacionadas ==

* [[Crowdin_Administration/es|Administración de Crowdin]]
* [[Crowdin_Scripts/es|Scripts de Crowdin]]

<span id="Scripting"></span>
==Programación==

{{Emphasis|Ver también:}} [[FreeCAD_Scripting_Basics/es|Básicos de Guionización FreeCAD]].

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

{{Code|code=
locales = FreeCADGui.supportedLocales()
}}

Después de la ejecución {{incode|locales}} va a contener:

{{Code|code=
{'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 {{incode|getLocale}} del mismo módulo:

{{Code|code=
locale = FreeCADGui.getLocale()
}}

Si el idioma actual es inglés {{incode|locale}} va a contener:

{{Code|code=
'English'
}}

Para obtener el [https://support.crowdin.com/api/language-codes/ código de idioma] correspondiente puede usar:

{{Code|code=
locale = FreeCADGui.supportedLocales()[Gui.getLocale()]
}}

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

{{Code|code=
'en'
}}

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

{{Code|code=
FreeCADGui.setLocale('Russian')
FreeCADGui.setLocale('ru')
}}


{{Docnav/es
|[[Branding/es|Marcación]]
|[[Workbench_creation/es|Creación de entornos de trabajo]]
}}

{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Wiki{{#translation:}}]]

Latest revision as of 21:08, 24 December 2023

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')