Localisation/es: Difference between revisions

From FreeCAD Documentation
(Created page with ''''Localización''' es, en general, el proceso de proporcionar un software con una interfaz de usuario en múltiples lenguajes. En FreeCAD puede establecer el idioma de la interf…')
 
No edit summary
 
(190 intermediate revisions by 11 users not shown)
Line 1: Line 1:
<languages/>
'''Localización''' es, en general, el proceso de proporcionar un software con una interfaz de usuario en múltiples lenguajes. En FreeCAD puede establecer el idioma de la interfaz de usuario en''Editar→Preferencias→aplicación''. FreeCAD utiliza [[wikipedia:Qt (toolkit)|Qt]] para habilitar el soporte para varios idiomas. En Unix / Linux, FreeCAD utiliza la configuración regional actual de su sistema por defecto.


{{Docnav/es
== Cómo ayudar a traducir FreeCAD ==
|[[Branding/es|Marcación]]
|[[Workbench_creation/es|Creación de entornos de trabajo]]
}}


{{TOCright}}
Una de las cosas mas importantes que puede hacer por FreeCAD si no es un programador, es ayudar a traducir el programa a su idioma. Hacerlo es ahora más fácil que nunca, con el uso de la [http://crowdin.net Crowdin]] sistema colaborativo de traducción en línea.


<span id="Overview"></span>
=== Como traducir ===
==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.
* Vaya a [http://crowdin.net/project/freecad FreeCAD translation project page on Crowdin];
* haga Login creando un nuevo profile, o usando una cuenta de una tercera-parte, como su dirección GMail;
* Haga Click en el idioma en el que quiera trabajar;
* Comience la traducción haciendo click en el boton Tanslate próximo a uno de los archivos. Por ejemplo, ''FreeCAD.ts'' contiene las cadenas de texto para el GUI (interfaz gráfico de usuario) principal de FreeCAD.
* Puede elegir entre la traducciones existentes, o crear la suya propia.


<span id="Helping_to_translate_FreeCAD"></span>
== 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


<span id="Translate_the_FreeCAD_source_code"></span>
=== Traducción con Qt-Linguist (forma antigua) ===
== 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].
LO QUE SIGUE EXPLICA EL METODO OBSOLETO DE TRADUCCIÓN, Y SOLO SIRVE COMO REFERENCIA DIDÁCTICA


[[File:Logo-crowdin.png|320px]]
La siguiente información no tiene por qué ser usado más y probablemente se convierta en obsoleto. Se mantiene aquí para que los programadores puedan conocer cómo funciona.


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]
The following information doesn't need to be used anymore and will likely become obsolete. It is being kept here so that programmers may familiarize themselves with how it works.
* 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.}}
* Open all of the language folders of FreeCAD shown below
* Verify that a .ts file with your language code doesn't exist ("fr" for french, "de" for german, etc...)
* If it exists, you can download that file, if you want to modify/review/better the translation (click the file, then download)
* If it doesn't exist, download the .ts file without language code (or any other .ts available, it will work too)
* Rename that file with your language code
* Open it with the Qt-Linguist program
* Start translating (Qt Linguist is very easy to use)
* Once it's completely done, save your file
* [http://sourceforge.net/apps/mantisbt/free-cad/main_page.php send the files to us] so we can include them in the freecad source code so they benefit other users too.


{{Emphasis|Nota:}} Los detalles sobre cómo utilizar crowdin se pueden encontrar en la página [[Crowdin_Administration/es|Administración de Crowdin]].
==== Available translation files ====


<span id="Translating_external_workbenches"></span>
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Gui/Language/ FreeCAD main GUI]
== Traduciendo ambientes de trabajo externos ==
* [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]


Visite [[Translating_an_external_workbench/es|Traducir un ambiente de trabajo externos]].
== Preparing your own modules/applications for translation ==


<span id="FreeCAD_Preferences_for_Translators"></span>
=== Prerequisites ===
== 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:
To localise your application module your need to helpers that come with ''Qt''. You can download them from the [http://www.trolltech.com/products/qt/downloads Trolltech-Website], but they are also contained in the [[LibPack]]:
;qmake: Generates project files
;lupdate: Extracts or updates the original texts in your project by scanning the source code
;Qt-Linguist: The ''Qt-Linguist'' is very easy to use and helps you translating with nice features like a phrase book for common sentences.


'''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:
=== Project Setup ===


<pre>
To start the localisation of your project go to the GUI-Part of you module and type on the command line:
<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:
qmake -project


<pre>
This scans your project directory for files containing text strings and creates a project file like the following example:
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
</pre>


<span id="Translate_the_FreeCAD_wiki"></span>
######################################################################
== Traducir la wiki de FreeCAD ==
# 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


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]].
You can manually add files here. The section <tt>TRANSLATIONS</tt> contains a list of files with the translation for each language. In the above example ''MyMod_de.ts'' is the german translation.


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?]].
Now you need to run <tt>lupdate</tt> to extract all string literals in your GUI. Running <tt>lupdate</tt> after changes in the source code is allways safe since it never deletes strings from your translations files. It only adds new strings.


También deberías tener suficientes conocimientos de marcado wiki y seguir las directrices generales de estilo descritas en [[WikiPages/es|PáginasWiki]].
Now you need to add the <tt>.ts</tt>-files to your VisualStudio project. Specifiy the following custom build method for them:
python ..\..\..\Tools\qembed.py "$(InputDir)\$(InputName).ts"
"$(InputDir)\$(InputName).h" "$(InputName)"
Note: Enter this in one command line, the line break is only for layout purpose.


<span id="Mediawiki_Translation_Extension"></span>
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
=== Extensión de traducción de Mediawiki===
new Gui::LanguageProducer("Deutsch", <Modul>_de_h_data, <Modul>_de_h_len);
to publish your translation in the application.


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.
=== Setting up python files for translation ===


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].
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:
pylupdate4 *.py -ts YourModule_fr.ts


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].
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
Esencialmente, un par de


<pre>
lrelease YourModule_fr.ts
&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.
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):


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.
translator = QtCore.QTranslator()
translator.load("YourModule_"+languages[ln])
QtGui.QApplication.installTranslator(translator)
Optionally, you can also create the file XML Draft.qrc with this content:
<RCC>
<qresource prefix="/translations" >
<file>Draft_fr.qm</file>
</qresource>
</RCC>


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.
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 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.
== Translating the wiki ==


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].
This wiki is hosting a lot of contents. The most up-to-date and interesting material is gathered in the [[Online_Help_Toc|manual]]. 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"). If not, head to the [http://sourceforge.net/apps/phpbb/free-cad/ 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="Important_notes"></span>
You must then [[FAQ#How_can_I_get_edit_permission_on_the_wiki.3F|gain wiki edit permission]].
===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.
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. 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). Look at other already translated pages to see how they did it.


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.
Then, once you translated a page, you must add to the original English page a link to your translation, so readers know that there is a translated version available, using the <nowiki>{{languages}}</nowiki> template. Look at how other translators did it to do the same.


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


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.
Three templates are commonly used in manual pages. These 3 templates have localized versions (Template:Docnav/fr, Template:fr, etc...)
* [[Template:Docnav]] : it is the navigation bar at the bottom of the pages, showing previous and next pages
* [[Template:Languages]] : this template must be placed on original pages, to indicate the reader that a translation exists. The localised version must in return be placed on the translated page, to link to the original English page.
* [[Template:en]] : there is one of these for each language. They must be placed inside the language template.


<span id="Translate_the_FreeCAD_documentation"></span>
=== Page Naming Convention ===
=== 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.
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.


<span id="Old_translation_instructions"></span>
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.
===Instrucciones de traducción antiguas===


{| class="mw-collapsible mw-collapsed wikitable"
* The page About FreeCAD/fr is the page with content
|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.
* The page À propos de FreeCAD contains this code:
|-
#REDIRECT <nowiki>[[About FreeCAD/fr]]</nowiki>
|
* In the About FreeCAD/fr page, the Docnav code will look like this:
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 />
<nowiki>{{docnav/fr|Bienvenue sur l'aide en ligne|Fonctionnalités}}</nowiki>
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 />
The page "Bienvenue sur l'aide en ligne" redirects to Online Help Startpage/fr, and the page "Fonctionnalités" redirects to Feature list/fr.
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 />
If you are unsure how to proceed, don't hesitate to ask for help in the [http://sourceforge.net/apps/phpbb/free-cad/ forum].
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>
== Traducir el sitio web de FreeCAD ==


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


<span id="Development_-_How_to_Add_Localisation"></span>
{{docnav/es|Branding/es|Extra python modules/es}}
== 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.
{{languages | {{se|Localisation/se}} }}


<span id="Preparing_your_FreeCAD/master_modules_for_translation"></span>
[[Category:Developer Documentation]]
=== 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 [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.

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:
{{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].

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