Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Translating WordPress

Translating WordPress

Quando lavoriamo con un Content Management System capita spesso di integrare prodotti sviluppati per il mercato internazionale. Temi e plugin, di norma, dispongono di interfacce scritte in lingua inglese e la loro integrazione in un sito in italiano risulta veramente poco professionale. Cosa fare quindi? Con questo intervento vedremo come gestire autonomamente la traduzione di un tema o di un plugin per WordPress, agendo sugli appositi file di localizzazione senza alterare il codice sorgente del prodotto da tradurre, in maniera semplice e veloce.

Your Inspiration

June 14, 2015
Tweet

More Decks by Your Inspiration

Other Decks in Technology

Transcript

  1. @GrilloAndrea [email protected] andrea-grillo Website: andreagrillo.it MI PRESENTO • Laureato in

    Ingegneria Informatica • Web Engineer • Trainer & Senior Developer @ Your Inspiration
  2. TRADURRE WORDPRESS: PERCHÉ? • Mercato globale • Aumentare il parco

    clienti • Ampliare la gamma dei servizi offerti • Offrire un’interfaccia facile da usare
  3. MODIFICA DIRETTA • Come posso tradurre un tema o un

    plugin per WordPress ? • Modificare il codice PHP. Traduzione Update del tema/plugin Perdita delle stringhe tradotte
  4. I FILE DI LINGUA: .PO - .MO • Prodotto software

    «translation-ready» Directory «languages» (o lang) File con estensione .po e .mo • WordPress usa i file .po e .mo per tradurre le stringhe
  5. I FILE «CATALOGO»: .POT • Non fanno riferimento a nessuna

    lingua in particolare • Pre-configurati • Forniti dallo sviluppatore del software come base di partenza
  6. STRUTTURA DI UN FILE .PO/.POT msgid “” msgstr “” “Project-Id-Version:

    YITH WooCommerce Ajax Search\n” “POT-Creation-Date: 2015-05-19 09:10+0100\n” “PO-Revision-Date: 2015-05-19 09:10+0100\n” “Last-Tra nslator: \n” “Language-Team: Your Inspiration Themes <[email protected]>\n” “Language: en\n” “MIME-Version: 1.0\n” “Content-Type: text/plain; charset=UTF-8\n” “Content-Transfer-Encoding: 8bit\n” “X-Generator: Poedit 1.7.6\n” “X-Poedit-KeywordsList: __;_e;_x\n” “X-Poedit-Basepath: ./\n” “Plural-Forms: nplurals=2; plural=(n != 1);\n” “X-Poedit-SearchPath-0: ..\n” “X-Poedit-SearchPathExcluded-0: ../plugin-fw\n”
  7. STRINGHE NEL FILE .PO/.POT • File di riferimento • Stringa

    nella lingua originale • Stringa tradotta #: ../plugin-options/output-options.php:33 msgid “Hide thumbnail” msgstr “Nascondi immagine”
  8. NOME DEL FILE .PO/.MO • Convenzione sul nome dei file

    .po/.mo textdomain-lingua_NAZIONE.po
  9. CODICI ISO Attenzione: lingua e nazione vanno inseriti nel formato

    ISO. • Lingua: ISO 639-2 alpha 2 • Nazioni: ISO 3166-1 alpha 2 yit-it_IT.po Per approfondimenti: http://it.wikipedia.org/wiki/ISO_3166-1 http://it.wikipedia.org/wiki/ISO_639-2
  10. • Inglese: en_EN  en_GB • Italiano: it_IT (Italia) -

    it_CH (Svizzera Italiana) • Portoghese: pr_BR (Brasile) - pr_PT (Portogallo) Per approfondimenti: http://it.wikipedia.org/wiki/ISO_3166-1 http://it.wikipedia.org/wiki/ISO_639-2
  11. LA LOCALIZZAZIONE • WordPress mette a disposizione un set di

    strumenti per le traduzioni • Funzioni senza contesto • Funzioni con contesto
  12. LE FUNZIONI SENZA CONTESTO __( $string, $domain ) _e( $string,

    $domain ) _n( $singular, $plural, $number, $domain ) • La funzione translate( $text, $domain )
  13. IL CONTESTO • Def.: Il CONTESTO può essere definito come

    il quadro generale di una determinata situazione specifica. • Stringhe simili • Contesti diversi
  14. LE FUNZIONI CON CONTESTO _x( $text, $context, $domain ) _ex(

    $text, $context, $domain ) _nx( $singular, $plural, $number, $context, $domain)
  15. ESEMPI DI CONTESTO _x( ‘Box’, ‘theatre: private stall’, ‘domain’ )

    _x( ‘Box’, ‘UK slang: TV’, ‘domain’ ) _x( ‘Box’, ‘automotive: gearbox’, ‘domain’ ) _x( ‘Box’, ‘sport: be a boxer’, ‘domain’ )
  16. CREARE UN FILE .PO/.POT • Le utility GNU gettext l’internazionalizzazione

    (i18n) e localizzazione del software • Utilizzo diretto complesso • Tool alternativi (Approfondimenti: http://it.wikipedia.org/wiki/Gettext)
  17. WORDPRESS CONSIGLIA… • GNU gettext • GlotPress • Launchpad •

    Pootle • Kbabel • Poedit (Approfondimenti: https://make.wordpress.org/polyglots/handbook/tools/)
  18. POEDIT • https://poedit.net/download • Gettext translation editor • Versione corrente

    1.8.1 • Multi piattaforma (Windows, Linux e Mac) • Workshop
  19. COME POSSO REALIZZARE UN SITO MULTILINGUA? • Installazioni multiple •

    WordPress Multisite • WordPress Multilingual
  20. WORDPRESS MULTILINGUAL: WPML • Cos’è WPML? • Come vengono gestiti

    i contenuti in un sito multilingue • Sito web: http://www.wpml.org
  21. WPML VANTAGGI • Facilità di gestione dei contenuti • Mantenimento

    piattaforma • Ottimo supporto • Plugin Premium
  22. RICAPITOLIAMO • Tradurre WordPress: Perché? • WordPress e la localizzazione

    Come viene gestita Dove vengono salvati i file localizzati Come tradurre un tema/plugin • Differenza tra traduzione di un tema/plugin e sito multilingue Cos’è? A cosa serve? Realizzare un sito multilingue: Installazioni separate WordPress Multisite WordPress Multilingue