grillo

30
Translating WordPress Relatore Ing. Andrea Grillo Roma - 13/14 Giugno 2015

Upload: yithemes

Post on 06-Aug-2015

12 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Grillo

Translating WordPress

RelatoreIng. Andrea Grillo

Roma - 13/14 Giugno 2015

Page 2: Grillo

@GrilloAndrea [email protected] andrea-grillo

Website: andreagrillo.it

MI PRESENTO•Laureato in Ingegneria Informatica

•Web Engineer

•Trainer & Senior Developer @ Your Inspiration

Page 3: Grillo

PROBLEMA: TRADURRE SITI WORDPRESS

•Problemi legati al business

•Problemi legati al cliente

Page 4: Grillo

TRADURRE WORDPRESS:

PERCHÉ? •Mercato globale

•Aumentare il parco clienti

•Ampliare la gamma dei servizi offerti

•Offrire un’interfaccia facile da usare

Page 5: Grillo

MODIFICADIRETTA•Come posso tradurre un tema

o un plugin per WordPress ?

•Modificare il codice PHP.

Traduzione

Update del tema/plugin

Perdita delle stringhe

tradotte

Page 6: Grillo

MODIFICA DIRETTAPERCHÉ EVITARLA…•Update del prodotto

•Translation Ready e testo hard coded

Page 7: Grillo

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

Page 8: Grillo

I FILE «CATALOGO»: .POT•Non fanno riferimento a nessuna

lingua in particolare

•Pre-configurati

•Forniti dallo sviluppatore del software come base di partenza

Page 9: Grillo

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”

Page 10: Grillo

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”

Page 11: Grillo

NOME DEL FILE .PO/.MO•Convenzione sul nome dei file .po/.mo

textdomain-lingua_NAZIONE.po

Page 12: Grillo

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

Page 13: Grillo

• 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

Page 14: Grillo

LA LOCALIZZAZIONE•WordPress mette a disposizione un set di

strumenti per le traduzioni

•Funzioni senza contesto

•Funzioni con contesto

Page 15: Grillo

LE FUNZIONI SENZA CONTESTO __( $string, $domain )

_e( $string, $domain )

_n( $singular, $plural, $number, $domain )

•La funzione translate( $text, $domain )

Page 16: Grillo

IL CONTESTO•Def.: Il CONTESTO può essere definito come il

quadro generale di una determinata situazione specifica.

•Stringhe simili

•Contesti diversi

Page 17: Grillo

LE FUNZIONI CON CONTESTO

_x( $text, $context, $domain )

_ex( $text, $context, $domain )

_nx( $singular, $plural, $number, $context,

$domain)

Page 18: Grillo

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’ )

Page 19: Grillo

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)

Page 20: Grillo

WORDPRESS CONSIGLIA…•GNU gettext

•GlotPress

•Launchpad

•Pootle

•Kbabel

•Poedit

(Approfondimenti: https://make.wordpress.org/polyglots/handbook/tools/)

Page 21: Grillo

POEDIT•https://poedit.net/download

•Gettext translation editor

•Versione corrente 1.8.1

•Multi piattaforma (Windows, Linux e Mac)

•Workshop

Page 22: Grillo

POEDIT:WORKSHOP

Page 23: Grillo

Siti multilingue: Cosa sono?

Page 24: Grillo

COME POSSO REALIZZARE UN SITO MULTILINGUA?• Installazioni multiple

•WordPress Multisite

•WordPress Multilingual

Page 25: Grillo

WORDPRESS MULTILINGUAL:

WPML•Cos’è WPML?

•Come vengono gestiti i contenuti in un sito multilingue

•Sito web: http://www.wpml.org

Page 26: Grillo

WPMLVANTAGGI •Facilità di gestione dei contenuti

•Mantenimento piattaforma

•Ottimo supporto

•Plugin Premium

Page 27: Grillo

WPMLSVANTAGGI •Configurazione non proprio immediata

•Rendere compatibili temi e plugin

Page 28: Grillo

WORKSHOP

Page 29: Grillo

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

Page 30: Grillo

DOMANDE & RISPOSTE