Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GWTD: I18N Improvements in WordPress 4.6 And Be...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Pascal Birchler
November 12, 2016
Programming
0
79
GWTD: I18N Improvements in WordPress 4.6 And Beyond
Slides for my presentation at the 2nd Global WordPress Translation Day on November 12th, 2016.
Pascal Birchler
November 12, 2016
Tweet
Share
More Decks by Pascal Birchler
See All by Pascal Birchler
Client-side media processing in WordPress
swissspidy
0
99
Democratizing Performance
swissspidy
0
110
On Multilingual WordPress Sites
swissspidy
0
67
WordPress Internationalization Workflows
swissspidy
0
3.3k
WordPress Internationalization Workflows
swissspidy
0
150
WordPress Internationalization Workflows
swissspidy
1
1.2k
On Internationalization and Localization
swissspidy
0
270
Internationalisation in the Age of Gutenberg
swissspidy
0
330
Internationalization Introduction at WordCamp Bern
swissspidy
0
130
Other Decks in Programming
See All in Programming
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
250
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
670
The free-lunch guide to idea circularity
hollycummins
0
260
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
340
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.4k
OTP を自動で入力する裏技
megabitsenmzq
0
110
文字コードの話
qnighy
44
17k
Docコメントで始める簡単ガードレール
keisukeikeda
1
120
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.9k
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
400
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
100
How to stabilize UI tests using XCTest
akkeylab
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
89
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
490
Ethics towards AI in product and experience design
skipperchong
2
220
The Cult of Friendly URLs
andyhume
79
6.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Transcript
Internationalization Improvements in WordPress 4.6 and Beyond
Pascal Birchler @swissspidy
First, Some History
Language Packs
Automatic Updates
Language Chooser
None
Change Your Mind
None
Language Packs for Plugins and Themes
WordPress 4.6
Localized Datepicker
None
Bonus: wp_add_inline_script()
Language Packs More Important Than Ever
Loading Translations in Different Order
load_plugin_textdomain( 'myplugin', false, 'languages' )
wp-content/plugins/myplugin/ languages/… ! wp-content/languages/plugins/…
wp-content/languages/plugins/… ! wp-content/plugins/myplugin/ languages/…
On Demand Translations™
Just-in-time Loading for Translations
wp-content/languages
// Do stuff. _e( 'Hello World’, 'myplugin' ); // …Magic
happens… // Prints: Hallo Welt
wp-content/languages/plugins/myplugin-de_DE.mo
Demo
Good bye, load_plugin_textdomain()
WordPress 4.7
User Admin Language
None
None
Back End: Español Front End: English
None
Locale Switching
switch_to_locale()
$switched = switch_to_locale( get_user_locale() ) // Do stuff. if (
$switched ) { restore_previous_locale(); }
Send Emails In the User’s Language
What About the Admin Toolbar?
None
Demo
Beyond
Preferred Languages
None
JavaScript Internationalization
// PHP: wp_localize_script( 'myplugin-script', '_myPluginL10n', array( 'helloWorld' => __( 'Hello
World','myplugin' ) ) ); // JS: alert( _myPluginL10n.helloWorld );
if ( 1 == number ) { use( _myPluginL10n.singularString );
} else { use( _myPluginL10n.pluralString ); }
wp.i18n.__( 'Hello World' )
wp-content/languages/plugins/myplugin-de_DE.json
None
Good bye, wp_localize_script()
User Timezones
None
Open Floor
Thanks!