grillo
TRANSCRIPT
Translating WordPress
RelatoreIng. Andrea Grillo
Roma - 13/14 Giugno 2015
@GrilloAndrea [email protected] andrea-grillo
Website: andreagrillo.it
MI PRESENTO•Laureato in Ingegneria Informatica
•Web Engineer
•Trainer & Senior Developer @ Your Inspiration
PROBLEMA: TRADURRE SITI WORDPRESS
•Problemi legati al business
•Problemi legati al cliente
TRADURRE WORDPRESS:
PERCHÉ? •Mercato globale
•Aumentare il parco clienti
•Ampliare la gamma dei servizi offerti
•Offrire un’interfaccia facile da usare
MODIFICADIRETTA•Come posso tradurre un tema
o un plugin per WordPress ?
•Modificare il codice PHP.
Traduzione
Update del tema/plugin
Perdita delle stringhe
tradotte
MODIFICA DIRETTAPERCHÉ EVITARLA…•Update del prodotto
•Translation Ready e testo hard coded
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
I FILE «CATALOGO»: .POT•Non fanno riferimento a nessuna
lingua in particolare
•Pre-configurati
•Forniti dallo sviluppatore del software come base di partenza
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”
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”
NOME DEL FILE .PO/.MO•Convenzione sul nome dei file .po/.mo
textdomain-lingua_NAZIONE.po
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-1http://it.wikipedia.org/wiki/ISO_639-2
• 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-1http://it.wikipedia.org/wiki/ISO_639-2
LA LOCALIZZAZIONE•WordPress mette a disposizione un set di
strumenti per le traduzioni
•Funzioni senza contesto
•Funzioni con contesto
LE FUNZIONI SENZA CONTESTO __( $string, $domain )
_e( $string, $domain )
_n( $singular, $plural, $number, $domain )
•La funzione translate( $text, $domain )
IL CONTESTO•Def.: Il CONTESTO può essere definito come il
quadro generale di una determinata situazione specifica.
•Stringhe simili
•Contesti diversi
LE FUNZIONI CON CONTESTO
_x( $text, $context, $domain )
_ex( $text, $context, $domain )
_nx( $singular, $plural, $number, $context,
$domain)
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’ )
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)
WORDPRESS CONSIGLIA…•GNU gettext
•GlotPress
•Launchpad
•Pootle
•Kbabel
•Poedit
(Approfondimenti: https://make.wordpress.org/polyglots/handbook/tools/)
POEDIT•https://poedit.net/download
•Gettext translation editor
•Versione corrente 1.8.1
•Multi piattaforma (Windows, Linux e Mac)
•Workshop
POEDIT:WORKSHOP
Siti multilingue: Cosa sono?
COME POSSO REALIZZARE UN SITO MULTILINGUA?• Installazioni multiple
•WordPress Multisite
•WordPress Multilingual
WORDPRESS MULTILINGUAL:
WPML•Cos’è WPML?
•Come vengono gestiti i contenuti in un sito multilingue
•Sito web: http://www.wpml.org
WPMLVANTAGGI •Facilità di gestione dei contenuti
•Mantenimento piattaforma
•Ottimo supporto
•Plugin Premium
WPMLSVANTAGGI •Configurazione non proprio immediata
•Rendere compatibili temi e plugin
WORKSHOP
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
DOMANDE & RISPOSTE