Internationalization

Tipy:

Modul Internationalization (i18n) rozšiřuje základní možnosti překladu vícejazyčného webu. Umožňuje:

  • řídit vztahy mezi překlady obsahu
  • zobrazit blok s možností volby obsahu pouze ve zvoleném jazyce
  • překlad taxonomie, menu, bloků, názvy typů obsahu a jejich popis, profilů, anket a uživatelem definovaných řetězců (název webu, slogan, cíle, patička atd.)

Instalace

  1. Volitelně nainstalujte modul Internationalization Views.
  2. Povolte a nastavte modul Content translation nebo Entity translation.
    • Upozornění: změna výchozího jazyka po instalaci modulu může mít za následek ztrátu některých uživatelem definovaných řetězců a překladů, proto výchozí jazyk nastavte před instalací modulu Internationalization (i18n) a pokud možno již neměňte.
  3. Rozbalte modul Internationalization 7.x-1.4 do adresáře sites/all/modules.
  4. V admin/modules (Moduly) v sekci Multilanguage povolte požadované moduly např.:
    • Block languages
    • Contact translation
    • Field translation – zpřístupnění možnosti překladu popisků polí (Content translation, Entity translation)
    • Internationalization
    • Menu translation
    • Multilingual content (Content translation)
    • Multilingual forum
    • Multilingual select (Content translation, Entity translation)
    • Path translation
    • String translation
    • Synchronize translations – sdílení společných dat mezi příslušnými překlady (např. obrázky)
    • Taxonomy translation
    • Translation redirect
    • Translation sets
    • Variable translation
    • Views translation (vyžaduje modul Internationalization Views)
  5. admin/config/regional/i18n (Konfigurace, Regionální a jazyková nastavení) v:
    • Multilingual settings je možné omezit dostupné jazyky
    • Selection je možné nastavit filtrování obsahu podle jazyka
    • Strings umožňuje zvolit, které vstupní formáty bude možné překládat a umožňuje nastavit výchozí jazyk zdrojových kódů
    • Variable je možné zvolit proměnné, které je možné přeložit (např. název a slogan webu) enlightened
  6. admin/config/regional/i18n_translation/path (Konfigurace, Regionální a jazyková nastavení, Translation sets, Cesty) je možné překládat cesty.
  7. V admin/structure/block (Struktura, Bloky) je možné upravit jazykové nastavení konkrétního bloku.
  8. admin/structure/menu (Struktura, Menu) je možné upravit jazykové nastavení konkrétního menu.
  9. V admin/structure/taxonomy (Struktura, Kategorie) je možné upravit jazykové nastavení slovníku kategorie.
    • Termíny ve slovníku je možné překládat třemi různými způsoby (každý způsob má své výhody i nevýhody):
      1. zvolíme volbu "localized" + modul Pathauto i18n Taxonomy + nastavíme alias na [term:i18n-...]
        • zatím funkční pouze pro dávkové vytváření URL aliasů
      2. zvolíme volbu "translated" + jeden společný slovník pro všechny jazyky yes
        • nepřehledný seznam termínů při jejich správě je možné odstranit modulem Administration Views s nastaveným filterem na jazyky
      3. zvolíme volbu "translated" + samostatné slovníky pro každý jazyky
        • vyžaduje editaci termínů v příslušném jazyce
  10. V admin/structure/types (Konfigurace, Typy obsahu) nastavte u požadovaných typů obsahu:
    • Upravit
      • v sekci Možnosti vydání povolte Zapnuto, s překladem (u Content translation) nebo Podpora více jazyků s překladem entit (u Entity translation)
        • volitelně zatrhněte volbu Hide content translation links (u Entity translation)
      • v sekci Multilingual settings zatrhněte:
        • Set current language as default for new content
        • Require language (Do not allow Language Neutral)
        • Lock language (Cannot be changed)
      • v sekci Synchronize translation můžete zvolit pole, která se budou sdílet tj. budou shodná ve všech jazycích (např. obrázek)
    • Správa polí
      • Upravit
  11. Nainstalujte modul Internationalization Views.

Další moduly:

  • String Overrides – umožňuje rychlý a jednoduchý způsob jak upravit jakýkoli text na stránce

Drupal 6:

  1. Do sites/default/settings.php vložte proměnné (z databázové tabulky variable), které mají být závislé na jazyku:
    /**
     * Internationalization (i18n):
     */
    $conf['i18n_variables'] = array(
      /* Site information */
      'site_name',
      'site_mail',
      'site_slogan',
      'site_mission',
      'site_footer',
      'anonymous',
      'site_frontpage',
      /* Menu Settings (admin/build/menu/settings) */
      'menu_primary_links_source',
      'menu_secondary_links_source',
      /* Contact form information */
      'contact_form_information',
      /* Module External links */
      'extlink_alert_text',
      /* Module SWF Tools */
      'swftools_html_alt',
      /* Module Flash Node */
      'flashnode_default_html_alt',
      /* Lightbox2 */
      'lightbox2_node_link_text',
      'lightbox2_download_link_text',
      'lightbox2_image_count_str',
      'lightbox2_page_count_str',
      'lightbox2_video_count_str',
    //   /* Node help */
    //   'blog_help',
    //   'story_help',
    //   /* User configuration */
    //   'user_mail_password_reset_body',
    //   'user_mail_password_reset_subject',
    //   'user_mail_register_admin_created_body',
    //   'user_mail_register_admin_created_subject',
    //   'user_mail_register_no_approval_required_body',
    //   'user_mail_register_no_approval_required_subject',
    //   'user_mail_register_pending_approval_body',
    //   'user_mail_register_pending_approval_subject',
    //   'user_mail_status_activated_body',
    //   'user_mail_status_activated_subject',
    //   'user_mail_status_blocked_body',
    //   'user_mail_status_blocked_subject',
    //   'user_mail_status_deleted_body',
    //   'user_mail_status_deleted_subject',
    //   /* Primary and secondary menu */
    //   //'menu_primary_menu',
    //   //'menu_secondary_menu',
    //   /* Theme settings. This is an 'all or nothing'
    //      for each theme */
    //   'theme_settings',
    //   /* This is for 'garland' theme, for other theme
    //      it would be 'theme_[themename]_settings' */
    //   //'theme_garland_settings',
    );
    
    • Překlad těchto proměnných (proměnné jsou v popisu označené "This is a multilingual variable.") se provádí po přepnutí na daný jazyk (např. pomocí bloku "Přepínač jazyka" nebo změnou prefixu v adresním řádku prohlížeče).
  2. Menu
    • Položky menu je možné přeložit několika způsoby:
      • příklad pro dvě jazykové verze (en, cs):
        • pro každý jazyk vytvořte zvláštní menu
        • v blocích nastavte každému menu pro jaký jazyk se bude zobrazovat
      • příklad pro dvě jazykové verze (en, cs):
        • do jednoho menu vložte jak české, tak i anglické odkazy a upravte jejich jazykové nastavení
        • v blocích nastavte u menu zobrazení pro všechny jazyky
      • kombinací výše uvedených způsobů
    • Pro každý jazyk různý název menu:
      • vytvořte samostatné menu pro každý jazyk
      • pokud chcete mít pouze jednoho menu
        1. ve svém tématu vzhledu v soubor block.tpl.php obklopte název menu funkcí t() umožňující překlad
        2. <h2><?php print t($block->subject) ?></h2>
        3. v admin/build/translate/search (Administrace, Prvky webu, Překladu rozhraní) název menu vyhledejte a přeložte
  3. Blok "Přepínač jazyka" nyní již umožňuje přepínat jak jazyk prostředí, tak i jazykovou verzi obsahu (dle nastavení)!
  4. V admin/settings/language/i18n (Administrace, Nastavení webu, Jazyky, Multilingual system) můžete upravit výchozí nastavení:
    • Content selection mode: Current language and language neutral
  5. V admin/content/types (Administrace, Správa obsahu, Typy obsahu) je možné upravit nastavení typů obsahu:
    • Nastavení postupu práce
      • Zapnuto, s překladem
    • Vícejazyčné nastavení
      • Synchronizovat překlady
        • Sticky
        • Taxonomy terms
        • Image files (modul image)
        • Nastavení komentářů
  6. V admin/content/taxonomy (Administrace, Správa obsahu, Kategorie) upravte jazykové nastavení slovníků a termínů.
    • Localize terms
  7. V admin/user/permissions (Administrace, Uživatelé, Oprávnění) je možné upravit oprávnění.
  8.  Pokud používáte modul Image 6.x-1.0-alpha4 je vhodné pro sdílení jednoho obrázku pro všechny překlady aplikovat image_translation.patch viz issue 360643.
  9. admin/build/translate/refresh (Administrace, Prvky webu, Překlad rozhraní, Refresh) je možné obnovit a aktualizovat hodnoty uživatelem definovaných proměnných.

Další informace viz dokumentace Internationalization (i18n): Building multilingual sites.

Doporučená rozšíření:

Poznámky:

  • Při vytváření odkazů (není nutné u menu) vždy uvádějte i kód jazyka např. /cs/node nebo /en/node. Pokud kód jazyka neuvedete, načte se výchozí jazyk v menu, který nemusí souhlasit s překladem obsahu.
  • Ve verzi 6.x-1.0 není možné v menu u odkazu určeném pro všechny jazyky přeložit jeho popis. Je nutné vytvořit zvlášť odkazy pro každý jazyk nebo popis nevyplňovat.
  • Making Attachments Appear Across Translations