At Ortus Solutions, we love the holidays, and we wanted to gift you a gift of developer productivity, we will share a few tips and tricks that will keep giving all year around. In this series we'll be giving you 12 ContentBox tips. Keep your eye out for other 12 tips of Christmas series on our blog, including a new one this year, 12 modules of Christmas on ForgeBox.
Day 4 - Localization updates. Thanks to the Computer Know How guys, the 3.6 release sports many i18n improvements. If your site needs multiple languages, this is very important.
Changing Site Locales
A ContentBox application depends on the ColdBox i18n module which gives you the ability to serve any content in any language, use resource bundles and use the resource utilities. However, we have now exposed the ability natively for users to change locales via the UI module using our URL of: http://site.com/__changelang/en_US
. The route expects an ISO valid language code in the format of code_variant
.
Note By default, visitor locale's are stored in the
cookie
scope. You can change this via theconfig/Coldbox.cfc
configuration CFC.
Generating Locale Links
The CBHelper
object can now produce these links for you in your layouts, themes and views by leveraging the following method:
/**
* Link to the __changeLang route, this is where the fwLocale is changed
* @lang The iso language code
*/
function linkLanguageChange( string lang = "en_US" ) {
return getRequestContext().buildLink( '__changeLang/' & arguments.lang );
}
Locale Content Caching
All caching strategies have now been updated to allow for locale to determine its key. This way, every visitor's language will be cacheable and performant.
Add Your Comment