Localization Older Methods/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{docnav
{{docnav/fr
|[[Branding|Branding]]
|[[Branding/fr|Branding]]
|[[Extra python modules|Extra python module]]
|[[Extra python modules/fr|Extra python module]]
}}
}}


Ceci est un regroupement d'anciennes méthodes de localisation utilisées par FreeCAD par le passé. Elles montrent une partie des processus internes, '''mais les techniques de la page [[Localisation/fr|Localisation]] doivent être utilisées à partir de maintenant.'''
<div class="mw-translate-fuzzy">
Ceci est un regroupement d'anciennes méthodees de localisation utilisées par FreeCAD dans le passé. Ils montrent une partie des processus internes, '''mais les techniques sur la page [[Localisation/fr|Localisation]] doivent être utilisées à partir de maintenant.'''
</div>


=== Translatiion avec Qt-Linguist (ancienne voie) ===
=== Translation avec Qt-Linguist (ancienne voie) ===


Les informations suivantes ne doivent plus être utilisées et deviendront probablement obsolètes.
Les informations suivantes ne doivent plus être utilisées et deviendront probablement obsolètes.
Ces informations sont conservées ici afin que les programmeurs puissent se familiariser avec son fonctionnement.
Ces informations sont conservées ici afin que les programmeurs puissent se familiariser avec leur fonctionnement.
-
-


<div class="mw-translate-fuzzy">
* Ouvrez tous les dossiers de langue de FreeCAD indiqués ci-dessous
* Ouvrez tous les dossiers de langue de FreeCAD indiqués ci-dessous
* Vérifiez qu’il n’existe pas de fichier .ts avec votre code de langue ("fr" pour le français, "de" pour l’allemand, etc ...)
* Vérifiez qu’il n’existe pas de fichier .ts avec votre code de langue ("fr" pour le français, "de" pour l’allemand, etc ...)
Line 25: Line 22:
* Commencez à traduire (Qt Linguist est très facile à utiliser)
* Commencez à traduire (Qt Linguist est très facile à utiliser)
* Une fois que c'est complètement fait, sauvegardez votre fichier
* Une fois que c'est complètement fait, sauvegardez votre fichier
* [http://www.freecadweb.org/tracker/main_page.php envoyez-nous les fichiers] afin que nous puissions les inclure dans le code source de freecad afin que les autres utilisateurs en bénéficient également. <br />
* [http://www.freecadweb.org/tracker/main_page.php envoyez-nous les fichiers] afin que nous puissions les inclure dans le code source de freecad afin que les autres utilisateurs en bénéficient également.
'''Fichiers de traduction disponibles''' <br />
</div>


'''Fichiers de traduction disponibles'''
''' Available translation files '''




* The following links all direct to the sourceforge which is no longer used by FreeCAD. The code is hosted at https://github.com/FreeCAD/FreeCAD.
* Les liens suivants mènent tous directement à la sourceforge qui n’est plus utilisée par FreeCAD. Le code est hébergé à l'adresse https://github.com/FreeCAD/FreeCAD.
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Gui/Language/ FreeCAD main GUI]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Gui/Language/ FreeCAD main GUI]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Complete/Gui/Resources/translations/ Complete Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/Complete/Gui/Resources/translations/ Complete Workbench]
Line 50: Line 45:
* [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/Assembly/Gui/Resources/translations/ Assembly Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/MeshPart/Gui/Resources/translations/ MeshPart Workbench]
* [http://free-cad.svn.sourceforge.net/viewvc/free-cad/trunk/src/Mod/MeshPart/Gui/Resources/translations/ MeshPart Workbench]
* There is a very good Forum post about the old way of translation, but it is in German. See http://forum.freecadweb.org/viewtopic.php?f=13&t=19496&start=60#p152655
* Voici un très bon article du Forum sur l’ancien mode de traduction, mais il est en allemand. Voir http://forum.freecadweb.org/viewtopic.php?f=13&t=19496&start=60#p152655




Line 57: Line 52:
=== Prérequis ===
=== Prérequis ===


Pour localiser votre module d’application, vous avez besoin de l’aide de ''Qt''. Vous pouvez le télécharger à partir du [http://www.trolltech.com/products/qt/downloads Trolltech-Website], mais elles figurent également dans [[Third Party Libraries|LibPack]]:
Pour localiser votre module d’application, vous avez besoin de l’aide de ''Qt''. Vous pouvez le télécharger à partir du [http://www.trolltech.com/products/qt/downloads Trolltech-Website], mais elle figure également dans [[Third Party Libraries/fr|LibPack]] :
; qmake: génère des fichiers de projet.
; qmake: génère des fichiers de projet.
; lupdate: extrait ou met à jour les textes originaux de votre projet en scannant le code source.
; lupdate: extrait ou met à jour les textes originaux de votre projet en scannant le code source.
Line 90: Line 85:
}}
}}


Vous pouvez ajouter manuellement des fichiers ici. La section <tt> TRANSLATIONS </tt> contient une liste de fichiers avec la traduction pour chaque langue. Dans l'exemple ci-dessus, "MyMod_de.ts" est la traduction allemande.
Vous pouvez ajouter manuellement des fichiers ici. La section <tt>TRANSLATIONS</tt> contient une liste de fichiers avec la traduction pour chaque langue. Dans l'exemple ci-dessus, ''MyMod_de.ts'' est la traduction allemande.


Vous devez maintenant exécuter <tt>lupdate</tt> pour extraire tous les littéraux de chaîne de votre interface graphique. L'exécution de <tt>lupdate</tt> après des modifications du code source est toujours sûre, car elle ne supprime jamais les chaînes de vos fichiers de traduction. Il ajoute seulement de nouvelles chaînes.
Vous devez maintenant exécuter <tt>lupdate</tt> pour extraire tous les littéraux de chaîne de votre interface graphique. L'exécution de <tt>lupdate</tt> après des modifications du code source est toujours sûre, car elle ne supprime jamais les chaînes de vos fichiers de traduction. Il ajoute seulement de nouvelles chaînes.
Line 146: Line 141:
et exécutant pyrcc4 Draft.qrc -o qrc_Draft.py crée un grand fichier Python contenant toutes les ressources. BTW cette approche fonctionne également pour mettre des fichiers d'icônes dans un fichier de ressources
et exécutant pyrcc4 Draft.qrc -o qrc_Draft.py crée un grand fichier Python contenant toutes les ressources. BTW cette approche fonctionne également pour mettre des fichiers d'icônes dans un fichier de ressources


{{docnav/fr
<div class="mw-translate-fuzzy">
{{docnav/fr|[[Branding/fr|Branding]]|[[Extra python modules/fr|Extra python modules]]}}
|[[Branding/fr|Branding]]
|[[Extra python modules/fr|Extra python modules]]
</div>
}}

<div class="mw-translate-fuzzy">
[[Category:Developer Documentation/fr]]
</div>

[[Category:Developer Documentation]]




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

Latest revision as of 14:55, 25 August 2020

Other languages:

Ceci est un regroupement d'anciennes méthodes de localisation utilisées par FreeCAD par le passé. Elles montrent une partie des processus internes, mais les techniques de la page Localisation doivent être utilisées à partir de maintenant.

Translation avec Qt-Linguist (ancienne voie)

Les informations suivantes ne doivent plus être utilisées et deviendront probablement obsolètes. Ces informations sont conservées ici afin que les programmeurs puissent se familiariser avec leur fonctionnement. -

  • Ouvrez tous les dossiers de langue de FreeCAD indiqués ci-dessous
  • Vérifiez qu’il n’existe pas de fichier .ts avec votre code de langue ("fr" pour le français, "de" pour l’allemand, etc ...)
  • S'il existe, vous pouvez télécharger ce fichier si vous souhaitez modifier/réviser/améliorer la traduction (cliquez sur le fichier, puis téléchargez-le)
  • S'il n'existe pas, téléchargez le fichier .ts sans code de langue (ou tout autre fichier .ts disponible, cela fonctionnera aussi)
  • Renommez ce fichier avec votre code de langue
  • Ouvrez-le avec le programme Qt-Linguist
  • Commencez à traduire (Qt Linguist est très facile à utiliser)
  • Une fois que c'est complètement fait, sauvegardez votre fichier
  • envoyez-nous les fichiers afin que nous puissions les inclure dans le code source de freecad afin que les autres utilisateurs en bénéficient également.

Fichiers de traduction disponibles



Préparer vos propres modules/applications pour la traduction

Prérequis

Pour localiser votre module d’application, vous avez besoin de l’aide de Qt. Vous pouvez le télécharger à partir du Trolltech-Website, mais elle figure également dans LibPack :

qmake
génère des fichiers de projet.
lupdate
extrait ou met à jour les textes originaux de votre projet en scannant le code source.
Qt-Linguist
Le Qt-Linguist est très facile à utiliser et vous aide à traduire avec de jolies fonctionnalités telles qu'un livre de phrases pour les phrases courantes.

Projet Setup

Pour démarrer la localisation de votre projet, allez à la partie graphique de votre module et tapez sur la ligne de commande:

qmake -project

Ceci analyse votre répertoire de projet pour les fichiers contenant des chaînes de texte et crée un fichier de projet comme dans l'exemple suivant:

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

Vous pouvez ajouter manuellement des fichiers ici. La section TRANSLATIONS contient une liste de fichiers avec la traduction pour chaque langue. Dans l'exemple ci-dessus, MyMod_de.ts est la traduction allemande.

Vous devez maintenant exécuter lupdate pour extraire tous les littéraux de chaîne de votre interface graphique. L'exécution de lupdate après des modifications du code source est toujours sûre, car elle ne supprime jamais les chaînes de vos fichiers de traduction. Il ajoute seulement de nouvelles chaînes.

Vous devez maintenant ajouter les fichiers .ts à votre projet Visual Studio. Spécifiez la méthode de construction personnalisée suivante pour eux:

python ..\..\..\Tools\qembed.py "$(InputDir)\$(InputName).ts"
                 "$(InputDir)\$(InputName).h" "$(InputName)"

Remarque: Entrez ceci sur une ligne de commande, le saut de ligne n’est utilisé que pour la présentation.

En compilant le fichier .ts de l'exemple ci-dessus, un fichier d'en-tête MyMod_de.h est créé. Le meilleur endroit pour inclure ceci est dans App <Modul> Gui.cpp. Dans notre exemple, il s'agirait de AppMyModGui.cpp. Là vous ajoutez la ligne

new Gui::LanguageProducer("Deutsch", <Modul>_de_h_data, <Modul>_de_h_len);

publier votre traduction dans l'application.

Configuration des fichiers Python pour la traduction

Pour faciliter la localisation des fichiers py, vous pouvez utiliser l'outil "pylupdate4" qui accepte un ou plusieurs fichiers py. Avec l'option -ts, vous pouvez préparer/mettre à jour un ou plusieurs fichiers .ts. Par exemple, pour préparer un fichier .ts en français, entrez simplement dans la ligne de commande:

pylupdate4 *.py -ts YourModule_fr.ts

l'outil pylupdate analysera vos fichiers .py à la recherche des fonctions translate() ou tr() et créera un fichier YourModule_fr.ts. Ce fichier peut être traduit avec QLinguist et un fichier YourModule_fr.qm produit à partir de QLinguist ou avec la commande

lrelease YourModule_fr.ts

Attention, l'outil pylupdate4 n'est pas très performant pour la reconnaissance des fonctions translate(), elles doivent être formatées de manière très spécifique (voir les fichiers du module Draft pour des exemples). Dans votre fichier, vous pouvez ensuite configurer un traducteur comme ceci (après avoir chargé votre QApplication mais AVANT de créer un widget qt):

translator = QtCore.QTranslator()
translator.load("YourModule_"+languages[ln])
QtGui.QApplication.installTranslator(translator)


Vous pouvez également créer le fichier XML Draft.qrc avec le contenu suivant:

<RCC>
<qresource prefix="/translations" > 
<file>Draft_fr.qm</file> 
</qresource> 
</RCC>

et exécutant pyrcc4 Draft.qrc -o qrc_Draft.py crée un grand fichier Python contenant toutes les ressources. BTW cette approche fonctionne également pour mettre des fichiers d'icônes dans un fichier de ressources