Internationalisation of MainMenu


Gerriet M. Denkmann
 

I am trying to make an macOS app international.

On thing is MainMenu.strings. This contains lots of stuff which must have an official translation (e.g. into German) already.
(e.g. Edit → Cut).

Is there a way to get this official translation?

I want all standard stuff translated using the official nomenclature, so that I have only to translate menu items which are specific to my app.

Gerriet.


Quincey Morris
 

On Mar 28, 2018, at 22:46 , Gerriet M. Denkmann <g@...> wrote:

Is there a way to get this official translation? 

It seems like there ought to be, but I don’t think there is.

I would assume that menu items that get added to your app at runtime (e.g. the ones at the bottom of the Edit menu) will be localized for you. It’s also documented somewhere that the words “Undo” and “Redo” are automatically localized when you supply undo action names.

Other than that, you’re probably on your own.


Gary L. Wade
 

On Mar 29, 2018, at 2:43 PM, Quincey Morris <quinceymorris@...> wrote:

On Mar 28, 2018, at 22:46 , Gerriet M. Denkmann <g@...> wrote:

Is there a way to get this official translation? 

It seems like there ought to be, but I don’t think there is.

I would assume that menu items that get added to your app at runtime (e.g. the ones at the bottom of the Edit menu) will be localized for you. It’s also documented somewhere that the words “Undo” and “Redo” are automatically localized when you supply undo action names.

Other than that, you’re probably on your own.


Gerriet M. Denkmann
 

On 30 Mar 2018, at 05:06, Gary L. Wade <garywade@...> wrote:

https://developer.apple.com/download/more/?name=Glossaries
Thanks a lot for this link!

Looking at the German stuff, I see that for example “Print…” gets translated:
29 times: "Drucken …" NO-BREAK SPACE; HORIZONTAL ELLIPSIS
56 times: “Drucken …" HORIZONTAL ELLIPSIS

What is right: SPACE or NO-BREAK SPACE ? Does this make any difference?


Another problem is missing context in MainMenu.strings:

“Cut” would have certainly a quite different translation in:

Edit
Cut
Paste

Hairdressing
Cut
Perm

But the only context given is:
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */

But I guess nothing can be done to get this needed context into MainMenu.strings.


Kind regards

Gerriet.


--
Gary L. Wade
http://www.garywade.com/

On Mar 29, 2018, at 2:43 PM, Quincey Morris <quinceymorris@...> wrote:

On Mar 28, 2018, at 22:46 , Gerriet M. Denkmann <g@...> wrote:

Is there a way to get this official translation?
It seems like there ought to be, but I don’t think there is.

I would assume that menu items that get added to your app at runtime (e.g. the ones at the bottom of the Edit menu) will be localized for you. It’s also documented somewhere that the words “Undo” and “Redo” are automatically localized when you supply undo action names.

Other than that, you’re probably on your own.


Quincey Morris
 

On Mar 31, 2018, at 18:31 , Gerriet M. Denkmann <g@...> wrote:

What is right: SPACE or NO-BREAK SPACE ? Does this make any difference?

I would suggest you use a regular space, since a menu item can’t word-wrap onto a new line.

It *might* make a difference if the font specifies a different width for the non-breaking space than a regular space. Since this is not a typeset environment, you can’t rely on a layout manager to reassign values to space characters, so you want all the spaces to be the same width. Hence use the same character. (In practice, there’s likely no noticeable difference.)

Another problem is missing context in MainMenu.strings:

But the only context given is:
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */

It was reported in the developer forums recently that the localization comment field that you can enter in IB (the very last field of the Identity inspector) isn’t being output for Mac targets, though it is for iOS. I don’t know if this is fixed in Xcode 9.3. If it does work, this is where you can specify the context.


Gerriet M. Denkmann
 

On 1 Apr 2018, at 10:29, Quincey Morris <quinceymorris@...> wrote:

Another problem is missing context in MainMenu.strings:
But the only context given is:
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */
It was reported in the developer forums recently that the localization comment field that you can enter in IB (the very last field of the Identity inspector) isn’t being output for Mac targets, though it is for iOS. I don’t know if this is fixed in Xcode 9.3. If it does work, this is where you can specify the context.
Seems not to work in Xcode Version 9.3 (9E145).

Also: this is really something Xcode should to for me.

Kind regards,

Gerriet.