Upload
brian-miyaji
View
406
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Brian Miyaji discusses the advantages of localizing code for WordPress, things to consider when developing software for a global audience, and how to save time for developers and translators. Images: "tokyo" by Osamu Kaneko, used under CC BY 2.0 https://www.flickr.com/photos/osamukaneko/9237609761/ "Confused" by Mika Hiltunen, used under CC BY 2.0 https://www.flickr.com/photos/saaste/13150099564/ “Union Jack Teapot" by The Hamster Factor, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/disaster_area/8424925130/ "Paris" by Moyan Brenn, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/aigle_dore/5238554034/ "Chinese Calligraphy" by Jiwei Han, used under CC BY 2.0 https://www.flickr.com/photos/p_h/2199524538 "Oak and Ash" by Let Ideas Compete, used under CC BY 2.0 https://www.flickr.com/photos/question_everything/4107359250/ "Butterfly" by Auntie P, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/auntiep/1170669/ "Boy and Girl Hummel Figurines" by Jason Pratt, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/jasonpratt/2347428960/ "Arabic Writing" by Pietro Izzo, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/pietroizzo/4527056064/ "WordPress Moleskine notebook" by Nikolay Bachiyski, used under CC BY 2.0 / Desaturated from original https://www.flickr.com/photos/nbachiyski/2186228674/
Citation preview
THEME & PLUGIN
LOCALISATION
@ThemeBoy
¿POR QUÉ?
56% OF WEBSITES ARE IN ENGLISH
56% OF WEBSITES ARE IN ENGLISH
27% OF INTERNET USERS SPEAK ENGLISH
JE M'EN FOUS
CAN’T READ =
WON’T BUY
LANGUAGES ARE ALL
DIFFERENT
WORD LENGTH
WORD LENGTHBUTTERFLYENGLISH:
WORD LENGTHBUTTERFLY 蝶
ENGLISH: CHINESE:
WORD LENGTHBUTTERFLY 蝶 SCHMETTERLING
ENGLISH: CHINESE: GERMAN:
WORD LENGTHSOLUTION: CSS
GENDER
GENDERADD NEW EVENT:
ДОДАДИ НОВ НАСТАН !
!
!
GENDERADD NEW EVENT:
ДОДАДИ НОВ НАСТАН ADD NEW TEAM:
ДОДАДИ НОВА ЕКИПА !
GENDERADD NEW EVENT:
ДОДАДИ НОВ НАСТАН ADD NEW TEAM:
ДОДАДИ НОВА ЕКИПА ADD NEW PERFORMANCE:
ДОДАИ НОВИ ПЕРФОРМАНСИИ
GENDERMORE EFFICIENT: printf( __( ‘Add New %s’ ), __( ‘Team’ ) );
MORE ACCURATE: _e( ‘Add New Team’ );
RTL
RTLDIRECTION OF
TEXT
RTLDIRECTION OF INFORMATION
RTL
SOLUTION: RTL STYLESHEET
RTLif ( is_rtl() ) {
wp_enqueue_style(
‘rtl-stylesheet’,
get_template_directory_uri() . ‘/rtl.css’
);
}
TRANSIFEX& POEDIT
SET IT UP<?php load_theme_textdomain( $domain, $path ) ?>
<?php load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path ) ?>
LOAD TRANSLATED STRINGS
define ('WPLANG', ‘pt_BR’); // To this
CHANGE WORDPRESS LANGUAGEdefine ('WPLANG', ‘’); // Change this
GETTEXT FUNCTIONS// Return translation
__( ‘Hello’, ‘my-text-domain’ );
// Echo translation
_e( ‘Hello’, ‘my-text-domain’ );
// Placeholders
printf( __( ‘Add New %s.’, 'my-text-domain' ), $label );
// Plurals
printf( _n( ‘One post’, ‘%s posts’, $count, ‘my-text-domain’ ), $count );
// Disambiguation by context
_x( ‘Post’, ‘noun’, ‘my-text-domain’ );
_x( ‘Post’, ‘verb’, ‘my-text-domain’ );
CREATE A POT FILE
POEDIT SOURCE KEYWORDS
__
_e
_n:1,2
_x:1,2
_ex:1,2
_nx:4c,1,2
esc_attr__
esc_attr_e
esc_attr_x:1,2c
esc_html__
esc_html_e
esc_html_x:1,2c
_n_noop:1,2
_nx_noop:3c,1,2
__ngettext_noop:1,2
USE CORE LOCALES
ALL TRANSLATIONS OF WP CORE: https://github.com/ThemeBoy/wp-languages
USE CORE STRINGS
ALL TRANSLATIONS OF WP CORE: https://github.com/ThemeBoy/wp-languages
# python get-pip.py
TRANSIFEX CLIENThttps://bootstrap.pypa.io/get-pip.py
GET PIP
# pip install transifex-client
INSTALL THE TRANSIFEX CLIENT
TRANSIFEX CLIENTINITIALISE & CONFIGURE$ cd my-plugin
$ tx init
$ nano .tx/config
[main]
host = https://www.transifex.com
![project_slug.resource_slug]
file_filter = languages/my-plugin—<lang>.po
source_file = languages/my-plugin.pot
source_lang = en_US
$ tx push -s
TRANSIFEX CLIENTPUSH SOURCE STRINGS
$ tx pull -l ja
PULL TRANSLATIONS FROM A LANGUAGE
$ tx pull
PULL ALL TRANSLATIONS
GNU GETTEXTDOWNLOAD & INSTALL
$ for file in $(find ./languages/ -name *.po -type f);
do msgfmt "$file" -o “${file%po}mo”;
done
http://www.gnu.org/software/gettext/
https://gist.github.com/mbillard/1647940
COMPILE ALL .PO FILES TO .MO
RECAP
BECAUSE
STATISTICS
BECAUSE
YOU CARE
BECAUSE
MONEY
THINK ABOUT
WORD LENGTH
THINK ABOUT
GENDER
THINK ABOUT
RTL
USE
POEDIT
USE
TRANSIFEX
USE
WP CORE
QUESTIONS@ThemeBoy