What’s your attitude to i18n? Are you not quite sure what i18n is? Well, according to Wikipedia, it’s:
Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.
In a web-specific context, it’s everything from ensuring that you don’t just think about the audience which speaks and understands your mother-tongue and it’s habits, biases and norms; but that your site is available to a much wider audience. For me, that language is English; and whilst around **309 - 400 million people **worldwide speak English, to limit the audience of my websites and applications to just that amount of people is restricting them to too small an audience. Maybe your first language is Mandarin, German, French or Greek. Would you only want people who speak those to know your message, your product, your vision? Somehow, I’m not thinking so.
So you’ve made the choice and want to open up your sites and web-based applications to as wide an audience as possible, what do you do? Start by applying internationalisation and localisation in all your work from now on - where appropriate. You will instantly provide your users the ability to:
- Choose the most appropriate language to view your site in
- Be able to view currencies, dates, times and measurements in the formats that they would expect to see them. i.e., Australians, Kiwi’s, and native English view months in dd/mm/yyyy whereas Americans view it in mm/dd/yyyy format.
How do you do this quickly without investing too much time and effort? Well, if you’re using the Zend Framework, start by investigating two of the packages: Zend_Locale and Zend_Translate. These will get you on your way to making your sites multi-lingual in a very short period of time. In a follow-up article, we’ll get in to the nitty-gritty. But for now, I encourage you to always consider i18n as a standard part of your development pipeline.
till next time,
Matt
When you’re working with Zend Form you keep your configuration as much out of code as you can - right? Well, if you’ve been working withZend Form for more than a little while, you know that Zend Config really makes that pretty simple - well, some of the time. In this series we look, comprehensively at how to do it all with Zend_Config.
Here we are at part four of the Beginning Cloud Development with cloudControl series and in this part, we’re adding Memcached support. In part one of the series, we laid the foundation for the application and got up to speed with what cloudControl is, why it works and how to get started using it.
Then in part two, we started to flesh out the application that we started building in part one and added MySQL support to it. We showed how to work with cloudControl to manage the key requirements, such as enabling MySQL support, connecting to the MySQL database and keeping the database up to date from a maintenance perspective (creating the database schema and loading data in to the database).
Then in the third part of the series, we replaced MySQL with mongoDB support. Now, in this, the third part of the series, we’re going to finish up with adding Memcached support. As the core of the work’s already been done in the application, this tutorial will be shorter and simpler than the previous three. So, get out the code that you worked through from part 2, or download a copy of it from the github repository and let’s get started.
Do you need to use different elements of a Zend Form, in multiple locations? Are you keen to reuse the same form class and avoid code duplication but don’t know how? Come learn about validation groups.
In today’s post, we look at one of the simplest and most effective components of the Zend Framework that allows us to create extendable and extensible Zend Framework applications - Zend Application Resource Plugins (combined with the Strategy Pattern). If you want to ensure your apps can grow without heartache, read on.
Join the discussion
comments powered by Disqus