Localize menu items.

This commit is contained in:
Steve Checkoway
2006-01-09 02:00:00 +00:00
parent 59ec8965d1
commit 7858052c43
+20 -11
View File
@@ -77,35 +77,44 @@ static void HandleNSException( NSException *exception )
FAIL_M( ssprintf("%s raised: %s", [[exception name] UTF8String], [[exception reason] UTF8String]) ); FAIL_M( ssprintf("%s raised: %s", [[exception name] UTF8String], [[exception reason] UTF8String]) );
} }
static NSMenuItem *MenuItem( const char *title, SEL action, NSString *code ) static NSMenuItem *MenuItem( NSString *title, SEL action, NSString *code )
{ {
// Autorelease these because they'll be retained by the NSMenu. // Autorelease these because they'll be retained by the NSMenu.
return [[[NSMenuItem alloc] initWithTitle:[NSString stringWithUTF8String:title] return [[[NSMenuItem alloc] initWithTitle:title action:action keyEquivalent:code] autorelease];
action:action keyEquivalent:code] autorelease];
} }
static void setupMenus( void ) static void setupMenus( void )
{ {
// Get the localized strings from the file.
NSString *sWindow = NSLocalizedString( @"Window", @"Menu title" );
NSString *sHideOthers = NSLocalizedString( @"Hide Others", @"Menu item" );
NSString *sAbout = NSLocalizedString( @"About " PRODUCT_NAME, @"Menu item" );
NSString *sHide = NSLocalizedString( @"Hide " PRODUCT_NAME, @"Menu item" );
NSString *sShowAll = NSLocalizedString( @"Show All", @"Menu item" );
NSString *sQuit = NSLocalizedString( @"Quit " PRODUCT_NAME, @"Menu item" );
NSString *sMinimize = NSLocalizedString( @"Minimize", @"Menu item" );
NSString *sEnterFullScreen = NSLocalizedString( @"Enter Full Screen", @"Menu item" );
NSMenu *mainMenu = [[[NSMenu alloc] initWithTitle:@""] autorelease]; NSMenu *mainMenu = [[[NSMenu alloc] initWithTitle:@""] autorelease];
NSMenu *appMenu = [[[NSMenu alloc] initWithTitle:@PRODUCT_NAME] autorelease]; NSMenu *appMenu = [[[NSMenu alloc] initWithTitle:@PRODUCT_NAME] autorelease];
NSMenu *windowMenu = [[[NSMenu alloc] initWithTitle:@"Window"] autorelease]; NSMenu *windowMenu = [[[NSMenu alloc] initWithTitle:sWindow] autorelease];
NSMenuItem *hideOthers = MenuItem( "Hide Others", @selector(hideOtherApplications:), @"h" ); NSMenuItem *hideOthers = MenuItem( sHideOthers, @selector(hideOtherApplications:), @"h" );
[hideOthers setKeyEquivalentModifierMask:NSAlternateKeyMask | NSCommandKeyMask ]; [hideOthers setKeyEquivalentModifierMask:NSAlternateKeyMask | NSCommandKeyMask ];
[appMenu addItem:MenuItem( "About " PRODUCT_NAME, @selector(orderFrontStandardAboutPanel:), @"" )]; [appMenu addItem:MenuItem( sAbout, @selector(orderFrontStandardAboutPanel:), @"" )];
[appMenu addItem:[NSMenuItem separatorItem]]; [appMenu addItem:[NSMenuItem separatorItem]];
[appMenu addItem:MenuItem( "Hide " PRODUCT_NAME, @selector(hide:), @"h" )]; [appMenu addItem:MenuItem( sHide, @selector(hide:), @"h" )];
[appMenu addItem:hideOthers]; [appMenu addItem:hideOthers];
[appMenu addItem:MenuItem( "Show All", @selector(unhideAllApplications:), @"" )]; [appMenu addItem:MenuItem( sShowAll, @selector(unhideAllApplications:), @"" )];
[appMenu addItem:[NSMenuItem separatorItem]]; [appMenu addItem:[NSMenuItem separatorItem]];
[appMenu addItem:MenuItem( "Quit " PRODUCT_NAME, @selector(terminate:), @"q" )]; [appMenu addItem:MenuItem( sQuit, @selector(terminate:), @"q" )];
[windowMenu addItem:MenuItem( "Minimize", @selector(performMiniaturize:), @"m" )]; [windowMenu addItem:MenuItem( sMinimize, @selector(performMiniaturize:), @"m" )];
[windowMenu addItem:[NSMenuItem separatorItem]]; [windowMenu addItem:[NSMenuItem separatorItem]];
// Add a Full Screen item. // Add a Full Screen item.
NSMenuItem *item = MenuItem( "Full Screen", @selector(fullscreen:), @"\n" ); NSMenuItem *item = MenuItem( sEnterFullScreen, @selector(fullscreen:), @"\n" );
[item setKeyEquivalentModifierMask:NSAlternateKeyMask]; // opt-enter [item setKeyEquivalentModifierMask:NSAlternateKeyMask]; // opt-enter
[windowMenu addItem:item]; [windowMenu addItem:item];