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

Reply via email to