What’s today’s date? Is it 07/20/2023 or 20/07/2023? Or maybe it’s 2023/07/20? How many elePHPants do you want to buy? Is it 1,500 or 1.500? Will that be $30,000.00 or 30.000,00 $? We represent dates, times, numbers, and currency in a variety of ways, depending on where we are in the world, and writing software to accommodate these different formats can be scary. It’s worse when you find out you need to put these formatted values inside a translated string like, “Sign up before July 20th, and you’ll get 20% off the regular price of $30,000.” String concatenation and standard placeholders won’t work because different languages and regions follow different rules.

Fortunately, we have tools to make our jobs easier, and in this talk, we’ll take a look at FormatPHP and FormatJS, libraries designed to help with internationalization and localization of web applications. We’ll see how these libraries aid in formatting dates, times, numbers, and currency, as well as messages with plural conditions. We’ll learn how to format messages for translation, and by the end of this talk, you’ll know what a translation management system (TMS) is and how to extract strings from your application to send to your translators.


Comments are closed.

Joseph Leedy at 17:47 on 3 Nov 2023

Very informative talk. I learned a lot about internationalization and translation that I can apply in my day to day work.

Outstanding. I learned so much about internationalization and localization.

Steve Grunwell at 18:08 on 3 Nov 2023

Another great #RealBenRamsey talk where he both dumps a ton of information on you but also leaves you feeling confident that you could start using this information right away.

Nick A at 21:05 on 3 Nov 2023

This was another fantastic talk by Ben Ramsey. This covered the differences between internationalization and localization which are often mistakenly conflated. I really liked the numerous examples of common pitfalls when tackling these two. Learning about I18N, L10N, ECMA-402, and ICU was really interesting (as well as the term "numeronym". I gotta sneak this one into casual conversation somehow)

This was also a great overview of the occasional problem summed up by the quote "nothing like it existed, so we had to create it". It was cool to hear about how and why FormatPHP was created to follow patterns established by Format.JS. Excellent talk

Ryan Howe at 21:41 on 3 Nov 2023

Internationalization vs localization, uff da, the difference between the two and the interaction with each other is a great topic. There is so much to be said about the different way that things are said!

This was great! However it showed such depth that anyone dealing with internalization needs to be aware of. Honestly I feel like this topic could literally be a full blown conference of its own. Language and the differences between the various cultures and the ways that they express information is vast and difficult to encapsulate.

Sergei Morozov at 21:42 on 3 Nov 2023

Very informative and entertaining. Even if it's not something that I may need to use tomorrow, it is always fun to get exposed to this kind of things.

Awesome talk, I'm still early in learning how to localize our application (we only do it for a small portion of the application) and this talk was great and showed me a better way to do this.

Mark Junghanns at 09:02 on 4 Nov 2023

Very good talk! I found the examples very helpful.

Ben Batschelet at 09:04 on 4 Nov 2023

Really fun and helpful content, definitely appreciate the audience participation elements

TJ Draper at 10:03 on 4 Nov 2023

SOOOO much great information here! Internationalization and localization is hard. This was VERY helpful.

Larry Garfield at 10:14 on 4 Nov 2023

Lots of information, provided concisely. Super valuable talk.

Peter Meth at 14:35 on 4 Nov 2023

I love how much detail Ben goes whole still keeping thing accessible. Technically excellent and engaging.
All around great talk.