Hi, just tried to upgrade to 4.12 and I've noticed that our custom resource
manager isn't able to load our external locales as it did in the past.
After digging a bit, I found out the cause, it seems that the
ResourceBundleProxy isn't never loaded when it's stored as a property in
the dictionary.

As you can see here[1] the external resource (ResourceBundleProxy is added
to localeMap[locale] as a property of the dictionary but when the
resourceManagerImpl tries to find the bundle [2] in
getResourceBundleInternal, it never uses loadResourceBundleProxy() because
the bundleObject is a dictionary and not a ResourceBundleProxy.

My solution would be to add a check and instead of

 if (bundleObject[obj] == localeBundleNameString)
                {
                    bundle = obj as IResourceBundle;
                    break;
                }

it would be like this

 if (bundleObject[obj] == localeBundleNameString)
                {
                    bundle = obj as IResourceBundle;
                    if(bundle is ResourceBundleProxy)
                          bundle
= loadResourceBundleProxy(ResourceBundleProxy(bundle))
                    break;
                }




[1]
https://www.dropbox.com/s/jfftyzpfqryhfy2/Captura%20de%20tela%202014-03-28%2012.26.16.png

[2]
https://www.dropbox.com/s/vp5bhc1ivaa0pkj/Captura%20de%20tela%202014-03-28%2012.31.51.png

-- 

João Fernandes

Reply via email to