Sorry about the double message. I was using Nabble and it didn't seem to post correctly. Values are null when iterating in the sense that if you have an empty bundle, there is no fallback.
As I said this isn't immediately necessary for my project, but the expected behavior would seem to be that iteration should work over all contents, including fallbacks. I understand why that might be difficult to implement, however. At very least a note should be added explaining that iteration will not work with fallback. I'm afraid I will have developers trying to do that if they just go by the documentation. Joel On 8/17/10 5:02 AM, "David Zülke" <david.zue...@bitextender.com> wrote: > That seems to be a bug. > > Among other things, resourcebundle_iterator_read calls > resourcebundle_extract_value instead of resourcebundle_array_get (which > handles fallbacks via resourcebundle_array_fetch). > > I'm not sure if the fix is that simple though, as that only fixes getting of > values, but the iterated range probably still doesn't include the fallback > values. What would the expected behavior be for iterators? Should it iterate > over all contents, including fallbacks? You sent another message to the list > earlier which appears to be describing a similar, but different problem where > values are null when iterating? > > - David > > > > On 16.08.2010, at 23:05, Joel Sahleen wrote: > >> 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 > -- PHP Unicode & I18N Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php