Re: initWithWindowNibPath and Base Internationalization
Re: initWithWindowNibPath and Base Internationalization
- Subject: Re: initWithWindowNibPath and Base Internationalization
- From: Steve Mills <email@hidden>
- Date: Wed, 16 Aug 2017 17:52:47 +0000 (GMT)
On Aug 16, 2017, at 10:16 AM, Chris Cianflone <email@hidden> wrote:
In our test plugin, we have a dialog 20129.xib that has a base localization
and a German localization for testing purposes, but just the 20129.strings
file as we are trying to use Auto-Layout and only have the .strings to be
localized as opposed to the entire .xib file. We have not been able to get
the correct strings showing up. Fast forwarding to some of the important
things we have discovered, the initWithWindowNibPath seems to work fine (as
well as the similar initWithWindowNibName) when we localize a .xib file on
the application side. However, when we do this on the plugin side,
initWithWindowNibPath fails to get the localizable .strings file
correctly. Further, that API seems to want to grab such a 20129.strings
file from the main app’s resources. If I add the 20129.strings file to the
app’s /Contents/Resources/de.lproj/ folder, the plugin dialog has the
correct localized German strings. I should note that I am simply testing
this by going into the scheme settings and under the Options section,
setting Application Language to German and Application Region to Germany.
Is this just a bug in initWithWindowNibPath or is there something else we
are missing here? According to this comment in NSWindowController.h:
Hi Chris! LTNS!
Looking around, I found an old Xcode 5 bug (below). One would like to assume
it's been fixed since then. You might want to check that things really get
getting built as you expect. I also saw someone mention that their localized
.strings didn't actually get copied into their bundle until they added an
explicit Copy Files build phase to make it happen. Good luck!
Localization
Projects and targets which have only strings files as localized resources
cannot be converted to use Base Localization. (The behavior you observe is that
after checking the “Use Base Localization” checkbox in the project editor, the
conversion sheet does not present any files to be converted and clicking the
Finish button results in the checkbox becoming unchecked.)
To convert to using Base Localization, a project or target must contain one
non-strings resource enabled for localization. In the project navigator, select
a resource you intend to localize (for example, an Interface Builder document
or an image), then open the file inspector. In the Localization slice, click
the Localize button and select the localization to add. Once complete, the
conversion workflow displays the file and enables the checkbox. 15160454
Sent from iCloud's ridiculous UI, so, sorry about the formatting
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden