Re: Important Localization Change in WO 5.4
Re: Important Localization Change in WO 5.4
- Subject: Re: Important Localization Change in WO 5.4
- From: Q <email@hidden>
- Date: Wed, 22 Oct 2008 09:45:38 +1000
There was a possibly related issue in early 5.4 builds that I filing a
bug for (5572055) where if there was no non localized (Resources/)
component, at least for Main.wo then WO would fail to find the
template for the component. This was only evident in deployment, as it
only happened when -WOCachingEnabled was turned on. This has been
fixed in more recent releases of 5.4
On 22/10/2008, at 8:25 AM, Chuck Hill wrote:
Hi,
If you are using Wonder localization (and all the cool kids are) you
can probably ignore this. If you are using WOResourceManager, then
read on...
Unless I missed something (always a possibility!), there has been a
substantial change in 5.4 that has not been documented.
According to the WOResourceManager documentation for stringForKey:
Searches aTableName using aKey to find a localized string ... the
search then continues to the aTableName file (if it exists)
directly under the Resources directory (inside the directory with
the .woa extension).
This is no longer the case. It now looks in Default.lproj. This
folder does _not_ get flattened in the built bundle. In previous
versions, the resources in Nonlocalized.lproj were flattened into
Resources/ in the built bundle. This old mechanism now breaks
localization: if a resource is found directly under Resources/ is it
used and localized versions are not considered.
Also, NSBundle still looks in Nonlocalized.lproj (instead of
Default.lproj) so it is not compatible with how WOResourceManager
now works. An example application demonstrating the problems is
attached.
To update your projects, rename Nonlocalized.lproj to
Default.lproj. If you had resources directly under Resources/ that
had localized counter parts, create a Default.lproj directory and
move them there.
I have filed a bug with Apple with these suggested fixes:
1. Update the documentation, make publish a tech note calling this
out.
2. Fix bug so that if legacy Nonlocalized.lproj is used (with built
resources at top Resources/ level) it does not hide localized files
3. Update NSBundle to look in Default.lproj as well
Chuck
<LocalizationTest.tgz>
-- Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
Seeya...Q
Quinton Dolan - email@hidden
Gold Coast, QLD, Australia (GMT+10)
Ph: +61 419 729 806
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden