From: Max M. <max...@ma...> - 2002-06-20 21:11:34
|
Hi Anjo, Kinda funny now that WO has got docs I sometimes forget to check=20= them out. Check out NSBundles JavaDoc. Of interest is this bit: How Resources Appear on the File System A bundle's resources are stored in a directory named Resources within=20 the bundle directory on the file system. Within the Resources directory=20= are all of the language directories except Nonlocalized.lproj. The=20 non-localized resources in the Nonlocalized.lproj directory are mapped=20= into the top level of the Resources directory on the file system. For example, suppose the NSBundle resources are organized as shown below=20= in Project Builder: English.lproj Edit.wo Edit.html Edit.wod Edit.woo Nonlocalized.lproj Edit.wo Edit.html Edit.wod Edit.woo Images Icon.gif Background.jpeg Main.wo Main.html Main.wod Main.woo Then, these resources will appear on the file system as: Resources Edit.wo Edit.html Edit.wod Edit.woo Images Icon.gif Background.jpeg Main.wo Main.html Main.wod Main.woo English.lproj Edit.wo Edit.html Edit.wod Edit.woo =09 Interesting. Might not need the Default.lproj if this works with PBX.=20 Might need to augment the WOProject ant task to follow the above=20 behavior for handling localized lprojs. Regards, Max On Thursday, June 20, 2002, at 12:36 AM, Anjo Krank wrote: > on 20.06.2002 4:17 Uhr, Max Muller at max...@ma... wrote: > >>> So, can I go ahead? >> >> Does this mean that we will have to duplicate components between >> Default.lproj and English.lproj? > > No, the idea is: Default.lproj contains all components and=20 > English.lproj > (like every other .lproj, for that matter) contains only those that=20 > can't be > expressed via editing Localizable.strings. This is less likely to=20 > happen in > the frameworks but is bound to happen in your (my) own projects. Also,=20= > as > all the readable texts in all components will eventually be = transformed=20 > to > "FooComp.someText" keys that are replaced via ERXLocalizableString and > friends, they IMO aren't English anymore. > > So, when you append (ERXLocalizer.defaultLanguage(), "Default") to > ERXRequest.browserLanguages(), the Components get found automagically=20= > by the > standard loading procedure (because of the "Default" entry) and get > localized into the default language (via the ERXLocalizer). > >> Also how does this effect Validation.strings? > > It doesn't...the one is used for Component loading procedure, the = other=20 > for > replacing strings when the component is found: > > Imagine: > > > Default.lproj/ > Main.wo > English.lproj/ > Main.wo (Yo! For our English customer, we have special fruitcakes) > Localizable.strings > German.lproj/ > Main.wo (Kauf eine Kirschtorte, und Du bekommst eine geschenkt) > Localizable.strings > French.lproj/ > Localizable.strings > > The user has "fr" set up as the only language in his Browser: > > ("fr") would get mapped to ("French", "Default"), and you have a = French > Localizable.strings, you have a German variant of Main.wo, which means=20= > that > there must also be an English.lproj, so there is no Main.wo at the > top-level. Pushing "Default" will get the Default.lproj.wo found and > French.lproj=B4s strings are applied. > > Now you say: I'll remove the support for French, they are simply a=20 > bother:) > So now pushing "English" and "Default" will get the English components > found. > > You could achieve the same thing with the Components layed out at the > top-level of course, but that looks very unclean and makes the = .lproj's=20 > hard > to spot. Also PBX's support for Localization is shaky in the beta and = I=20 > have > verified that *this* works. The only caveat is that to create a=20 > component, > you have to create it via the Wizard, then delete the component.wo in=20= > the > project tree (but not in the file system) move it to Default.lproj in=20= > the > Finder and then drag it into the tree again. Cumbersome, and again, it=20= > works > for me...I filed a bug in PBX's behaviour yesterday - description=20 > attached > below. > > Cheers, Anjo > > > > Problem ID: 2962488 > > * SUMMARY > PBX 2.0 April beta does not create groups for WOComponents correctly=20= > when > localizing them. > > * STEPS TO REPRODUCE > 1. Open PBX. Create a new WebObjects Application project > 2. Find Main.wo, select Project->Show Info Menu > 3. Select "Add Localized Variant", selecting - say - "Japanese" > A subgroup is created with "English" which is obviously wrong. > Also the file does not go to "Japanese" or even "English.lproj"=20 > rendering > it useless for localization. > 4. Throw away the project. Quit PBX. > > > The next one does not reproduce, but was what I experienced yesterday: > > 1.2. as above > 3. Select "Make Localized" from Menu > A subgroup with the name "Main.wo" is created, which is wrong, it=20 > should be > "English". Or even better, it should *ask* which language you want to > create. > 4. as above > > Today, however i get > > 1.2. as above > 3. Select "Make Localized" from Menu > A subgroup with the name "English" is created. Now try to add another > variant. This fails for me. > 4. as above > > > * RESULTS > See above > > * REGRESSION > No further regression. > > * NOTES > It's a beta, after all.. > > > > ------------------------------------------------------- > Bringing you mounds of caffeinated joy >>>> http://thinkgeek.com/sf <<< > > _______________________________________________ > Wonder-disc mailing list > Won...@li... > https://lists.sourceforge.net/lists/listinfo/wonder-disc |