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

Translating WordPress

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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.

Avatar for Your Inspiration

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