Localisation/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(239 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
'''Localisation''' is in general the process of providing a Software with a multiple language user interface. In FreeCAD you can set the language of the user interface under ''Edit→Preferences→Application''. FreeCAD uses [[wikipedia:Qt (toolkit)|Qt]] to enable multiple language support. On Unix/Linux systems, FreeCAD uses the current locale settings of your system by default.


{{Docnav/it
== Helping to translate FreeCAD ==
|[[Branding/it|Marchiatura]]
|[[Workbench_creation/it|Creare un Ambiente di lavoro]]
}}


{{TOCright}}
One of the very important things you can do for FreeCAD if you are not a programmer, is to help to translate the program in your language. To do so is now easier than ever, with the use of the [http://crowdin.net Crowdin] collaborative on-line translation system.


<span id="Overview"></span>
=== How to Translate ===
==Introduzione==


'''Localizzazione''' è in generale il processo che fornisce un software con una interfaccia utente (GUI) multilingua. In FreeCAD è possibile impostare la lingua dell'interfaccia utente in {{MenuCommand|Modifica → Preferenze → Generale}}. FreeCAD utilizza [[wikipedia:Qt (toolkit)|Qt]] per abilitare il supporto di più lingue. Sui sistemi Unix / Linux, FreeCAD utilizza le impostazioni locali di default del sistema.
* Go to the [http://crowdin.net/project/freecad FreeCAD translation project page on Crowdin];
* Login by creating a new profile, or using a third-party account like your GMail address;
* Click on the language you wish to work on;
* Start translating by clicking on the Translate button next to one of the files. For example, ''FreeCAD.ts'' contains the text strings for the FreeCAD main GUI.
* You can vote for existing translations, or you can create your own.


<span id="Helping_to_translate_FreeCAD"></span>
'''Note''': If you are actively taking part in translating FreeCAD and want to be
== Contribuire a tradurre FreeCAD ==
informed before next release is ready to be launched,
so there is time to review your translation, please subscribe
to this issue: http://www.freecadweb.org/tracker/view.php?id=137


Una cosa molto importante che gli utenti possono fare per contribuire a FreeCAD (se per esempio non hanno competenze di programmazione) è quella di aiutare a tradurre i suoi diversi aspetti (codice sorgente, wiki, sito Web, documentazione ecc.) in un'altra lingua. Ecco i modi per farlo.


<span id="Translate_the_FreeCAD_source_code"></span>
=== Translating with Qt-Linguist (old way) ===
== Tradurre il codice sorgente di FreeCAD ==


FreeCAD utilizza un sistema di traduzione in linea collaborativo di terze parti chiamato [https://crowdin.net 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.


[[File:Logo-crowdin.png|320px]]
* 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://www.freecadweb.org/tracker/main_page.php send the files to us] so we can include them in the freecad source code so they benefit other users too.


È un software proprietario ma gratuito per i progetti [https://en.wikipedia.org/wiki/Free_and_open-source_software FOSS]. Sotto ci sono le istruzioni su come usarlo:
==== Available translation files ====


* Andare alla pagina [http://crowdin.net/project/freecad Traduzione del progetto FreeCAD] in Crowdin.
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Gui/Language/ FreeCAD main GUI]
* Accedere creando un nuovo profilo, o utilizzando un account di terze parti (GitHub, GitLab, GMail etc...).
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Complete/Gui/Resources/translations/ Complete Workbench]
* Fare clic sulla lingua su cui si desidera lavorare.
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Drawing/Gui/Resources/translations/ Drawing Workbench]
* Iniziare a tradurre facendo clic sul pulsante {{Button|Traduci}} accanto a uno dei file. Ad esempio, su {{FileName|FreeCAD.ts}} che contiene le stringhe di testo per la GUI principale di FreeCAD.
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Draft/Languages/ Draft Workbench]
* Si può convalidare le traduzioni esistenti, oppure è possibile crearne di proprie.
* [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]


{{Message|Se si partecipa alla traduzione di FreeCAD, e si desidera essere informati prima della pubblicazione di una prossima versione che è il momento di rivedere la propria traduzione, si prega di iscriversi a uno dei team di traduzione di FreeCAD in Crowdin}}.
== Preparing your own modules/applications for translation ==


{{Emphasis|Nota:}} I dettagli su come utilizzare crowdin possono essere trovati nella pagina [[Crowdin_Administration|Amministrazione di Crowdin]].
=== Prerequisites ===


<span id="Translating_external_workbenches"></span>
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 [[Third Party Libraries|LibPack]]:
== Traduzione degli ambienti esterni ==
;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.


Vedere [[Translating an external workbench/it|Traduzione di un ambiente esterno]].
=== Project Setup ===


<span id="FreeCAD_Preferences_for_Translators"></span>
To start the localisation of your project go to the GUI-Part of you module and type on the command line:
== Preferenze di FreeCAD per i traduttori ==
<syntaxhighlight>
qmake -project
</syntaxhighlight>
This scans your project directory for files containing text strings and creates a project file like the following example:
<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>


A partire da FreeCAD 0.20, le seguenti variabili possono essere aggiunte manualmente alla sezione BaseApp/Preferences/General del file user.cfg per facilitare lo sviluppo di nuove traduzioni:
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.


'''AdditionalLanguageDomainEntries''' - per aggiungere lingue completamente nuove a FreeCAD, che non sono attualmente supportate dal codice sorgente, è possibile utilizzare questa preferenza utente per aggiungere all'elenco delle lingue disponibili. Il formato delle lingue è "Language Name"="codice"; Per esempio:
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.


<pre>
Now you need to add the <tt>.ts</tt>-files to your VisualStudio project. Specifiy the following custom build method for them:
<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>
<syntaxhighlight>
</pre>
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.


'''AdditionalTranslationsDirectory''' - aggiunge una directory aggiuntiva per FreeCAD per cercare i file *.qm. Questa posizione avrà la precedenza su $userAppDataDir/translations e $resourceDir/translations. Per esempio:
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.


<pre>
=== Setting up python files for translation ===
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
</pre>


<span id="Translate_the_FreeCAD_wiki"></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:
== Tradurre il wiki ==
<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


Questo wiki ospita molti contenuti, la maggior parte dei quali costruisce il manuale. È possibile sfogliare la documentazione a partire dalla [[Main Page/it|Pagina principale]], o dare un'occhiata al [[Online Help Toc/it|Sommario]] del manuale utente.
== Translating the wiki ==


Per tradurre il wiki, si deve disporre dei permessi di modifica del wiki; vedere [[Frequently_asked_questions/it#Come si può ottenere il permesso di modificare il wiki?|Come si può ottenere il permesso di modificare il wiki?]].
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]].


È necessario avere una conoscenza di base sulla formattazione dello stile wiki e sulle linee guida generali del wiki di FreeCAD, perché durante la traduzione bisogna sapere cosa fare con alcuni tag. Potete trovare queste informazioni in [[WikiPages|WikiPages]] (en).
===Translation plugin===


<span id="Mediawiki_Translation_Extension"></span>
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.
===Plugin Mediawiki Translation===


Quando il Wiki è stato spostato da SourceForge, [[User:Yorik|Yorik]] ha installato un [http://www.mediawiki.org/wiki/Help:Extension:Translate MediaWiki's plugin di traduzione] che facilita la traduzione delle pagine. I vantaggi del plugin di traduzione sono che, ad esempio, ora può essere tradotto anche il titolo della pagina, che tiene traccia delle traduzioni, notifica se la pagina originale è stata aggiornata, e mantiene le traduzioni sincronizzate con la pagina originale inglese.
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].


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].
Lo strumento è documentato in [http://www.mediawiki.org/wiki/Help:Extension:Translate Help:Extension:Translate], ed è parte di [http://www.mediawiki.org/wiki/MediaWiki_Language_Extension_Bundle MediaWiki Language Extension Bundle].


Per sapere come preparare rapidamente una pagina per la traduzione e attivare il plugin, si prega di leggere [http://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example Page translation example]. In sostanza, una coppia di tag
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.


<pre>
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.
&lt;translate&gt; ... &lt;/translate&gt;
</pre><!--using lt and gt so that tags are not recognized-->


deve circondare l'intera pagina per attivare il sistema di traduzione e la pagina deve essere contrassegnata per la traduzione.
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.


Per vedere un esempio di come funziona lo strumento di traduzione, visitare la [[Main_Page/it|Pagina principale]]. Si vedrà una barra della lingua generata automaticamente in alto. Cliccare su [[Main_Page/de|Deutsch]] (tedesco), si andrà a [[Main_Page/de]]. Proprio sotto il titolo, "Hauptseite" (in inglese "Main Page"), si può leggere <small>{{Emphasis|Questa pagina è una versione tradotta della pagina Pagina principale e la traduzione è completa al XX%}}</small >, XX è la percentuale corrente di traduzione. Fare clic su "Traduci" nella parte superiore della pagina per avviare l'utilità di traduzione per aggiornare, correggere e rivedere la traduzione esistente.
'''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.'''


Ora se si va nella pagina [[Main Page]], si nota che quando la pagina viene contrassegnata per la traduzione non è possibile modificarla direttamente, ma che si deve passare attraverso l'utility di traduzione.
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]].


Quando si aggiungono nuovi contenuti, prima deve essere creata la pagina inglese, e poi la pagina inglese può essere tradotta in un'altra lingua. Se qualcuno vuole cambiare o aggiungere dei contenuti in una pagina esistente, deve farlo nella pagina inglese, marcarla per la traduzione e poi tradurre i contenuti editati.
===Old translation instructions===
These instructions are for historical background only, while the pages are being passed to the new translation plugin.


Se non siete sicuri su come procedere, non esitate a chiedere aiuto nel [https://forum.freecadweb.org/viewforum.php?f=21 Development → Wiki subforum] o nel [https://forum.freecadweb.org/viewforum.php?f=11 specific language subforum] del [http://forum.freecadweb.org FreeCAD forum].
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").


<span id="Important_notes"></span>
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.
===Note importanti===


Ogni utente del wiki che dispone delle autorizzazioni "Editor" è in grado di avviare l'utilità di traduzione per scrivere, salvare e rivedere le traduzioni.
You must then [[FAQ#How_can_I_get_edit_permission_on_the_wiki.3F|gain wiki edit permission]].


Tuttavia, solo gli utenti con permessi di "Amministratore" possono contrassegnare le pagine per la traduzione. Una pagina che non è stata contrassegnata per la traduzione non fa uso dell'estensione di traduzione e non è sincronizzata correttamente con le informazioni in inglese.
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'''.


Anche la barra laterale (il menu di navigazione a sinistra) è traducibile, ma solo gli amministratori possono modificare questo elemento del sito. Si prega di seguire le istruzioni dedicate a questo nella pagina [[Localisation Sidebar/it|Tradurre la Sidebar]].
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.


La prima volta che una pagina viene passata al nuovo sistema di traduzione perde tutte le sue vecchie traduzioni "manuali". Per recuperare una traduzione, bisogna salvare una copia offline del vecchio testo prima della conversione. Quindi si può usare questo vecchio testo tradotto per riempire le unità di traduzione nel nuovo sistema. Si può anche aprire una versione precedente dalla cronologia (pulsante History) e ottenere il vecchio testo in questo modo. Questo deve essere fatto per ogni lingua che ha una pagina tradotta.
Add a slash and your language code in the categories, like <nowiki>[[Category:Developer Documentation/fr]]</nowiki>


<span id="Translate_the_FreeCAD_documentation"></span>
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.
=== Tradurre la documentazione di FreeCAD ===


Come da consenso generale, la pagina di riferimento nel wiki è la pagina inglese, che dovrebbe essere creata per prima. Se si desidera modificare o aggiungere contenuto a una pagina, è necessario farlo prima alla pagina inglese e solo una volta completato l'aggiornamento, portare la modifica nella pagina tradotta.
Four templates are commonly used in manual pages. These 4 templates have localized versions (Template:Docnav/fr, Template:fr, etc...)
* [[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.


<span id="Old_translation_instructions"></span>
====Page Naming Convention====
=== Vecchie istruzioni di traduzione ===


{| class="mw-collapsible mw-collapsed wikitable"
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.
|Queste istruzioni sono solo un background storico, mentre le pagine vengono passate al nuovo plugin di traduzione.

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

Il primo passo è '''controllare se è già stata avviata la traduzione del manuale per la propria lingua''' (cercare nella barra laterale sinistra, sotto "manual").<br />
* The page About FreeCAD/fr is the page with content
In caso contrario, andare al [http://forum.freecadweb.org/ forum] e comunicare che si intende avviare una nuova traduzione, verranno create le impostazioni di base per la lingua che si desidera lavorare.<br />
* The page À propos de FreeCAD contains this code:
Vedere [[Frequently_asked_questions/it#Come si può ottenere il permesso di modificare il wiki?|Come si può ottenere il permesso di modificare il wiki?]].<br />
Se la lingua è già presente, vedere quali pagine da tradurre sono ancora mancanti (sono quelle elencate in rosso). La tecnica è semplice: '''entrare in una pagina rossa, copiare e incollare il contenuto della corrispondente pagina inglese, e iniziare a tradurre.'''.<br />
Non dimenticare di includere tutti i tag e i modelli dalla pagina originale in inglese. Alcuni di questi modelli avranno un equivalente nella nuova lingua (per esempio, esiste un modello di Docnav in francese denominato Docnav/fr). Si deve utilizzare '''una barra slash e il codice della proria lingua''' in quasi tutti i collegamenti. Guardare altre pagine già tradotte per vedere come procedere.<br />
Aggiungere una barra e il codice della propria lingua nelle categorie, come <nowiki>[[Category:Developer Documentation/it]]</nowiki><br />
Se non si è sicuri, andare nel forum e richiedere un controllo su quello che si è fatto, qualcuno vi dirà se và bene oppure no.<br />
Nelle pagine del manuale sono comunemente utilizzati due modelli (maschere standard). Questi 2 modelli hanno versioni localizzate (Template:Docnav/it, Template:it, etc...)
* [[Template:GuiCommand]] : è il blocco di informazioni del comando Gui in alto a destra nella documentazione del comando.
* [[Template:Docnav]] : è la barra di navigazione visualizzata nella parte inferiore delle pagine, mostra le pagine precedenti e successive<br />
'''Convenzioni sui nomi delle pagine'''<br />
Si prega di prendere atto che, a causa di limitazioni in Sourceforge al motore MediaWiki, è necessario che tutte le pagine tradotte mantengano il nome originale in inglese della pagina corrispondente, con l'aggiunta di uno slash e del codice della lingua.<br />
Per esempio, la pagina tradotta di '''About FreeCAD''' deve essere '''About Freecad/it''' in italiano, '''About FreeCAD/pl''' in polacco, etc. Il motivo è semplice: in questo modo se i traduttori interrompono il lavoro, gli amministratori del wiki, che non parlano tutte le lingue, sanno di quali pagine si tratta. Ciò facilita la manutenzione ed evita di perdere delle pagine.<br />
Se si desidera che il modello Docnav mostri pagine collegate nella propria lingua, è possibile utilizzare '''redirect pages'''. Esse sono sostanzialmente collegate alla pagina vera e propria. Ecco un esempio con la pagina in francese di ''About FreeCAD''.<br />
* La pagina '''About FreeCAD/fr''' è la pagina con il contenuto
* La pagina '''À propos de FreeCAD''' contiene contiene questo codice:
#REDIRECT <nowiki>[[About FreeCAD/fr]]</nowiki>
#REDIRECT <nowiki>[[About FreeCAD/fr]]</nowiki>
* In the About FreeCAD/fr page, the Docnav code will look like this:
* Nella pagina About FreeCAD/fr, il codice Docnav sarà simile a questo:
<nowiki>{{docnav/fr|Bienvenue sur l'aide en ligne|Fonctionnalités}}</nowiki>
<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.
La pagina "Bienvenue sur l'aide en ligne" reindirizza a Online Help Startpage/fr, e la pagina "Fonctionnalités" reindirizza a Feature list/fr.
|}


<span id="Translate_the_FreeCAD_website"></span>
If you are unsure how to proceed, don't hesitate to ask for help in the [http://forum.freecadweb.org/ forum].
== Tradurre il sito Web di FreeCAD ==


La traduzione del sito Web di FreeCAD viene ora eseguita tramite [https://crowdin.com/translate/freecad/561/en-en Crowdin]. Il file si chiama {{FileName|homepage.po}}.
{{docnav|Branding|Extra python modules}}


<span id="Development_-_How_to_Add_Localisation"></span>
[[Category:Developer Documentation]]
== Sviluppo - Come aggiungere la localizzazione ==


Questa sezione è per gli sviluppatori che desiderano aggiungere la localizzazione al loro codice.
{{clear}}

<languages/>
<span id="Preparing_your_FreeCAD/master_modules_for_translation"></span>
=== Preparare i moduli di FreeCAD/master per la traduzione ===

Queste sono le parti del processo di traduzione di FreeCAD:
* estrarre le stringhe di testo dal codice sorgente nei file *.ts
* caricare i file *.ts in [http://crowdin.net/project/freecad FreeCAD Crowdin].
* tradurre le stringhe all'interno di Crowdin
* estrarre i file *.ts nuovi o modicati da Crowdin
* convertire i file *.ts in file *.qm e aggiornare il file *.qrc di ogni modulo
* aggiornare FreeCAD master

Tutti i passaggi precedenti sono eseguiti dagli "script di traduzione" che vengono eseguiti periodicamente da un amministratore.

Preparare il modulo per la traduzione è abbastanza semplice. Innanzitutto, è necessario assicurarsi di avere una directory "translations" in {{FileName|myModule/Gui/Resources}}. Quindi aprire una finestra di terminale (o equivalente in Windows/OSX) nella directory "translations" e inserire il seguente comando:
{{Code|code=lupdate -ts myModule.ts}}

Questo crea un file di traduzione vuoto. Una volta fatto ciò, è necessario assicurarsi che gli script di traduzione siano aggiornati come in questa [https://github.com/FreeCAD/FreeCAD/pull/810 pull request].

Tutto quello che segue va in automatico per quanto riguarda lo sviluppatore. L'amministratore estrarrà le stringhe di testo, i traduttori le tradurranno, quindi l'amministratore estrarrà le traduzioni e aggiornerà FreeCAD/master.

<span id="Preparing_your_3rd_party_module_or_macro_for_translation"></span>
=== Preparare il proprio modulo o la macro per la traduzione ===

I moduli o le macro di terze parti vengono tradotti più o meno allo stesso modo, tranne per il fatto che si deve eseguire parte del lavoro da solo.
Questa [https://www.forum.freecadweb.org/viewtopic.php?f=3&t=25180 discussione del forum] descrive i dettagli.

Aggiornamento: vedere [[Translating_an_external_workbench/it|Traduzione di un ambiente di lavoro esterno]]

<span id="Older_module_translation_techniques"></span>
=== Precedenti tecniche di traduzione dei moduli ===

[[Localization_Older_Methods/it|Vecchi metodi di localizzazione]] descrive in dettaglio l'uso di strumenti di traduzione come Qt Linguist, lupdate, lrelease, pylupdate4, ecc. La maggior parte di questi strumenti non sono più richiesti per i moduli FreeCAD/master, ma può essere utile conoscerli per la preparazione e l'aggiornamento di moduli di terze parti.

<span id="Automating_Crowdin_Translation_Updates"></span>
== Aggiornamento automatico delle traduzioni in Crowdin ==

Attualmente i manutentori di FreeCAD utilizzano l'API Crowdin tramite [[Crowdin_Scripts/it|Crowdin Scripts]] per eseguire il pull e il push delle traduzioni in Crowdin e di nuovo nel repository Github. L'API di Crowdin offre ai manutentori di FreeCAD la possibilità di automatizzare aspetti del flusso di lavoro di traduzione del progetto, per maggiori informazioni fare riferimento alla [https://support.crowdin.com/api/api-integration-setup/ Documentazione dell'API di Crowdin].

<span id="Related_Pages"></span>
== Pagine correlate ==

* [[Crowdin Administration/it|Amministrazione di Crowdin]]
* [[Crowdin Scripts/it|Crowdin Scripts]]

==Scripting==

{{Emphasis|Vedere anche:}} [[FreeCAD_Scripting_Basics|Script di base per FreeCAD]].

Per ottenere un dizionario con le lingue supportate dall'interfaccia di FreeCAD, utilizzare il metodo {{incode|supportedLocales}} del modulo {{incode|FreeCADGui}}.

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

Dopo l'esecuzione {{incode|locales}} conterrà:

{{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'}
}}

Per ottenere la lingua dell'interfaccia corrente usa il metodo {{incode|getLocale}} dello stesso modulo:

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

Se la lingua corrente è l'inglese {{incode|locale}} conterrà:

{{Code|code=
'English'
}}

Per ottenere il [https://support.crowdin.com/api/language-codes/ language code] corrispondente utilizzare:

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

Se la lingua corrente è l'inglese il risultato sarà:

{{Code|code=
'en'
}}

Per impostare la lingua dell'interfaccia corrente utilizzare il metodo {{incode|setLocale}} dello stesso modulo. È possibile specificare la lingua o il codice della lingua:

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


{{Docnav/it
|[[Branding/it|Marchiatura]]
|[[Workbench_creation/it|Creare un Ambiente di lavoro]]
}}

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

Latest revision as of 07:20, 19 April 2023

Introduzione

Localizzazione è in generale il processo che fornisce un software con una interfaccia utente (GUI) multilingua. In FreeCAD è possibile impostare la lingua dell'interfaccia utente in Modifica → Preferenze → Generale. FreeCAD utilizza Qt per abilitare il supporto di più lingue. Sui sistemi Unix / Linux, FreeCAD utilizza le impostazioni locali di default del sistema.

Contribuire a tradurre FreeCAD

Una cosa molto importante che gli utenti possono fare per contribuire a FreeCAD (se per esempio non hanno competenze di programmazione) è quella di aiutare a tradurre i suoi diversi aspetti (codice sorgente, wiki, sito Web, documentazione ecc.) in un'altra lingua. Ecco i modi per farlo.

Tradurre il codice sorgente di FreeCAD

FreeCAD utilizza un sistema di traduzione in linea collaborativo di terze parti chiamato Crowdin.

È un software proprietario ma gratuito per i progetti FOSS. Sotto ci sono le istruzioni su come usarlo:

  • Andare alla pagina Traduzione del progetto FreeCAD in Crowdin.
  • Accedere creando un nuovo profilo, o utilizzando un account di terze parti (GitHub, GitLab, GMail etc...).
  • Fare clic sulla lingua su cui si desidera lavorare.
  • Iniziare a tradurre facendo clic sul pulsante Traduci accanto a uno dei file. Ad esempio, su FreeCAD.ts che contiene le stringhe di testo per la GUI principale di FreeCAD.
  • Si può convalidare le traduzioni esistenti, oppure è possibile crearne di proprie.
Se si partecipa alla traduzione di FreeCAD, e si desidera essere informati prima della pubblicazione di una prossima versione che è il momento di rivedere la propria traduzione, si prega di iscriversi a uno dei team di traduzione di FreeCAD in Crowdin

.

Nota: I dettagli su come utilizzare crowdin possono essere trovati nella pagina Amministrazione di Crowdin.

Traduzione degli ambienti esterni

Vedere Traduzione di un ambiente esterno.

Preferenze di FreeCAD per i traduttori

A partire da FreeCAD 0.20, le seguenti variabili possono essere aggiunte manualmente alla sezione BaseApp/Preferences/General del file user.cfg per facilitare lo sviluppo di nuove traduzioni:

AdditionalLanguageDomainEntries - per aggiungere lingue completamente nuove a FreeCAD, che non sono attualmente supportate dal codice sorgente, è possibile utilizzare questa preferenza utente per aggiungere all'elenco delle lingue disponibili. Il formato delle lingue è "Language Name"="codice"; Per esempio:

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

AdditionalTranslationsDirectory - aggiunge una directory aggiuntiva per FreeCAD per cercare i file *.qm. Questa posizione avrà la precedenza su $userAppDataDir/translations e $resourceDir/translations. Per esempio:

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

Tradurre il wiki

Questo wiki ospita molti contenuti, la maggior parte dei quali costruisce il manuale. È possibile sfogliare la documentazione a partire dalla Pagina principale, o dare un'occhiata al Sommario del manuale utente.

Per tradurre il wiki, si deve disporre dei permessi di modifica del wiki; vedere Come si può ottenere il permesso di modificare il wiki?.

È necessario avere una conoscenza di base sulla formattazione dello stile wiki e sulle linee guida generali del wiki di FreeCAD, perché durante la traduzione bisogna sapere cosa fare con alcuni tag. Potete trovare queste informazioni in WikiPages (en).

Plugin Mediawiki Translation

Quando il Wiki è stato spostato da SourceForge, Yorik ha installato un MediaWiki's plugin di traduzione che facilita la traduzione delle pagine. I vantaggi del plugin di traduzione sono che, ad esempio, ora può essere tradotto anche il titolo della pagina, che tiene traccia delle traduzioni, notifica se la pagina originale è stata aggiornata, e mantiene le traduzioni sincronizzate con la pagina originale inglese.

Lo strumento è documentato in Help:Extension:Translate, ed è parte di MediaWiki Language Extension Bundle.

Per sapere come preparare rapidamente una pagina per la traduzione e attivare il plugin, si prega di leggere Page translation example. In sostanza, una coppia di tag

<translate> ... </translate>

deve circondare l'intera pagina per attivare il sistema di traduzione e la pagina deve essere contrassegnata per la traduzione.

Per vedere un esempio di come funziona lo strumento di traduzione, visitare la Pagina principale. Si vedrà una barra della lingua generata automaticamente in alto. Cliccare su Deutsch (tedesco), si andrà a Main_Page/de. Proprio sotto il titolo, "Hauptseite" (in inglese "Main Page"), si può leggere Questa pagina è una versione tradotta della pagina Pagina principale e la traduzione è completa al XX%, XX è la percentuale corrente di traduzione. Fare clic su "Traduci" nella parte superiore della pagina per avviare l'utilità di traduzione per aggiornare, correggere e rivedere la traduzione esistente.

Ora se si va nella pagina Main Page, si nota che quando la pagina viene contrassegnata per la traduzione non è possibile modificarla direttamente, ma che si deve passare attraverso l'utility di traduzione.

Quando si aggiungono nuovi contenuti, prima deve essere creata la pagina inglese, e poi la pagina inglese può essere tradotta in un'altra lingua. Se qualcuno vuole cambiare o aggiungere dei contenuti in una pagina esistente, deve farlo nella pagina inglese, marcarla per la traduzione e poi tradurre i contenuti editati.

Se non siete sicuri su come procedere, non esitate a chiedere aiuto nel Development → Wiki subforum o nel specific language subforum del FreeCAD forum.

Note importanti

Ogni utente del wiki che dispone delle autorizzazioni "Editor" è in grado di avviare l'utilità di traduzione per scrivere, salvare e rivedere le traduzioni.

Tuttavia, solo gli utenti con permessi di "Amministratore" possono contrassegnare le pagine per la traduzione. Una pagina che non è stata contrassegnata per la traduzione non fa uso dell'estensione di traduzione e non è sincronizzata correttamente con le informazioni in inglese.

Anche la barra laterale (il menu di navigazione a sinistra) è traducibile, ma solo gli amministratori possono modificare questo elemento del sito. Si prega di seguire le istruzioni dedicate a questo nella pagina Tradurre la Sidebar.

La prima volta che una pagina viene passata al nuovo sistema di traduzione perde tutte le sue vecchie traduzioni "manuali". Per recuperare una traduzione, bisogna salvare una copia offline del vecchio testo prima della conversione. Quindi si può usare questo vecchio testo tradotto per riempire le unità di traduzione nel nuovo sistema. Si può anche aprire una versione precedente dalla cronologia (pulsante History) e ottenere il vecchio testo in questo modo. Questo deve essere fatto per ogni lingua che ha una pagina tradotta.

Tradurre la documentazione di FreeCAD

Come da consenso generale, la pagina di riferimento nel wiki è la pagina inglese, che dovrebbe essere creata per prima. Se si desidera modificare o aggiungere contenuto a una pagina, è necessario farlo prima alla pagina inglese e solo una volta completato l'aggiornamento, portare la modifica nella pagina tradotta.

Vecchie istruzioni di traduzione

Queste istruzioni sono solo un background storico, mentre le pagine vengono passate al nuovo plugin di traduzione.

Il primo passo è controllare se è già stata avviata la traduzione del manuale per la propria lingua (cercare nella barra laterale sinistra, sotto "manual").
In caso contrario, andare al forum e comunicare che si intende avviare una nuova traduzione, verranno create le impostazioni di base per la lingua che si desidera lavorare.
Vedere Come si può ottenere il permesso di modificare il wiki?.
Se la lingua è già presente, vedere quali pagine da tradurre sono ancora mancanti (sono quelle elencate in rosso). La tecnica è semplice: entrare in una pagina rossa, copiare e incollare il contenuto della corrispondente pagina inglese, e iniziare a tradurre..
Non dimenticare di includere tutti i tag e i modelli dalla pagina originale in inglese. Alcuni di questi modelli avranno un equivalente nella nuova lingua (per esempio, esiste un modello di Docnav in francese denominato Docnav/fr). Si deve utilizzare una barra slash e il codice della proria lingua in quasi tutti i collegamenti. Guardare altre pagine già tradotte per vedere come procedere.
Aggiungere una barra e il codice della propria lingua nelle categorie, come [[Category:Developer Documentation/it]]
Se non si è sicuri, andare nel forum e richiedere un controllo su quello che si è fatto, qualcuno vi dirà se và bene oppure no.
Nelle pagine del manuale sono comunemente utilizzati due modelli (maschere standard). Questi 2 modelli hanno versioni localizzate (Template:Docnav/it, Template:it, etc...)

  • Template:GuiCommand : è il blocco di informazioni del comando Gui in alto a destra nella documentazione del comando.
  • Template:Docnav : è la barra di navigazione visualizzata nella parte inferiore delle pagine, mostra le pagine precedenti e successive

Convenzioni sui nomi delle pagine
Si prega di prendere atto che, a causa di limitazioni in Sourceforge al motore MediaWiki, è necessario che tutte le pagine tradotte mantengano il nome originale in inglese della pagina corrispondente, con l'aggiunta di uno slash e del codice della lingua.
Per esempio, la pagina tradotta di About FreeCAD deve essere About Freecad/it in italiano, About FreeCAD/pl in polacco, etc. Il motivo è semplice: in questo modo se i traduttori interrompono il lavoro, gli amministratori del wiki, che non parlano tutte le lingue, sanno di quali pagine si tratta. Ciò facilita la manutenzione ed evita di perdere delle pagine.
Se si desidera che il modello Docnav mostri pagine collegate nella propria lingua, è possibile utilizzare redirect pages. Esse sono sostanzialmente collegate alla pagina vera e propria. Ecco un esempio con la pagina in francese di About FreeCAD.

  • La pagina About FreeCAD/fr è la pagina con il contenuto
  • La pagina À propos de FreeCAD contiene contiene questo codice:
#REDIRECT [[About FreeCAD/fr]]
  • Nella pagina About FreeCAD/fr, il codice Docnav sarà simile a questo:
{{docnav/fr|Bienvenue sur l'aide en ligne|Fonctionnalités}}

La pagina "Bienvenue sur l'aide en ligne" reindirizza a Online Help Startpage/fr, e la pagina "Fonctionnalités" reindirizza a Feature list/fr.

Tradurre il sito Web di FreeCAD

La traduzione del sito Web di FreeCAD viene ora eseguita tramite Crowdin. Il file si chiama homepage.po.

Sviluppo - Come aggiungere la localizzazione

Questa sezione è per gli sviluppatori che desiderano aggiungere la localizzazione al loro codice.

Preparare i moduli di FreeCAD/master per la traduzione

Queste sono le parti del processo di traduzione di FreeCAD:

  • estrarre le stringhe di testo dal codice sorgente nei file *.ts
  • caricare i file *.ts in FreeCAD Crowdin.
  • tradurre le stringhe all'interno di Crowdin
  • estrarre i file *.ts nuovi o modicati da Crowdin
  • convertire i file *.ts in file *.qm e aggiornare il file *.qrc di ogni modulo
  • aggiornare FreeCAD master

Tutti i passaggi precedenti sono eseguiti dagli "script di traduzione" che vengono eseguiti periodicamente da un amministratore.

Preparare il modulo per la traduzione è abbastanza semplice. Innanzitutto, è necessario assicurarsi di avere una directory "translations" in myModule/Gui/Resources. Quindi aprire una finestra di terminale (o equivalente in Windows/OSX) nella directory "translations" e inserire il seguente comando:

lupdate -ts myModule.ts

Questo crea un file di traduzione vuoto. Una volta fatto ciò, è necessario assicurarsi che gli script di traduzione siano aggiornati come in questa pull request.

Tutto quello che segue va in automatico per quanto riguarda lo sviluppatore. L'amministratore estrarrà le stringhe di testo, i traduttori le tradurranno, quindi l'amministratore estrarrà le traduzioni e aggiornerà FreeCAD/master.

Preparare il proprio modulo o la macro per la traduzione

I moduli o le macro di terze parti vengono tradotti più o meno allo stesso modo, tranne per il fatto che si deve eseguire parte del lavoro da solo. Questa discussione del forum descrive i dettagli.

Aggiornamento: vedere Traduzione di un ambiente di lavoro esterno

Precedenti tecniche di traduzione dei moduli

Vecchi metodi di localizzazione descrive in dettaglio l'uso di strumenti di traduzione come Qt Linguist, lupdate, lrelease, pylupdate4, ecc. La maggior parte di questi strumenti non sono più richiesti per i moduli FreeCAD/master, ma può essere utile conoscerli per la preparazione e l'aggiornamento di moduli di terze parti.

Aggiornamento automatico delle traduzioni in Crowdin

Attualmente i manutentori di FreeCAD utilizzano l'API Crowdin tramite Crowdin Scripts per eseguire il pull e il push delle traduzioni in Crowdin e di nuovo nel repository Github. L'API di Crowdin offre ai manutentori di FreeCAD la possibilità di automatizzare aspetti del flusso di lavoro di traduzione del progetto, per maggiori informazioni fare riferimento alla Documentazione dell'API di Crowdin.

Pagine correlate

Scripting

Vedere anche: Script di base per FreeCAD.

Per ottenere un dizionario con le lingue supportate dall'interfaccia di FreeCAD, utilizzare il metodo supportedLocales del modulo FreeCADGui.

locales = FreeCADGui.supportedLocales()

Dopo l'esecuzione locales conterrà:

{'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'}

Per ottenere la lingua dell'interfaccia corrente usa il metodo getLocale dello stesso modulo:

locale = FreeCADGui.getLocale()

Se la lingua corrente è l'inglese locale conterrà:

'English'

Per ottenere il language code corrispondente utilizzare:

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

Se la lingua corrente è l'inglese il risultato sarà:

'en'

Per impostare la lingua dell'interfaccia corrente utilizzare il metodo setLocale dello stesso modulo. È possibile specificare la lingua o il codice della lingua:

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