Localisation/cs

Úvod

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.

Pomoc s překladem FreeCADu

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.

Překlad zdrojového kódu FreeCADu

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í:

Pokud se aktivně podílíte na překladu FreeCADu a chcete být informováni před vydáním nové verze, abyste měli čas zkontrolovat svůj překlad, přihlaste se do jednoho z překladatelských týmů Crowdin FreeCAD.

Poznámka: Podrobnosti o tom, jak používat Crowdin, najdete na stránce Správa Crowdin.

Překlad externích pracovních ploch

Navštivte Překlad externího pracovního prostředí.

Předvolby FreeCADu pro překladatele

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>

Překlad wiki FreeCADu

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.

Rozšíření pro překlad Mediawiki

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.

Důležité poznámky

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.

Překlad dokumentace FreeCADu

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.

Pokyny pro staré překlady

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").
If not, head to the 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.
You must then gain wiki edit permission.
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). 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.
Add a slash and your language code in the categories, like [[Category:Developer Documentation/fr]]
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.
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.
  • Template:Userdocnavi : gives direct links to the main base pages

Page Naming Convention
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.
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.

  • The page About FreeCAD/fr is the page with content
  • The page À propos de FreeCAD contains this code:
#REDIRECT [[About_FreeCAD/fr]]
  • In the About FreeCAD/fr page, the Docnav code will look like this:
{{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é stránky FreeCADu

Překlad webových stránek FreeCADu se nyní provádí prostřednictvím Crowdin. Soubor má název homepage.po.

Vývoj – Jak přidat lokalizaci

Tato sekce je určena pro vývojáře, kteří chtějí do svého kódu přidat lokalizaci.

Preparing your FreeCAD/master modules for translation

These are the parts to the FreeCAD translation process:

  • extract text strings from source code into *.ts files
  • load *.ts files into FreeCAD Crowdin.
  • translation of strings within Crowdin
  • extract modified/new *.ts files from Crowdin
  • convert *.ts files into *.qm files and update each module's *.qrc file
  • update FreeCAD master

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.

Preparing your 3rd party module or macro for translation

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.

Automating Crowdin Translation Updates

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.

Related Pages

Skriptování

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