Drupal 7 - jazykové mutace webu

Návod
https://www.lullabot.com/articles/localized-and-multilingual-content-in-...
https://www.bramvandenbulcke.be/en/article/drupal-entity-translation-guide
Moduly
stáhni si a nainstaluj moduly:
- Entity Translation
- Title (pro překlad nadpisů uzlů)
- Entity (podmínka pro Title)
- Internationalization (i18n)
- Variable
- Localization Update
- Language Icons
- pro views přidej modul Internationalization Views a oprav záplatou https://www.drupal.org/project/i18nviews/issues/2975245 - viz příloha
zapni moduly:
1. várka:
- Locale (je v jádře Drupal 7)
- Entity Translation
- Internationalization
- Variable
- Language Icons
- Title
- Localization update
2. várka:
- Entity Translation Menu
- Block languages
- Field translation
- Menu translation
- String translation
- Translation sets
- Variable translation
- Views translation
- Variable realm
- Variable store
NASTAVENÍ JAZYKŮ
Nastavení > Regionální a jazyková nastavení > Jazyky
Jazyky > Seznam
- zapni, respektive přidej a zapni potřebné jazyky
- na řádku English klikni na "upravit" a zadej kód jazyka v prefixu cesty "en"
Jazyky > Detekce a výběr
- detekce...Text uživatelského rozhraní - zapni zatržítko v řádku URL
- detekce...Obsah - zapni zatržítko v řádku URL
Jazyky > Ikony
- nastav umístění ikon: "Nahradit odkaz" = pouze vlaječka
- případně velikost obrázků 18x15 (některá témata v css dopočítávají výšku obrázků height: auto;)
vyber, které typy entit se budou překládat
- Nastavení > Regionální a jazyková nastavení > Entity translation
- ponechat zatrženo: Allow language fallback
- možno zrušit zatržení: Display shared labels
(ve formuláři uzlu přidává popisek "všechny jazyky" pro pole, která se nepřekládají) - Translate entity types - zatrženo "Uzly", případně "Termín taxonomie"
nastavení pro překlad textů
- Nastavení > Regionální a jazyková nastavení > Multilingual settings > Strings
- vyber formáty v "Translatable text formats", které budeš potřebovat přeložit
- uložit
PŘEPÍNAČ JAZYKŮ
- Struktura > Bloky
- blok "Přepínač jazyka (Obsah)" umísti do vhodného regionu
- případně vypni nadpis bloku <none>
- blok může být dočasně viditelný jen pro admina
- uprav vzhled bloku
- případně pomocí css odstraň odrážky v bloku
#block-locale-language-content .content ul li { list-style-type:none; margin:10px 0; }
a uprav vzhled
TYPY OBSAHU
nastav přeložitelnost typu obsahu
- Struktura > Typy obsahu > ...
- Možnosti vydání (Možnosti zveřejnění) > Podpora více jazyků -
- vyber "Enabled, with field translation"
- zatrhni "Hide content translation links"
- uložit
základní nastavení typu obsahu
- Nastavení > Regionální a jazyková nastavení > Entity translation
- Uzly > Výchozí jazyk - namísto "Jazykově neutrální" vyber
- "Aktuální jazyk" - jestliže uzel vytváří návštěvník webu
- "Česky" - jestliže uzel vytváří redaktor webu
- zatrhni "Hide language selector"
- případně také zatrhni "Hide shared elements on translation forms"
(pole, která se nepřekládají, budou dostupná pouze ve formuláři pro výchozí jazyk, ve formuláři překladu uzlu budou skrytá)
instrukce k vyplňování formuláře uzlu
- text zadaný v nastavení typu obsahu - karta "Nastavení formuláře pro odeslání" > "Vysvětlení..." - přeložit nejde
- okénko v nastavení typu obsahu ponechej prázdné
- vytvoř nový blok
- do Těla bloku vlož instrukce v češtině
- blok umísti do regionu Obsah - nahoru
- Stránky > Zobrazit... "Jen uvedené stránky" - node/add/xxxx
- Jazyky - zatrhni "Make this block translatable"
- dole "Save and translate"
- na řádku English klikni na "přeložit"
- vlož anglickou verzi bloku a ulož
- uprav vzhled bloku - css
NADPIS A POLE
nastav přeložitelnost nadpisu uzlu
- Struktura > Typy obsahu > ...
- Správa polí - na řádku Nadpis klikni na "replace"
- na následné stránce zatrhni zatržítko "Replace title with a field instance"
- ulož
- pro návrat zpět (=zrušení tohoto nastavení): Správa polí - na řádku title_field klikni na "delete" (="smazat")
- v případě použití modulu Automatic Nodetitles ponechej originální drupalovský title!
která pole se budou překládat
- Struktura > Typy obsahu > ...
- Správa polí - u každého pole, které je potřeba přeložit, klikni na "upravit" a úplně dole povol překlad "Users may translate this field"
- u polí, do kterých se zadává např. jméno, příjmení, telefon atd., překlad pro uživatele nepovoluj, bude přeložen jen popisek pole
přelož popisek u překládaných polí
- Struktura > Typy obsahu > ...
- Správa polí - klikni na "upravit"
- nahoře karta "Přeložit"
- na řádku English klikni na "přeložit"
- přelož Popisek, pak ulož
překlad pole typu seznam
- Struktura > Typy obsahu > ...
- Správa polí - u pole typu seznam, které je potřeba přeložit, klikni na "upravit" a úplně dole NEPOVOLUJ překlad!
- pouze nahoře vyber "Přeložit"
- na řádku "English" klikni na "přeložit"
- Field instance - uprav text popisku pole v angličtině
- Nastavení pole - zadej anglickou verzi hodnot pole
- uložit
- Správa zobrazení - u pole typu seznam zvol formát "Default translated"
překlad popisků u Field Group
- text nadpisu a popisu je dostupný v prostředí Překlad rozhraní
Nastavení > Regionální... > Překlad rozhraní > Přeložit - proveď takto:
- ve Správě polí vlož text nadpisu a případně i popis anglicky
- pak v překladu rozhraní ho přelož do češtiny
- pak ve Správě polí dokonči nastavení tohoto Field Group kliknutím dole na "Uložit" - teprve po tomto uložení jsou změny viditelné ve formuláři
nastavení URL alias
aby fungovaly odkazy na základní stránky, doporučuji zrušit zatržítko u Generate automatic URL alias u české i anglické verze a u obou nastavit stejný alias
PŘIDEJ NOVÝ PŘÍSPĚVEK
- Obsah > Přidat obsah > ...
- napiš příspěvek česky, ulož
- klikni na ouško Přeložit
(ouško Přeložit není k dispozici pro jazykově neutrální uzly!) - na řádku English (stav Nepřeloženo) klikni na "add"
- klikni na kartu English, zadej anglickou verzi příspěvku a ulož "Save"
- nelze provést úpravy v české i anglické verzi a uložit najednou, každé se musí uložit zvlášť
MENU
zapni moduly
- Entity Translation Menu
- Menu translation
- Translation sets
přeložitelnost menu
- Struktura > Menu
- klikni na "Upravit menu" u příslušného menu
- vyber "Translate and Localize"
přelož položky menu
- Struktura > Menu > Hlavní menu (seznam odkazů)
- na řádku položky menu klikni na "upravit"
- v části Jazyk namísto "Jazykově neutrální" zadej "Česky", pak ulož
- na řádku položky klikni na "přeložit"
- na řádku Anglicky klikni na "přidat překlad"
- zadej text do políčka "Nadpis odkazu menu" a ulož
- toto proveď pro všechny položky menu
- v seznamu odkazů menu uprav pořadí položek menu
VIEWS
při přidávání pole do view musíš vybrat správné pole pro přeložený nadpis uzlu:
- Content: Title (The content title) - původní nepřeložený nadpis
- Content: Title (Appears in:node:article,...) - nový nadpis, bude se zobrazovat ve zvoleném jazyce
- při použití title_field namísto původního názvu uzlu, nemusí být k dispozici možnost "Propojit toto pole s původním obsahem"
- jako první použij pole "Entity translation: Nadpis" (title_field) a skryj ho
- jako druhý vlož původní "Obsah: Nadpis" (title), zatrhni možnost "Link this field.." a přepiš ho Rewrite results >> [title_field_et]
překlad nadpisů a jiných popisků
- přidej modul Internationalization Views
- oprav záplatou https://www.drupal.org/project/i18nviews/issues/2975245 - viz příloha
- povol opravený modul
- otevři svoje view
- v roletce "edit view name..." vyber "translate view"
- na řádku English klikni na "přeložit"
pole typu seznam
- přidej pole jako obvykle
- zvol formát zobrazení: "Default translated"
pole typu datum
- přidej pole jako obvykle
- zvol formát zobrazení Dlouhý, Střední nebo Krátký,..., nikoliv "Vlastní"
- vhodně nastav formát data a času pro angličtinu (názvy měsíců a dnů systém přeloží sám)
- Nastavení >> Regionální... >> Datum a čas >> Lokalizovat
- na řádku English klikni na "upravit"
accordion
- jako první pole dát pole přeloženého nadpisu "Entity translation: Nadpis" a skrýt ho
- jako druhé pole dát původní "Obsah: Nadpis"
- přepsat ho Rewrite results >> [title_field_et]
- pokud se dá jako první přímo přeložený nadpis, dělá problémy nastylování
OPRÁVNĚNÍ
nastav, kdo může překládat
- Uživatelé > Oprávnění
- Entity Translation > Translate entities of type Uzly
nastav viditelnost přepínače jazyků
- Struktura > Bloky ...
PŘEKLAD NÁZVU A SLOGANU WEBU
návod
povol překlad
- povol modul Variable translation (v balíčku Internationalization)
- Nastavení > Regionální a jazyková nastavení > Multilingual settings > Variables
- karta "Informace o webu" - zkontroluj zatržení "Název webu" a "Slogan webu"
- uložit
přelož
- Nastavení > Systém > Informace o webu
- v horní části stránky klikni, který jazyk upravuješ, uprav texty a ulož
BLOKY
návod
nastavení
- musí být povolený modul Block languages (v balíčku Internationalization)
- Struktura > Bloky
- klikni na "nastavení" u bloku, který chceš přeložit
- dole karta Jazyky
- zatrhni "Make this block translatable"
- zatrhni, jestli se má blok zobrazovat pouze v některých jazycích
- uložit
přelož
- klikni na "nastavení" u bloku, který chceš přeložit
- nahoře "Přeložit"
- na řádku "English" klikni na "přeložit"
PARAGRAPHS
https://www.drupal.org/node/2452675
stačí přeložit názvy polí a jejich obsluhu?
- v nastavení pole typu Paragraph
- Item Title - zadej anglické označení položky
- Add mode - vyber "Select List" ("Seznam")
- Překlad pole nepovoluj!
- v nastavení pole klikni nahoře na "Přeložit"
- pak na řádku English klikni na "přeložit" a zadej anglický název pole
- v Překladu rozhraní přelož do češtiny
- Add new !title
- Add another !title
- v Překladu rozhraní přelož do češtiny
- No @title_multiple added yet. Select a @title type and press a button below to add one.
- >> Zatím nebyly přidány žádné položky.
RULES
musí být zapnutý modul Rules translation, který je součástí modulu Rules
https://www.drupal.org/project/rules/issues/3264584
Show a message on the site
- přeložit je možné jen text v některých textových políčkách
- Show a message on the site - Hodnota
- Send mail - Předmět, Zpráva ... zdá se, že nefunguje správně
- políčko v původním jazyce musí být typu "textové pole", nikoliv "data selection"
- překlad podporuje tokeny
- je užitečné si předem vytvořit 2 textové proměnné - jednu v původním jazyce, druhou s anglickým textem
- v místě potřeby pak do textového pole umístit první token a do překladu umístit druhý token
- jediný token fungující pro oba jazyky stačí u
- pole typu datum - obsah pole se přeloží automaticky
- pole typu textový seznam, který má přeložené hodnoty (ale ne pro hodnoty tahané přes entityreference z jiného uzlu!)
Send mail
- připravit větvení SWITCH pomocí proměnné site:current-page:language-content
- CASE: Česky, Fall trough: false
- Add action - Send mail... vložit české texty a proměnnou s českým textem emailu
- CASE: Anglicky, Fall trough: false
- Add action - Send mail... vložit anglické texty a proměnnou s anglickým textem emailu