Re: Localization strategies?

2009-12-23 Thread Jerry Krinock

Well, Ricky I see you're one of the few who has really thought through all the 
issues.

On 2009 Dec 22, at 19:59, Kyle Sluder wrote:

 On Tue, Dec 22, 2009 at 11:54 AM, Ricky Sharp rsh...@mac.com wrote:
 * No plural forms (while allowing plurals can be handled, it's not worth the 
 effort IMO)

That's good, because I read somewhere that in some languages, for example 
Arabic, there are actually different forms for one, two, and three or 
more.

But not using plural forms at all -- I would find that to be very difficult.

 NSString has support for this with the syntax Blah %1$@ blah %2$@.
 Bizarrely, it starts at 1, not 0.

You're correct Kyle, but I have enough trouble typing %1$@ myself.  There it 
just took me about 10 seconds.  When I discovered this feature a few years 
ago, I decided that either localizers were going to frequently type it wrong, 
or use some kind of automated typing that would frequently type in the wrong 
one.  So I wrote my own localized string function which does it the way that it 
was done in Classic Mac OS, with simply %0, %1, %2, and is type-agnostic.  
That's what I use now, and it seems to be bug-free at this 
point.___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-23 Thread Ricky Sharp
 
On Tuesday, December 22, 2009, at 09:59PM, Kyle Sluder 
kyle.slu...@gmail.com wrote:
On Tue, Dec 22, 2009 at 11:54 AM, Ricky Sharp rsh...@mac.com wrote:
 (2) Externalize all strings from the nibs and put them into 
 Localizable.strings.  This allows me to have a single file to hand off to 
 translators.  I can also group like-items together and fill in nice 
 contextual comments.

This shouldn't be necessary; see man ibtool for arguments you can use
to generate strings files from your nibs automatically.

Been there; done that.  The issue with storing strings in nibs is that I cannot 
place contextual comments anywhere.

 * No plural forms (while allowing plurals can be handled, it's not worth the 
 effort IMO)

Don't cop out with text like One or more items… or There are 5
document(s) open. That looks unprofessional and very un-Mac.

No, I'm not doing anything like that.  Example:

Instead of 10 problems, use Problems: 10.

Apple actually makes use of this strategy, thought only for certain languages.  
For their English localization, they pretty much stick with the plural forms.  
But, for languages such as Russian, they use the colon approach.  I didn't 
want to have two methods of doing things, so just removed plural forms in their 
entirety.  I've worked with languages with 6 plural forms and it's just not 
worth the effort.

This also leads to a lower translation cost.

 * No fragmented sentences (i.e. pieces of sentences across multiple UI 
 elements)

Is this going to work in Preference panes? If you're already going the
multiple-nib route, does doing this really pose a problem?

I'm sure you could get this to all work out, but just wanted to keep things 
simple.

--
Rick Sharp
Instant Interactive(tm)

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-23 Thread Dado Colussi
2009/12/23 Jerry Krinock je...@ieee.org:

 I read somewhere that in some languages, for example Arabic, there are 
 actually different forms for one, two, and three or more.


Localizing plurals is hard because the plural rules for different
languages are complex. Just stay away from plurals if you can.
For the curious reader:
https://developer.mozilla.org/en/Localization_and_Plurals

/Dado
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-23 Thread Ricky Sharp

On Dec 23, 2009, at 7:38 AM, Jerry Krinock wrote:

 
 Well, Ricky I see you're one of the few who has really thought through all 
 the issues.
 
 On 2009 Dec 22, at 19:59, Kyle Sluder wrote:
 
 On Tue, Dec 22, 2009 at 11:54 AM, Ricky Sharp rsh...@mac.com wrote:
 * No plural forms (while allowing plurals can be handled, it's not worth 
 the effort IMO)
 
 That's good, because I read somewhere that in some languages, for example 
 Arabic, there are actually different forms for one, two, and three or 
 more.

At my day job, we're moving a very large product to Arabic.  We definitely 
didn't want to deal with its 6 plural forms.

Official rules can be found here:

http://unicode.org/cldr/data/charts/supplemental/language_plural_rules.html


 But not using plural forms at all -- I would find that to be very difficult.

Not as bad as you may think.  At my day job, we removed over 3,000 occurrences 
of plural forms to include (s).  Took just three of us about a week.

 NSString has support for this with the syntax Blah %1$@ blah %2$@.
 Bizarrely, it starts at 1, not 0.
 
 You're correct Kyle, but I have enough trouble typing %1$@ myself.  There 
 it just took me about 10 seconds.  When I discovered this feature a few 
 years ago, I decided that either localizers were going to frequently type it 
 wrong, or use some kind of automated typing that would frequently type in the 
 wrong one.  So I wrote my own localized string function which does it the way 
 that it was done in Classic Mac OS, with simply %0, %1, %2, and is 
 type-agnostic.  That's what I use now, and it seems to be bug-free at this 
 point.

Yea, ended up writing my own utility as well.

___
Ricky A. Sharp mailto:rsh...@instantinteractive.com
Instant Interactive(tm)   http://www.instantinteractive.com



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-22 Thread Ricky Sharp
Thank you all for the replies.

Here's my final plan:

(1) Have separate nibs for each language.  I agree with those that say you 
cannot have a one-size-fits-all layout.  Each nib will thus carry layout, font 
size, style, etc. that makes sense for a particular language.

I've already pseudo-localized the nibs to hopefully address 90% plus of any 
truncation issues.

(2) Externalize all strings from the nibs and put them into 
Localizable.strings.  This allows me to have a single file to hand off to 
translators.  I can also group like-items together and fill in nice contextual 
comments.

Nibs will still contain text for buttons, etc. but will all be in the form {s} 
(a string wrapped in curly braces).

(3) For runtime creation of fonts (e.g. boldSystemFontOfSize), call into my 
special Font factory.  I ended up creating a fonts.plist localized file.  
Each version will contain two attributes per key (font size and whether or not 
its bold).  At runtime, I now read in the appropriate plist and gather the 
metrics for the fonts I need to create.

(4) Leverage my existing automated-test infrastructure to do a full product 
walkthrough (setting up proper data along the way) and generating screen-shots. 
 Such screen shots can now be viewed by the localization company's QA team to 
ensure all text is valid within its context.

Furthermore, the walkthrough script will mine all text on the screen and look 
for curly braces.  That will mean that either an outlet isn't connected or its 
localized string key is either missing or malformed.

The walkthrough script will also be generating HTML files (which will provide 
links to all screenshots).  This will allow everyone to view screenshots 
side-by-side (comparing original English to a second language)


Finally, here's some other things I have already done to ensure translation 
will be as smooth as possible:

* No plural forms (while allowing plurals can be handled, it's not worth the 
effort IMO)
* No fragmented sentences (i.e. pieces of sentences across multiple UI elements)
* No hardcoded ordering of parameters.  i.e. template strings like Blah {0} 
blah {1}. may be {1} blah blah {0} in other languages.  Each placeholder is 
always matched to the appropriate vararg argument.

___
Ricky A. Sharp mailto:rsh...@instantinteractive.com
Instant Interactive(tm)   http://www.instantinteractive.com



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-22 Thread Kyle Sluder
On Tue, Dec 22, 2009 at 11:54 AM, Ricky Sharp rsh...@mac.com wrote:
 (1) Have separate nibs for each language.  I agree with those that say you 
 cannot have a one-size-fits-all layout.  Each nib will thus carry layout, 
 font size, style, etc. that makes sense for a particular language.

Luckily this isn't always necessary. But there's no substitute for when it is.

 (2) Externalize all strings from the nibs and put them into 
 Localizable.strings.  This allows me to have a single file to hand off to 
 translators.  I can also group like-items together and fill in nice 
 contextual comments.

This shouldn't be necessary; see man ibtool for arguments you can use
to generate strings files from your nibs automatically.

 (3) For runtime creation of fonts (e.g. boldSystemFontOfSize), call into my 
 special Font factory.  I ended up creating a fonts.plist localized file.  
 Each version will contain two attributes per key (font size and whether or 
 not its bold).  At runtime, I now read in the appropriate plist and gather 
 the metrics for the fonts I need to create.

Eeeenteresting.

 (4) Leverage my existing automated-test infrastructure to do a full product 
 walkthrough (setting up proper data along the way) and generating 
 screen-shots.  Such screen shots can now be viewed by the localization 
 company's QA team to ensure all text is valid within its context.

 Furthermore, the walkthrough script will mine all text on the screen and 
 look for curly braces.  That will mean that either an outlet isn't connected 
 or its localized string key is either missing or malformed.

Also enteresting.

 * No plural forms (while allowing plurals can be handled, it's not worth the 
 effort IMO)

Don't cop out with text like One or more items… or There are 5
document(s) open. That looks unprofessional and very un-Mac.

 * No fragmented sentences (i.e. pieces of sentences across multiple UI 
 elements)

Is this going to work in Preference panes? If you're already going the
multiple-nib route, does doing this really pose a problem?

 * No hardcoded ordering of parameters.  i.e. template strings like Blah {0} 
 blah {1}. may be {1} blah blah {0} in other languages.  Each placeholder 
 is always matched to the appropriate vararg argument.

NSString has support for this with the syntax Blah %1$@ blah %2$@.
Bizarrely, it starts at 1, not 0.

My $0.02.

--Kyle Sluder
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread Symadept
Hi Ricky,

Even in my one of the project I am doing the same. Localizable.strings
(english) version shall have all the strings in Key-Value pair format,
Hello = Hello; And you can keep the comment on top of the string /*
Welcome text */.

And you can have many IBOutlets to set the string at runtime, as you
mentioned, with NSLocalizedString(@Hello, nil). Now you generate various
language localizable.strings by Add Localization (mail me if you think you
need more info) from XCode and change the file format to UTF16. Now these
files shall still show you english. Now pass these files to Localization
team and they shall simply copy paste the other version of the string in RHS
of the corresponding files.

If you go with multiple nib files for various locale, UI maintainance will
become hectic. Hence you are in right track.

All the best.

Regards
Mustafa Shaik


On Mon, Dec 21, 2009 at 4:30 AM, Ricky Sharp rsh...@mac.com wrote:


 In getting quotes from many localization companies, I've found that some
 have different processes.  For example, one company would prefer if I just
 provide .string files.  During their QA process, they'll then run the app
 and look at everything in context.

 While generating .strings from nibs is easy to do, there's a problem in
 that there seems to be no method of putting contextual comments into a nib.
  And there's no way I would hand-edit comments in the generated .strings
 files.

 Thus, I'm wondering if it would ultimately be worth it to externalize all
 strings from my nibs and just put everything in my single .strings file.
  This will clearly involve me adding tons of IBOutlet ivars just so that at
 runtime I can set their text with NSLocalizedString APIs.

 I still plan on having separate nibs though for each language (to account
 for text bounds, font sizes, etc.)

 How have others tackled localization?

 ___
 Ricky A. Sharp mailto:rsh...@instantinteractive.com
 Instant Interactive(tm)   http://www.instantinteractive.com



 ___

 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

 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:
 http://lists.apple.com/mailman/options/cocoa-dev/symadept%40gmail.com

 This email sent to symad...@gmail.com

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread François Guillet
Just my 2c gained from translating UIs in french. Localized strings can show a 
great variation in length even among close languages such as english and 
french. Moreover, english allows for short sentence/syntax whereas french does 
not, at least not easily.

From what I've seen, there are two strategies to adapt to different strings 
lengths :
-a managed layout (not too bad but not perfect)
-designing as many UI elements as locales (perfect but tedious).

AFAIK Apple chose the second solution, so that's about the only way to go on 
this platform I suppose. Substitution of localized strings in english UI 
elements (eg dialogs) will result in either text being clipped out of labels, 
label frames too wide in english because they have to make way for other 
localized strings or localized strings too short to make sense because they 
have to fit.

And sometimes, the syntax has to change anyway and the dialog has to be 
rethought somewhat. So all in all, specifically designing UI elements for each 
locale make sense if you want the best results. It is also time consuming and 
thus (probably) expensive.

It's weird to see big companies fall into localization blunders. Pixar's 
Wall.E, for example, shows at some point in the movie the axiom ship Operation 
Manual which in french is translated as Manuel d'Opération, an easy 
translation except we never refer to operation manuals using this term  
(although it's grammatically correct).   

Le 21 déc. 2009 à 10:27, Symadept a écrit :

 
 Hi Ricky,
 
 Even in my one of the project I am doing the same. Localizable.strings
 (english) version shall have all the strings in Key-Value pair format,
 Hello = Hello; And you can keep the comment on top of the string /*
 Welcome text */.
 
 And you can have many IBOutlets to set the string at runtime, as you
 mentioned, with NSLocalizedString(@Hello, nil). Now you generate various
 language localizable.strings by Add Localization (mail me if you think you
 need more info) from XCode and change the file format to UTF16. Now these
 files shall still show you english. Now pass these files to Localization
 team and they shall simply copy paste the other version of the string in RHS
 of the corresponding files.
 
 If you go with multiple nib files for various locale, UI maintainance will
 become hectic. Hence you are in right track.
 
 All the best.
 
 Regards
 Mustafa Shaik
 
 
 On Mon, Dec 21, 2009 at 4:30 AM, Ricky Sharp rsh...@mac.com wrote:
 
 
 In getting quotes from many localization companies, I've found that some
 have different processes.  For example, one company would prefer if I just
 provide .string files.  During their QA process, they'll then run the app
 and look at everything in context.
 
 While generating .strings from nibs is easy to do, there's a problem in
 that there seems to be no method of putting contextual comments into a nib.
 And there's no way I would hand-edit comments in the generated .strings
 files.
 
 Thus, I'm wondering if it would ultimately be worth it to externalize all
 strings from my nibs and just put everything in my single .strings file.
 This will clearly involve me adding tons of IBOutlet ivars just so that at
 runtime I can set their text with NSLocalizedString APIs.
 
 I still plan on having separate nibs though for each language (to account
 for text bounds, font sizes, etc.)
 
 How have others tackled localization?
 
 ___
 Ricky A. Sharp mailto:rsh...@instantinteractive.com
 Instant Interactive(tm)   http://www.instantinteractive.com
 
 
 
 ___
 
 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
 
 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:
 http://lists.apple.com/mailman/options/cocoa-dev/symadept%40gmail.com
 
 This email sent to symad...@gmail.com
 
 ___
 
 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
 
 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:
 http://lists.apple.com/mailman/options/cocoa-dev/francois.guillet%40wanadoo.fr
 
 This email sent to francois.guil...@wanadoo.fr
 

François





___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread Jerry Krinock

On 2009 Dec 21, at 01:27, Symadept wrote:

 Now pass these files to Localization
 team and they shall simply copy paste the other version of the string in RHS
 of the corresponding files.

Well, of course there are tools for this.  I use and recommend Max Seelemann's 
Localization Suite, and just learned that it has now been open-sourced.  This 
is great news, since a localization tool is something that you'll often want to 
tweak.  For example, I'd love to make it scriptable from the command line so I 
can add it to my Build script.

http://www.loc-suite.org/

More good news is that Max is that it looks like Max is actively working on it.

 If you go with multiple nib files for various locale, UI maintainance will
 become hectic.

We discussed the pros and cons of this recently -- read this...

http://lists.apple.com/archives/Cocoa-dev/2009/Dec/msg00363.html (*)

On 2009 Dec 20, at 12:30, Ricky Sharp wrote:

 In getting quotes from many localization companies, I've found that some have 
 different processes.  For example, one company would prefer if I just provide 
 .string files.  During their QA process, they'll then run the app and look at 
 everything in context.

Since any app can by definition do an infinite number of tricks (and errors), 
the test coverage they get when they run the app is going to be 85% at best 
before they get tired of mousing around and ship it back to you.  So, I would 
recommend giving this localizer good comments.  I try to make my strings files 
read like API documentation, with comments defining the contract stating how 
each string can be used (and re-used).

 How have others tackled localization?

The dearth of replies should tell you something :)

Here's my answer:  A combination of techniques.  Localization is always costly, 
iterative, compromised, and imperfect.  Some have used each of the techniques 
you propose, and others have rejected them.  They may well be optimum for your 
situation.  Judging from your post, you are a good tech writer and thus might 
want to rely heavily on .strings comments as I do, and choose localizers which 
do the same.

Jerry

(*) I can rarely get Apple's List Search to find threads, even if I'm looking 
at an email I sent and copy keywords exactly.  But then I found it in a Google 
search  Bug has been filed -- again -- 7490709.

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread Uli Kusterer
On 20.12.2009, at 21:30, Ricky Sharp wrote:
 Thus, I'm wondering if it would ultimately be worth it to externalize all 
 strings from my nibs and just put everything in my single .strings file.  
 This will clearly involve me adding tons of IBOutlet ivars just so that at 
 runtime I can set their text with NSLocalizedString APIs.

 One approach to avoid the whole IBOutlet excess would be to create subclasses 
of the standard view classes which, when they are loaded, use their 
contents/title as the key and pass it to NSLocalizedString(). That way, your 
NIBs only contain keys, and the .strings files can hold the actual strings, 
including comments.

Cheers,
-- Uli Kusterer
The Witnesses of TeachText are everywhere...
http://www.zathras.de

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread Andy Lee
On Dec 21, 2009, at 8:18 PM, Uli Kusterer wrote:
 On 20.12.2009, at 21:30, Ricky Sharp wrote:
 Thus, I'm wondering if it would ultimately be worth it to externalize all 
 strings from my nibs and just put everything in my single .strings file.  
 This will clearly involve me adding tons of IBOutlet ivars just so that at 
 runtime I can set their text with NSLocalizedString APIs.
 
 One approach to avoid the whole IBOutlet excess would be to create subclasses 
 of the standard view classes which, when they are loaded, use their 
 contents/title as the key and pass it to NSLocalizedString(). That way, your 
 NIBs only contain keys, and the .strings files can hold the actual strings, 
 including comments.

Another possibility: instead of creating a bunch of subclasses and having to 
specify that subclass for each view you create in IB, you could write a method 
that recurses through all views in a window.  Check each view for a title or 
name property (maybe stringValue too), and maybe use some convention like 
#TITLE# to indicate you want to replace that title or name with a localized 
string to be gotten via NSLocalizedString().  Check whether the view is a table 
view that displays column headers, and if so, iterate through its columns.  Do 
similar special-casing for tab views and segmented views and anything else that 
needs it.

This method could be in its own utility class, where it could be called by 
awakeFromNib.  Offhand I think this is how I would do it if I wanted to take 
the approach of putting keys in the nib.

--Andy

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Localization strategies?

2009-12-21 Thread John Joyce


On Dec 21, 2009, at 8:18 PM, Uli Kusterer wrote:

On 20.12.2009, at 21:30, Ricky Sharp wrote:
Thus, I'm wondering if it would ultimately be worth it to  
externalize all strings from my nibs and just put everything in my  
single .strings file.  This will clearly involve me adding tons of  
IBOutlet ivars just so that at runtime I can set their text with  
NSLocalizedString APIs.


One approach to avoid the whole IBOutlet excess would be to create  
subclasses of the standard view classes which, when they are loaded,  
use their contents/title as the key and pass it to NSLocalizedString 
(). That way, your NIBs only contain keys, and the .strings files  
can hold the actual strings, including comments.


Another possibility: instead of creating a bunch of subclasses and  
having to specify that subclass for each view you create in IB, you  
could write a method that recurses through all views in a window.   
Check each view for a title or name property (maybe stringValue  
too), and maybe use some convention like #TITLE# to indicate you want  
to replace that title or name with a localized string to be gotten via  
NSLocalizedString().  Check whether the view is a table view that  
displays column headers, and if so, iterate through its columns.  Do  
similar special-casing for tab views and segmented views and anything  
else that needs it.


This method could be in its own utility class, where it could be  
called by awakeFromNib.  Offhand I think this is how I would do it if  
I wanted to take the approach of putting keys in the nib.


--Andy

It's best not to localize in a locale unless you are going to do it  
correctly!
That means hand tooling the UI. Apple realized long ago that GUI  
elements must be localized correctly. This means far more than  
translation with the inevitable string length differences. This means  
making an interface make sense in a localized format. One size fits  
all only when the UI is intuitive and self explanatory. (Photobooth is  
an excellent example)


It tends to be true that your UI could use improvement if it is overly  
textual. A good UI design can avoid localization being painful. This  
is the true shortcut in localization 
___


Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Localization strategies?

2009-12-20 Thread Ricky Sharp

In getting quotes from many localization companies, I've found that some have 
different processes.  For example, one company would prefer if I just provide 
.string files.  During their QA process, they'll then run the app and look at 
everything in context.

While generating .strings from nibs is easy to do, there's a problem in that 
there seems to be no method of putting contextual comments into a nib.  And 
there's no way I would hand-edit comments in the generated .strings files.

Thus, I'm wondering if it would ultimately be worth it to externalize all 
strings from my nibs and just put everything in my single .strings file.  This 
will clearly involve me adding tons of IBOutlet ivars just so that at runtime I 
can set their text with NSLocalizedString APIs.

I still plan on having separate nibs though for each language (to account for 
text bounds, font sizes, etc.)

How have others tackled localization?

___
Ricky A. Sharp mailto:rsh...@instantinteractive.com
Instant Interactive(tm)   http://www.instantinteractive.com



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com