Lokalizace je obecně proces poskytování softwaru s vícejazyčným uživatelským rozhraním. Ve FreeCADu můžete nastavit jazyk uživatelského rozhraní v Upravit → Nastavení → Obecné. FreeCAD používá Qt k umožnění podpory více jazyků. Na systémech Unix/Linux FreeCAD ve výchozím nastavení používá aktuální nastavení jazyka vašeho systému.
Jednou z velmi důležitých věcí, kterou mohou uživatelé přispět k FreeCADu (pokud například nemají programátorské znalosti), je pomoc s překladem jeho různých částí (zdrojový kód, wiki, webové stránky, dokumentace atd.) do jiného jazyka. Zde jsou způsoby, jak to udělat.
FreeCAD využívá kolaborativní online překladatelský systém třetí strany s názvem Crowdin.
Jedná se o proprietární software, který je však zdarma pro projekty FOSS. Níže jsou uvedeny pokyny k jeho použití:
Poznámka: Podrobnosti o tom, jak používat Crowdin, najdete na stránce Správa Crowdin.
Navštivte Překlad externího pracovního prostředí.
Počínaje verzí FreeCAD 0.20 lze následující proměnné ručně přidat do sekce BaseApp/Preferences/General souboru user.cfg, aby pomohly při vývoji nových překladů:
Další jazykové doménové záznamy - pro přidání zcela nových jazyků do FreeCADu, které nejsou v současné době zdrojovým kódem podporovány, můžete použít tuto uživatelskou předvolbu a přidat ji do seznamu dostupných jazyků. Formát jazyků je "Language Name"="code"; například:
<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>
Přídavný překladový adresář - přidejte další adresář, ve kterém bude FreeCAD hledat soubory *.qm. Toto umístění bude mít přednost před $userAppDataDir/translations a $resourceDir/translations. Například:
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
Tato wiki obsahuje mnoho obsahu, z něhož většina tvoří příručku. Dokumentaci můžete procházet od Hlavní stránky nebo se podívat do uživatelské příručky Obsah online nápovědy.
Chcete-li překládat wiki, musíte mít oprávnění k úpravám wiki; viz Jak mohu získat oprávnění k úpravám na wiki?.
Měli byste také mít dostatečné znalosti o wiki značkách a dodržovat obecné pokyny pro stylování popsané na Wiki stránkách.
Když se wiki přestěhovala ze SourceForge, nainstaloval Yorik rozšíření MediaWiki pro překlady, které usnadňuje překládání stránek. Výhodou rozšíření pro překlad je, že nyní lze překládat názvy stránek, sledovat překlady, dostávat upozornění na aktualizace původní stránky a udržovat překlady v synchronizaci s původní anglickou stránkou.
Tento nástroj je popsán v Help:Extension:Translate a je součástí MediaWiki Language Extension Bundle.
Chcete-li rychle začít s přípravou stránky k překladu, přečtěte si prosím Příklad překladu stránky. K aktivaci překladového systému je třeba celou stránku obalit dvojicí značek:
<translate> ... </translate>
Stránka musí být také označena pro překlad.
Chcete-li vidět příklad toho, jak překladový nástroj funguje, navštivte Hlavní stránku. V horní části uvidíte automaticky vygenerovanou jazykovou lištu. Klikněte na Deutsch (Němčina) a dostanete se na stránku Main Page/de. Hned pod názvem "Hauptseite" (v češtině "Hlavní stránka") můžete přečíst Tato stránka je přeloženou verzí stránky Hlavní stránka a překlad je dokončen z XX %, kde XX představuje aktuální procento překladu. Kliknutím na „Přeložit“ v horní části stránky spustíte překladový nástroj, pomocí kterého můžete aktualizovat, opravit a zkontrolovat stávající překlad.
Pokud přejdete na hlavní stránku, zjistíte, že stránku již nelze přímo upravovat kliknutím na značky [Upravit] a horní odkaz "Upravit" byl nahrazen odkazem "Přeložit", který otevírá překladový nástroj.
Při přidávání nového obsahu by měla být nejprve vytvořena anglická stránka, která se poté přeloží do jiného jazyka. Pokud někdo chce změnit nebo přidat obsah na stránce, měla by být nejprve upravena anglická stránka.
Pokud si nejste jisti, jak postupovat při překladu, neváhejte požádat o pomoc na Development → Wiki subfóru nebo na specifickém jazykovém subfóru v FreeCAD fóru.
Každý uživatel wiki, který má oprávnění "Editor", může spustit překladový nástroj a psát, ukládat a kontrolovat překlady.
Stránky k překladu však mohou označit pouze uživatelé s oprávněním "Administrator". Stránka, která není označena k překladu, nebude využívat rozšíření pro překlad a nebude správně synchronizována s anglickými informacemi.
Levý postranní panel je také přeložitelný, ale pouze administrátoři mohou tento prvek webu upravovat. Postupujte podle pokynů na stránce Lokalizace postranního panelu.
Při prvním přepnutí stránky do nového překladového systému dojde ke ztrátě všech starých "manuálních" překladů. Chcete-li překlad obnovit, měli byste před přepnutím uložit offline kopii starého textu. Poté můžete tento starý přeložený text použít k vyplnění překladových jednotek v novém systému. Můžete také otevřít dřívější verzi z historie a získat tak starý text. To je nutné provést pro každý jazyk, ve kterém byla stránka přeložena.
Podle obecného konsensu je referenční stránkou ve wiki stránka v angličtině, která by měla být vytvořena jako první. Pokud chcete změnit nebo přidat obsah na stránku, měli byste to nejprve udělat na anglické stránce a teprve po dokončení aktualizace přenést úpravy na přeloženou stránku.
| Tyto pokyny slouží pouze pro historické účely. Překlady by měly používat nový systém s výše popsaným rozšířením #Mediawiki Translation Extension. |
|
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").
Page Naming Convention
#REDIRECT [[About_FreeCAD/fr]]
{{docnav/fr|[[Online_Help_Startpage/fr|Bienvenue dans l'aide en ligne de FreeCAD]]|[[Feature_list/fr|Fonctionnalités]]}}
The page "Bienvenue dans l'aide en ligne de FreeCAD" redirects to Online_Help_Startpage/fr, and the page "Fonctionnalités" redirects to Feature_list/fr. |
Překlad webových stránek FreeCADu se nyní provádí prostřednictvím Crowdin. Soubor má název homepage.po.
Tato sekce je určena pro vývojáře, kteří chtějí do svého kódu přidat lokalizaci.
These are the parts to the FreeCAD translation process:
All of the above steps are performed by the "translation scripts" which are run by an administrator periodically.
Preparing your module for translation is quite easy. First, you need to ensure that you have a "translations" directory in myModule/Gui/Resources. Then open a terminal window (or Windows/OSX equivalent) in your "translations" directory and enter the following command:
lupdate -ts myModule.ts
This creates an empty translation file. Once this is done, you need to ensure that the translation scripts are updated as in this pull request.
Everything after this is automatic as far as a developer is concerned. The administrator will extract the text strings, the translators will translate them, then the administrator will extract the translations and update FreeCAD/master.
3rd party modules or macros are translated in much the same fashion, except that you must do some of the work yourself. This forum discussion describes the details.
Update: see Translating an external workbench
Currently FreeCAD maintainers use the Crowdin API via Crowdin Scripts to pull and push translations in to Crowdin and back in to the Github repo. The Crowdin API gives FreeCAD maintainers the ability to automate aspects of the project's translation workflow, for more info refer to the Crowdin API documentation.
See also: FreeCAD Scripting Basics.
To get a dictionary with the languages the FreeCAD interface supports, use the supportedLocales method of the FreeCADGui module.
locales = FreeCADGui.supportedLocales()
After execution locales will contain:
{'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'}
To get the current interface language use the getLocale method of the same module:
locale = FreeCADGui.getLocale()
If the current language is English locale will contain:
'English'
To get the corresponding language code you can use use:
locale = FreeCADGui.supportedLocales()[Gui.getLocale()]
If the current language is English the result will be:
'en'
To set the current interface language use the setLocale method of the same module. You can specify the language or the language code:
FreeCADGui.setLocale('Russian')
FreeCADGui.setLocale('ru')