Re: [PHP-I18N] Intl ResourceBundle Class: No Fallback When Using Iteration
[email protected] (David Zülke) Tue, 17 Aug 2010 13:02:30 +0200
| Newsgroups | php.i18n |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail-13-940556164 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 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, >=20 > 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. >=20 > Fallback works great if I use the ResourceBundles get method, or if I = use array access (e.g., $bundle->get(=91KEY=92) or $bundle[=91KEY=92]), = but if I try to iterate over the en_US bundle=92s content with foreach, = it returns a null result because the bundle is empty. Is there any way = to support fallback when using iteration? It=92s 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. >=20 > Thanks for the help. >=20 > Joel Sahleen > Software Engineer > Adobe Systems --Apple-Mail-13-940556164 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKJjCCBMww ggQ1oAMCAQICEByunWua9OYvIoqj2nRhbB4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA1MTAyODAwMDAwMFoXDTE1MTAyNzIzNTk1OVow gd0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEgKGMpMDUxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUG A1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMjCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnfrOfq+PgDFMQAktXBfjbCPO98chXLwKuMPRyV zm8eECw/AO2XJua2x+atQx0/pIdHR0w+VPhs+Mf8sZ69MHC8l7EDBeqV8a1AxUR6SwWi8mD81zpl Yu//EHuiVrvFTnAt1qIfPO2wQuhejVchrKaZ2RHp0hoHwHRHQgv8xTTq/ea6JNEdCBU3otdzzwFB L2OyOj++pRpu9MlKWz2VphW7NQIZ+dTvvI8OcXZZu0u2Ptb8Whb01g6J8kn+bAztFenZiHWcec5g J925rXXOL3OVekA6hXVJsLjfaLyrzROChRFQo+A8C67AClPN1zBvhTJGG+RJEMJs4q8fef/btLUC AwEAAaOCAYQwggGAMBIGA1UdEwEB/wQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcX ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMAsGA1UdDwQEAwIB BjARBglghkgBhvhCAQEEBAMCAQYwLgYDVR0RBCcwJaQjMCExHzAdBgNVBAMTFlByaXZhdGVMYWJl bDMtMjA0OC0xNTUwHQYDVR0OBBYEFBF9Xhl9PATfamzWoooaPzHYO5RSMDEGA1UdHwQqMCgwJqAk oCKGIGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTEuY3JsMIGBBgNVHSMEejB4oWOkYTBfMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDEgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCEQDNun9W8N/kvFT+IqyzcqpVMA0G CSqGSIb3DQEBBQUAA4GBALEv2ZbhkqLugWDlyCog++FnLNYAmFOjAhvpkEv4GESfD0b3+qD+0x0Y o9K/HOzWGZ9KTUP4yru+E4BJBd0hczNXwkJavvoAk7LmBDGRTl088HMFN2Prv4NZmP1m3umGMpqS KTw6rlTaphJRsY/IytNHeObbpR6HBuPRFMDCIfa6MIIFUjCCBDqgAwIBAgIQU08jBMC62skd0LDQ 4jAMhjANBgkqhkiG9w0BAQUFADCB3TELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ bmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1 c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNTEeMBwGA1UECxMVUGVyc29u YSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5WZXJpU2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vi c2NyaWJlciBDQSAtIEcyMB4XDTA5MTAxNDAwMDAwMFoXDTEwMTAxNDIzNTk1OVowggEbMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazFGMEQG A1UECxM9d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1JQQSBJbmNvcnAuIGJ5IFJlZi4sTElB Qi5MVEQoYyk5ODEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTMwMQYDVQQLEypEaWdp dGFsIElEIENsYXNzIDEgLSBOZXRzY2FwZSBGdWxsIFNlcnZpY2UxFTATBgNVBAMUDERhdmlkIFp1 ZWxrZTErMCkGCSqGSIb3DQEJARYcZGF2aWQuenVlbGtlQGJpdGV4dGVuZGVyLmNvbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ7R84sDCxHSgi/MuMO5B4kZOcxywXlXymfLPsAC2S1u s9znieD8O3fMfq966LThTFmHgi9zToIESEvuAQkOB2xmrRxCxjRdL6wPPg36e80xWf0Lu3bqnONa pyZ0CexQCzhQrqZ5o8QAk3frfasVxjJlEsXxpk/gL6DalmrGiHcyHa94xE2mqmvEMnc6i8QSN291 UNECR+/MEDeEMxe5ybH2qhcpipIQeIKvunlPmEJUUPeiLX/A2YsQVyEcCTllv9o1NoIMYCIaT/ca rHazVTXtwvr5Pqsd5DiyxJF43Ki2kvJFx7HjHhLZ8HD3Hl+sj6v6tko+wtM/uHl+bwH/APECAwEA AaOBzDCByTAJBgNVHRMEAjAAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwEwKjAoBggrBgEFBQcC ARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYI KwYBBQUHAwQGCCsGAQUFBwMCMEoGA1UdHwRDMEEwP6A9oDuGOWh0dHA6Ly9JbmRDMURpZ2l0YWxJ RC1jcmwudmVyaXNpZ24uY29tL0luZEMxRGlnaXRhbElELmNybDANBgkqhkiG9w0BAQUFAAOCAQEA LQIPq1mitFH4l0bXc5dvrxczawaXoBkWJU5biSeDJwe8hEZ6mhDL1phLlQV1RdJj4d9ZkNAQ7GSd bcw2Ln+Frp82X9HCMg7CpSUiFbFW7R1oosCjrQCOKeDeARZvB5NKE+PaDsyMpaXY/eUNqY8xFd4t AURtgIE/UzTKoRMMPNPPGyLqi/p5J6qR9/Ozl7V620SnDhn2rKeLeiXSP2Tg4k02OLhx4aVVqk+n dnCQbn/IUh+Kn/NAYVwKOByp3dakH0M5A5zBUP/N3CgKTRMieH+Z4uwgg0yTbk3BtZVkqLoCbyzR YJ+haPDAC390CFCTQxpHikQPLVJ/Otx4cb12UjGCBIswggSHAgEBMIHyMIHdMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh IChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWdu IENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzICEFNPIwTAutrJHdCw0OIwDIYw CQYFKw4DAhoFAKCCAm0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN MTAwODE3MTEwMjMwWjAjBgkqhkiG9w0BCQQxFgQU7Wd3JvCPliRI521Pu0HfHSFOZgYwggEDBgkr BgEEAYI3EAQxgfUwgfIwgd0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEf MB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0 IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDUxHjAcBgNVBAsTFVBlcnNvbmEgTm90 IFZhbGlkYXRlZDE3MDUGA1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmli ZXIgQ0EgLSBHMgIQU08jBMC62skd0LDQ4jAMhjCCAQUGCyqGSIb3DQEJEAILMYH1oIHyMIHdMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2ln bi5jb20vcnBhIChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMT LlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzICEFNPIwTAutrJ HdCw0OIwDIYwDQYJKoZIhvcNAQEBBQAEggEAQ0w75KcJShQz1UW0Dvp/k2iYbKy6lB/m5DepSC0j Zzivw5kjs46TvJHn84ye3nBrYIBL5E5RkvywexzVhYtBSpt0ksW7vBMRHqEnCDxSGWxxagr+NaJt unu6OTD3ftwPdFPxH+uaGigcsrPJJdrX5B5fEmKVOBq4aOdMT0FQnfiyms6Ca14VYGxl2JjgaXVX MlP6Aj9CuH3vPE+AFsbyR7m1881eOA2vIvzLxXCN1UCu0TWhO2J5TMlyoFhzotvHtejSXvPTmNZP FZpa+UvRcCPSnVH/rpk3dz/EsCC1c3+wBZrCcDi07N1WOhrg1ZybPjzEBOkY7c9g36urwydsBQAA AAAAAA== --Apple-Mail-13-940556164--