Intl ResourceBundle Class: No Fallback When Using Iteration
| From: | Joel Sahleen | Date: | Mon, 16 Aug 2010 21:05:52 +0000 |
| Subject: | Intl ResourceBundle Class: No Fallback When Using Iteration | ||
| Groups: | php.i18n | ||
| Request: | Send a blank email to php-i18n+get-1412@lists.php.net to get a copy of this message | ||
All,
I am working on a large-scale internationalization project that use the intl extension. I am storing
localized strings in ICU resource bundles and accessing them via the intl ResourceBundle class. Part
of my project relies on the fallback functionality of the ResourceBundle class. I have put all the
US English strings (base language) in the root bundle and created an empty bundle for en_US as
suggested in the ICU guide. That way if any string is missing in the localized bundles, everything
automatically falls back to US English.
Fallback works great if I use the ResourceBundles get method, or if I use array access (e.g.,
$bundle->get(‘KEY’) or $bundle[‘KEY’]), but if I try to iterate over the en_US bundle’s
content with foreach, it returns a null result because the bundle is empty. Is there any way to
support fallback when using iteration? It’s not absolutely necessary for my project, but it seems
that if the class is going to offer iteration support, that functionality should also support the
fallback functionality.
Thanks for the help.
Joel Sahleen
Software Engineer
Adobe Systems