La localisation est en général le processus qui consiste à doter un logiciel d'une interface utilisateur multilingue. Dans FreeCAD, vous pouvez définir la langue par le menu Édition → Préférences → Général → Onglet Général → Langue. FreeCAD utilise Qt pour activer la prise en charge de plusieurs langues. Sur les systèmes Unix/Linux, FreeCAD utilise les paramètres régionaux actuels de votre système par défaut.
Une des choses importantes que les utilisateurs peuvent apporter à FreeCAD (s’ils ne possèdent pas de compétences en programmation, par exemple) est d’aider à traduire ses différents aspects (code source, wiki, site web, documentation, etc.) dans une autre langue. Voici les moyens de le faire.
FreeCAD utilise un système de traduction en ligne tiers collaboratif appelé Crowdin.
Il s'agit d'un logiciel propriétaire mais gratuit pour les projets FOSS. Vous trouverez ci-dessous des instructions sur son utilisation :
Remarque : les détails sur l'utilisation de Crowdin peuvent être trouvés sur la page Administration de Crowdin.
Visitez Traduction d'un atelier externe.
A partir de FreeCAD 0.20, les variables suivantes peuvent être ajoutées manuellement à la section BaseApp/Préférences/Général du fichier user.cfg pour aider au développement de nouvelles traductions :
AdditionalLanguageDomainEntries - pour ajouter des langues entièrement nouvelles à FreeCAD qui ne sont pas encore prises en charge par le code source, vous pouvez utiliser cette préférence d'utilisateur pour ajouter à la liste des langues disponibles. Le format des langues est "Nom de la langue"="code", par exemple :
<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>
AdditionalTranslationsDirectory - ajoute un répertoire supplémentaire pour que FreeCAD recherche les fichiers *.qm. Cet emplacement aura la priorité sur $userAppDataDir/translations et $resourceDir/translations. Par exemple :
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
Ce wiki héberge un contenu volumineux, dont l'essentiel sert à produire le manuel. Vous pouvez naviguer dans la documentation à partir de la page principale ou consulter la table des matières du guide de l'utilisateur.
Pour pouvoir traduire le wiki, vous devez bien sûr obtenir les droits d'édition au wiki.
Il est recommandé d'avoir des connaissances de base du formatage de style wiki et des directives générales du wiki FreeCAD, car vous devrez ajuster le code de balisage lors des traductions. Vous trouverez cette information sur la page Les pages Wiki.
Après le départ du wiki de SourceForge, Yorik a installé un plugin de traduction MediaWiki qui facilite les traductions de pages. Les avantages de l'extension de traduction sont que le titre de la page peut maintenant être traduit, qu'il garde une trace des traductions, qu'il informe si la page d'origine a été mise à jour et qu'il maintient la synchronisation des traductions avec la page anglaise d'origine.
L'outil est documenté dans MediaWiki Traduire et fait parti de l'MediaWiki offre groupée d'extension linguistique.
Pour commencer rapidement la préparation d'une page pour la traduction et activer le plugin, veuillez lire l'Exemple de traduction de page. Une paire de balises doit entourer la page entière pour activer le système de traduction :
<translate> ... </translate>
La page doit également être marquée pour la traduction.
Pour voir un exemple de comment l'outil de traduction fonctionne, vous pouvez visiter la page principale. Vous verrez qu'une barre de menu de langues est automatiquement générée en haut de page. Cliquez par exemple sur le lien français et vous serez redirigé sur Main_Page/fr. Juste sous le titre, vous pourrez lire Cette page est une version traduite de la page Main Page et la traduction est complétée à XX %. (XX étant le pourcentage de traduction réalisé). Cliquez sur le lien "Traduire" pour lancer l'utilitaire de traduction pour mettre à jour, corriger ou revoir une traduction existante.
Si vous vous rendez sur la page principale, vous remarquerez que vous ne pouvez plus modifier la page directement en cliquant sur les balises [Edit], et que le lien supérieur "Modifier" a été remplacé par le lien "Traduire" qui ouvre l'utilitaire de traduction.
Lors de l'ajout de nouveau contenu, la page anglaise devrait être créée en premier, puis traduite dans une autre langue. Si vous désirez changer ou ajouter du contenu dans une page, la modification doit en premier se faire dans la page anglaise.
Si vous ne savez pas comment procéder, n'hésitez pas à demander de l'aide dans le sous-forum Development → Wiki ou dans le sous-forum français.
Chaque utilisateur du wiki disposant des autorisations "Éditeur" peut lancer l'utilitaire de traduction pour écrire, enregistrer et réviser les traductions.
Cependant, seuls les utilisateurs disposant des autorisations "Administrateur" peuvent marquer des pages pour traduction. Une page qui n'est pas marquée pour la traduction n'utilisera pas l'extension de traduction et ne sera pas correctement synchronisée avec les informations en anglais.
La barre latérale gauche est également traduisible, mais seuls les administrateurs peuvent modifier cet élément du site. Veuillez suivre les instructions dédiées sur la page Barre latérale locale.
La première fois que vous basculez une page vers le nouveau système de traduction, toutes les anciennes traductions "manuelles" sont perdues. Pour récupérer une traduction, vous devez enregistrer une copie hors ligne de l'ancien texte avant le changement. Vous pouvez ensuite utiliser cet ancien texte traduit pour renseigner les unités de traduction du nouveau système. Vous pouvez également ouvrir une version antérieure de l'historique et récupérer l'ancien texte de cette manière. Cela doit être fait pour chaque langue ayant une page traduite.
Conformément au consensus général, la page de référence dans le wiki est la page anglaise, qui devrait être créée en premier. Si vous souhaitez modifier ou ajouter du contenu à une page, vous devez d'abord le faire sur la page anglaise, puis reporter la modification sur la page traduite une fois la mise à jour terminée.
Ces instructions sont pour l'historique seulement. Les traductions doivent utiliser le nouveau système avec Traduire le wiki FreeCAD décrit ci-dessus. |
La première étape consiste donc à vérifier si la traduction manuelle a déjà été commencée pour votre langue (regardez dans la barre latérale gauche, sous "manuel").
Page Naming Convention
#REDIRECT [[About_FreeCAD/fr]]
{{docnav/fr|[[Online_Help_Startpage/fr|Aide en ligne]]|[[Feature_list/fr|Fonctionnalités]]}} La page "Aide en ligne" redirige vers l'aide en ligne Startpage/fr et la page "Fonctionnalités" redirige Feature_list/fr. |
La traduction du site web de FreeCAD est maintenant effectuée par le biais de Crowdin. Le fichier est nommé homepage.po.
Cette section est destinée aux développeurs qui souhaitent ajouter une localisation dans leur code.
Voici les parties du processus de traduction de FreeCAD :
Toutes les étapes listées ci-dessus sont exécutées par des "scripts de traduction" qui sont lancés périodiquement par un administrateur.
Préparer votre module à la traduction est très facile. Tout d'abord, créer un répertoire "translations" dans myModule/Gui/Resources, puis ouvrir un terminal (ou l'équivalent Windows/OSX) dans votre répertoire "translations", et saisir la commande suivante :
lupdate -ts myModule.ts
Ceci crée un fichier de traduction vide. Une fois cette tâche complétée, s'assurer que les scripts de traduction sont mis à jour comme dans cette pull request.
La suite se fait automatiquement, en ce qui concerne le développeur. L'administrateur fera l'extraction des chaînes de texte, les traducteurs les traduiront, puis l'administrateur extraira les traductions et mettra à jour la branche FreeCAD/master.
Les modules de tierce partie ou macros sont traduits de façon similaire, mais vous devez vous charger d'une partie du travail. Cette discussion sur le forum (en anglais) décrit les détails.
Mise à jour : voir Traduction d'un atelier externe
Actuellement, les mainteneurs de FreeCAD utilisent l’API Crowdin via les scripts pour Crowdin pour extraire et transférer les traductions vers Crowdin, puis vers le dépôt Github. L'API Crowdin donne aux responsables de FreeCAD la possibilité d'automatiser certains aspects du flux de traduction du projet. Pour plus d'informations, reportez-vous à la documentation de l'API Crowdin.
Voir aussi : FreeCAD Script de base.
Pour obtenir un dictionnaire des langues prises en charge par l'interface FreeCAD, utilisez la méthode supportedLocales
du module FreeCADGui
.
locales = FreeCADGui.supportedLocales()
Après l'exécution, locales
contiendra :
{'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'}
Pour obtenir la langue de l'interface en cours, utilisez la méthode getLocale
du même module :
locale = FreeCADGui.getLocale()
Si la langue utilisée est l'anglais, locale
contiendra :
'English'
Pour obtenir le code de la langue correspondant, vous pouvez utiliser :
locale = FreeCADGui.supportedLocales()[Gui.getLocale()]
Si la langue utilisée est l'anglais, le résultat sera le suivant :
'en'
Pour définir la langue de l'interface utilisée, utilisez la méthode setLocale
du même module. Vous pouvez spécifier la langue ou le code de la langue :
FreeCADGui.setLocale('Russian')
FreeCADGui.setLocale('ru')