OSDN Git Service

import jp-0.9.3
[handbrake-jp/handbrake-jp.git] / macosx / Controller.mm
index a1ab827..7c1a9d7 100644 (file)
@@ -63,7 +63,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     fPresetsBuiltin = [[HBPresets alloc] init];
     fPreferencesController = [[HBPreferencesController alloc] init];
     /* Lets report the HandBrake version number here to the activity log and text log file */
-    NSString *versionStringFull = [[NSString stringWithFormat: @"Handbrake Version: %@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleGetInfoString"]] stringByAppendingString: [NSString stringWithFormat: @" (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]];
+    NSString *versionStringFull = [[NSString stringWithFormat: NSLocalizedStringFromTable(@"Handbrake Version: %@", @"Controller", @""), [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleGetInfoString"]] stringByAppendingString: [NSString stringWithFormat: @" (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]];
     [self writeToActivityLog: "%s", [versionStringFull UTF8String]];    
     
     return self;
@@ -130,23 +130,23 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         if (fWorkingCount > 0)
         {
             alertTitle = [NSString stringWithFormat:
-                         NSLocalizedString(@"HandBrake Has Detected %d Previously Encoding Item and %d Pending Item(s) In Your Queue.", @""),
+                         NSLocalizedStringFromTable(@"HandBrake Has Detected %d Previously Encoding Item and %d Pending Item(s) In Your Queue.", @"Controller", @""),
                          fWorkingCount,fPendingCount];
         }
         else
         {
             alertTitle = [NSString stringWithFormat:
-                         NSLocalizedString(@"HandBrake Has Detected %d Pending Item(s) In Your Queue.", @""),
+                         NSLocalizedStringFromTable(@"HandBrake Has Detected %d Pending Item(s) In Your Queue.", @"Controller", @""),
                          fPendingCount];
         }
         NSBeginCriticalAlertSheet(
                                   alertTitle,
-                                  NSLocalizedString(@"Reload Queue", nil),
+                                  NSLocalizedStringFromTable(@"Reload Queue", @"Controller", nil),
                                   nil,
-                                  NSLocalizedString(@"Empty Queue", nil),
+                                  NSLocalizedStringFromTable(@"Empty Queue", @"Controller", nil),
                                   fWindow, self,
                                   nil, @selector(didDimissReloadQueue:returnCode:contextInfo:), nil,
-                                  NSLocalizedString(@" Do you want to reload them ?", nil));
+                                  NSLocalizedStringFromTable(@" Do you want to reload them ?", @"Controller", nil));
         // call didDimissReloadQueue: (NSWindow *)sheet returnCode: (int)returnCode contextInfo: (void *)contextInfo
         // right below to either clear the old queue or keep it loaded up.
     }
@@ -184,9 +184,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     if ( s.state != HB_STATE_IDLE )
     {
         int result = NSRunCriticalAlertPanel(
-                                             NSLocalizedString(@"Are you sure you want to quit HandBrake?", nil),
-                                             NSLocalizedString(@"If you quit HandBrake your current encode will be reloaded into your queue at next launch. Do you want to quit anyway?", nil),
-                                             NSLocalizedString(@"Quit", nil), NSLocalizedString(@"Don't Quit", nil), nil, @"A movie" );
+                                             NSLocalizedStringFromTable(@"Are you sure you want to quit HandBrake?", @"Controller", nil),
+                                             NSLocalizedStringFromTable(@"If you quit HandBrake your current encode will be reloaded into your queue at next launch. Do you want to quit anyway?", @"Controller", nil),
+                                             NSLocalizedStringFromTable(@"Quit", @"Controller", nil), NSLocalizedStringFromTable(@"Don't Quit", @"Controller", nil), nil, NSLocalizedStringFromTable(@"A movie", @"Controller", @"") );
         
         if (result == NSAlertDefaultReturn)
         {
@@ -200,9 +200,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     else if ( fPendingCount > 0 )
     {
         int result = NSRunCriticalAlertPanel(
-                                             NSLocalizedString(@"Are you sure you want to quit HandBrake?", nil),
-                                             NSLocalizedString(@"There are pending encodes in your queue. Do you want to quit anyway?",nil),
-                                             NSLocalizedString(@"Quit", nil), NSLocalizedString(@"Don't Quit", nil), nil);
+                                             NSLocalizedStringFromTable(@"Are you sure you want to quit HandBrake?", @"Controller", nil),
+                                             NSLocalizedStringFromTable(@"There are pending encodes in your queue. Do you want to quit anyway?", @"Controller",nil),
+                                             NSLocalizedStringFromTable(@"Quit", @"Controller", nil), NSLocalizedStringFromTable(@"Don't Quit", @"Controller", nil), nil);
         
         if ( result == NSAlertDefaultReturn )
             return NSTerminateNow;
@@ -260,16 +260,16 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     NSMenuItem *menuItem;
     [fDstFormatPopUp removeAllItems];
     // MP4 file
-    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:@"MP4 file" action: NULL keyEquivalent: @""];
+    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MP4 file", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_MUX_MP4];
        // MKV file
-    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:@"MKV file" action: NULL keyEquivalent: @""];
+    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MKV file", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_MUX_MKV];
     // AVI file
-    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:@"AVI file" action: NULL keyEquivalent: @""];
+    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AVI file", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_MUX_AVI];
     // OGM file
-    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:@"OGM file" action: NULL keyEquivalent: @""];
+    menuItem = [[fDstFormatPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"OGM file", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_MUX_OGM];
     [fDstFormatPopUp selectItemAtIndex: 0];
 
@@ -290,8 +290,8 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
 
     /* Video encoder */
     [fVidEncoderPopUp removeAllItems];
-    [fVidEncoderPopUp addItemWithTitle: @"FFmpeg"];
-    [fVidEncoderPopUp addItemWithTitle: @"XviD"];
+    [fVidEncoderPopUp addItemWithTitle: NSLocalizedStringFromTable(@"FFmpeg", @"Controller", @"")];
+    [fVidEncoderPopUp addItemWithTitle: NSLocalizedStringFromTable(@"XviD", @"Controller", @"")];
 
 
 
@@ -304,23 +304,23 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
 
     /* Video framerate */
     [fVidRatePopUp removeAllItems];
-       [fVidRatePopUp addItemWithTitle: NSLocalizedString( @"Same as source", @"" )];
+       [fVidRatePopUp addItemWithTitle: NSLocalizedStringFromTable( @"Same as source", @"Controller", @"" )];
     for( int i = 0; i < hb_video_rates_count; i++ )
     {
         if ([[NSString stringWithCString: hb_video_rates[i].string] isEqualToString: [NSString stringWithFormat: @"%.3f",23.976]])
                {
                        [fVidRatePopUp addItemWithTitle:[NSString stringWithFormat: @"%@%@",
-                               [NSString stringWithCString: hb_video_rates[i].string], @" (NTSC Film)"]];
+                               [NSString stringWithCString: hb_video_rates[i].string], NSLocalizedStringFromTable(@" (NTSC Film)", @"Controller", @"")]];
                }
                else if ([[NSString stringWithCString: hb_video_rates[i].string] isEqualToString: [NSString stringWithFormat: @"%d",25]])
                {
                        [fVidRatePopUp addItemWithTitle:[NSString stringWithFormat: @"%@%@",
-                               [NSString stringWithCString: hb_video_rates[i].string], @" (PAL Film/Video)"]];
+                               [NSString stringWithCString: hb_video_rates[i].string], NSLocalizedStringFromTable(@" (PAL Film/Video)", @"Controller", @"")]];
                }
                else if ([[NSString stringWithCString: hb_video_rates[i].string] isEqualToString: [NSString stringWithFormat: @"%.2f",29.97]])
                {
                        [fVidRatePopUp addItemWithTitle:[NSString stringWithFormat: @"%@%@",
-                               [NSString stringWithCString: hb_video_rates[i].string], @" (NTSC Video)"]];
+                               [NSString stringWithCString: hb_video_rates[i].string], NSLocalizedStringFromTable(@" (NTSC Video)", @"Controller", @"")]];
                }
                else
                {
@@ -549,7 +549,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         case HB_STATE_SCANNING:
                {
             [fSrcDVD2Field setStringValue: [NSString stringWithFormat:
-                                            NSLocalizedString( @"Scanning title %d of %d...", @"" ),
+                                            NSLocalizedStringFromTable( @"Scanning title %d of %d...", @"Controller", @"" ),
                                             p.title_cur, p.title_count]];
             [fScanIndicator setHidden: NO];
             [fScanIndicator setDoubleValue: 100.0 * ( p.title_cur - 1 ) / p.title_count];
@@ -622,12 +622,12 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         case HB_STATE_SCANNING:
                {
             [fStatusField setStringValue: [NSString stringWithFormat:
-                                           NSLocalizedString( @"Queue Scanning title %d of %d...", @"" ),
+                                           NSLocalizedStringFromTable( @"Queue Scanning title %d of %d...", @"Controller", @"" ),
                                            p.title_cur, p.title_count]];
             
             /* Set the status string in fQueueController as well */                               
             [fQueueController setQueueStatusString: [NSString stringWithFormat:
-                                                     NSLocalizedString( @"Queue Scanning title %d of %d...", @"" ),
+                                                     NSLocalizedStringFromTable( @"Queue Scanning title %d of %d...", @"Controller", @"" ),
                                                      p.title_cur, p.title_count]];
             
             [fRipIndicator setHidden: NO];
@@ -656,12 +656,12 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             float progress_total;
             NSMutableString * string;
                        /* Update text field */
-                       string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding: pass %d of %d, %.2f %%", @"" ), p.job_cur, p.job_count, 100.0 * p.progress];
+                       string = [NSMutableString stringWithFormat: NSLocalizedStringFromTable( @"Encoding: pass %d of %d, %.2f %%", @"Controller", @"" ), p.job_cur, p.job_count, 100.0 * p.progress];
             
                        if( p.seconds > -1 )
             {
                 [string appendFormat:
-                 NSLocalizedString( @" (%.2f fps, avg %.2f fps, ETA %02dh%02dm%02ds)", @"" ),
+                           NSLocalizedStringFromTable( @" (%.2f fps, avg %.2f fps, ETA %02dh%02dm%02ds)", @"Controller", @"" ),
                  p.rate_cur, p.rate_avg, p.hours, p.minutes, p.seconds];
             }
             
@@ -700,9 +700,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         case HB_STATE_MUXING:
         {
             /* Update text field */
-            [fStatusField setStringValue: NSLocalizedString( @"Muxing...", @"" )];
+            [fStatusField setStringValue: NSLocalizedStringFromTable( @"Muxing...", @"Controller", @"" )];
             /* Set the status string in fQueueController as well */
-            [fQueueController setQueueStatusString: NSLocalizedString( @"Muxing...", @"" )];
+            [fQueueController setQueueStatusString: NSLocalizedStringFromTable( @"Muxing...", @"Controller", @"" )];
             /* Update slider */
             [fRipIndicator setIndeterminate: YES];
             [fRipIndicator startAnimation: nil];
@@ -715,8 +715,8 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
 #undef p
             
         case HB_STATE_PAUSED:
-                   [fStatusField setStringValue: NSLocalizedString( @"Paused", @"" )];
-            [fQueueController setQueueStatusString: NSLocalizedString( @"Paused", @"" )];
+                   [fStatusField setStringValue: NSLocalizedStringFromTable( @"Paused", @"Controller", @"" )];
+            [fQueueController setQueueStatusString: NSLocalizedStringFromTable( @"Paused", @"Controller", @"" )];
             
                        break;
             
@@ -727,9 +727,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             // out the remaining passes/jobs in the queue. We'll do that here.
             
             // Delete all remaining jobs of this encode.
-            [fStatusField setStringValue: NSLocalizedString( @"Encode Finished.", @"" )];
+            [fStatusField setStringValue: NSLocalizedStringFromTable( @"Encode Finished.", @"Controller", @"" )];
             /* Set the status string in fQueueController as well */
-            [fQueueController setQueueStatusString: NSLocalizedString( @"Encode Finished.", @"" )];
+            [fQueueController setQueueStatusString: NSLocalizedStringFromTable( @"Encode Finished.", @"Controller", @"" )];
             [fRipIndicator setIndeterminate: NO];
             [fRipIndicator setDoubleValue: 0.0];
             [[fWindow toolbar] validateVisibleItems];
@@ -780,7 +780,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                         /*On Screen Notification*/
                         int status;
                         NSBeep();
-                        status = NSRunAlertPanel(@"Put down that cocktail...",@"Your HandBrake queue is done!", @"OK", nil, nil);
+                        status = NSRunAlertPanel(NSLocalizedStringFromTable(@"Put down that cocktail...", @"Controller", @""),NSLocalizedStringFromTable(@"Your HandBrake queue is done!", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), nil, nil);
                         [NSApp requestUserAttention:NSCriticalRequest];
                     }
                     
@@ -791,7 +791,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                         NSDictionary* errorDict;
                         NSAppleEventDescriptor* returnDescriptor = nil;
                         NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:
-                                                       @"tell application \"Finder\" to sleep"];
+                                                       NSLocalizedStringFromTable(@"tell application \"Finder\" to sleep", @"Controller", @"")];
                         returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
                         [scriptObject release];
                     }
@@ -802,7 +802,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                         NSDictionary* errorDict;
                         NSAppleEventDescriptor* returnDescriptor = nil;
                         NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:
-                                                       @"tell application \"Finder\" to shut down"];
+                                                       NSLocalizedStringFromTable(@"tell application \"Finder\" to shut down", @"Controller", @"")];
                         returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
                         [scriptObject release];
                     }
@@ -859,9 +859,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
 
     if ([itemIdent isEqualToString: ToggleDrawerIdentifier])
     {
-        [item setLabel: @"Toggle Presets"];
-        [item setPaletteLabel: @"Toggler Presets"];
-        [item setToolTip: @"Open/Close Preset Drawer"];
+        [item setLabel: NSLocalizedStringFromTable(@"Toggle Presets", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Toggler Presets", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Open/Close Preset Drawer", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"Drawer"]];
         [item setTarget: self];
         [item setAction: @selector(toggleDrawer:)];
@@ -869,18 +869,18 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     }
     else if ([itemIdent isEqualToString: StartEncodingIdentifier])
     {
-        [item setLabel: @"Start"];
-        [item setPaletteLabel: @"Start Encoding"];
-        [item setToolTip: @"Start Encoding"];
+        [item setLabel: NSLocalizedStringFromTable(@"Start", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"Play"]];
         [item setTarget: self];
         [item setAction: @selector(Rip:)];
     }
     else if ([itemIdent isEqualToString: ShowQueueIdentifier])
     {
-        [item setLabel: @"Show Queue"];
-        [item setPaletteLabel: @"Show Queue"];
-        [item setToolTip: @"Show Queue"];
+        [item setLabel: NSLocalizedStringFromTable(@"Show Queue", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Show Queue", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Show Queue", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"Queue"]];
         [item setTarget: self];
         [item setAction: @selector(showQueueWindow:)];
@@ -888,26 +888,26 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     }
     else if ([itemIdent isEqualToString: AddToQueueIdentifier])
     {
-        [item setLabel: @"Add to Queue"];
-        [item setPaletteLabel: @"Add to Queue"];
-        [item setToolTip: @"Add to Queue"];
+        [item setLabel: NSLocalizedStringFromTable(@"Add to Queue", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Add to Queue", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Add to Queue", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"AddToQueue"]];
         [item setTarget: self];
         [item setAction: @selector(addToQueue:)];
     }
     else if ([itemIdent isEqualToString: PauseEncodingIdentifier])
     {
-        [item setLabel: @"Pause"];
-        [item setPaletteLabel: @"Pause Encoding"];
-        [item setToolTip: @"Pause Encoding"];
+        [item setLabel: NSLocalizedStringFromTable(@"Pause", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"Pause"]];
         [item setTarget: self];
         [item setAction: @selector(Pause:)];
     }
     else if ([itemIdent isEqualToString: ShowActivityIdentifier]) {
-        [item setLabel: @"Activity Window"];
-        [item setPaletteLabel: @"Show Activity Window"];
-        [item setToolTip: @"Show Activity Window"];
+        [item setLabel: NSLocalizedStringFromTable(@"Activity Window", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Show Activity Window", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Show Activity Window", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"ActivityWindow"]];
         [item setTarget: self];
         [item setAction: @selector(showDebugOutputPanel:)];
@@ -915,9 +915,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     }
     else if ([itemIdent isEqualToString: ChooseSourceIdentifier])
     {
-        [item setLabel: @"Source"];
-        [item setPaletteLabel: @"Source"];
-        [item setToolTip: @"Choose Video Source"];
+        [item setLabel: NSLocalizedStringFromTable(@"Source", @"Controller", @"")];
+        [item setPaletteLabel: NSLocalizedStringFromTable(@"Source", @"Controller", @"")];
+        [item setToolTip: NSLocalizedStringFromTable(@"Choose Video Source", @"Controller", @"")];
         [item setImage: [NSImage imageNamed: @"Source"]];
         [item setTarget: self];
         [item setAction: @selector(browseSources:)];
@@ -959,17 +959,17 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             if ([ident isEqualToString: StartEncodingIdentifier])
             {
                 [toolbarItem setImage: [NSImage imageNamed: @"Stop"]];
-                [toolbarItem setLabel: @"Stop"];
-                [toolbarItem setPaletteLabel: @"Stop"];
-                [toolbarItem setToolTip: @"Stop Encoding"];
+                [toolbarItem setLabel: NSLocalizedStringFromTable(@"Stop", @"Controller", @"")];
+                [toolbarItem setPaletteLabel: NSLocalizedStringFromTable(@"Stop", @"Controller", @"")];
+                [toolbarItem setToolTip: NSLocalizedStringFromTable(@"Stop Encoding", @"Controller", @"")];
                 return YES;
             }
             if ([ident isEqualToString: PauseEncodingIdentifier])
             {
                 [toolbarItem setImage: [NSImage imageNamed: @"Pause"]];
-                [toolbarItem setLabel: @"Pause"];
-                [toolbarItem setPaletteLabel: @"Pause Encoding"];
-                [toolbarItem setToolTip: @"Pause Encoding"];
+                [toolbarItem setLabel: NSLocalizedStringFromTable(@"Pause", @"Controller", @"")];
+                [toolbarItem setPaletteLabel: NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")];
+                [toolbarItem setToolTip: NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")];
                 return YES;
             }
             if (SuccessfulScan)
@@ -981,9 +981,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             if ([ident isEqualToString: PauseEncodingIdentifier])
             {
                 [toolbarItem setImage: [NSImage imageNamed: @"Play"]];
-                [toolbarItem setLabel: @"Resume"];
-                [toolbarItem setPaletteLabel: @"Resume Encoding"];
-                [toolbarItem setToolTip: @"Resume Encoding"];
+                [toolbarItem setLabel: NSLocalizedStringFromTable(@"Resume", @"Controller", @"")];
+                [toolbarItem setPaletteLabel: NSLocalizedStringFromTable(@"Resume Encoding", @"Controller", @"")];
+                [toolbarItem setToolTip: NSLocalizedStringFromTable(@"Resume Encoding", @"Controller", @"")];
                 return YES;
             }
             if ([ident isEqualToString: StartEncodingIdentifier])
@@ -999,11 +999,11 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             {
                 [toolbarItem setImage: [NSImage imageNamed: @"Play"]];
                 if (hb_count(fHandle) > 0)
-                    [toolbarItem setLabel: @"Start Queue"];
+                    [toolbarItem setLabel: NSLocalizedStringFromTable(@"Start Queue", @"Controller", @"")];
                 else
-                    [toolbarItem setLabel: @"Start"];
-                [toolbarItem setPaletteLabel: @"Start Encoding"];
-                [toolbarItem setToolTip: @"Start Encoding"];
+                    [toolbarItem setLabel: NSLocalizedStringFromTable(@"Start", @"Controller", @"")];
+                [toolbarItem setPaletteLabel: NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")];
+                [toolbarItem setToolTip: NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")];
                 return YES;
             }
             if ([ident isEqualToString: AddToQueueIdentifier])
@@ -1051,14 +1051,14 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         {
             if (s.state == HB_STATE_WORKING)
             {
-                if(![[menuItem title] isEqualToString:@"Pause Encoding"])
-                    [menuItem setTitle:@"Pause Encoding"];
+                if(![[menuItem title] isEqualToString:NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")])
+                    [menuItem setTitle:NSLocalizedStringFromTable(@"Pause Encoding", @"Controller", @"")];
                 return YES;
             }
             else if (s.state == HB_STATE_PAUSED)
             {
-                if(![[menuItem title] isEqualToString:@"Resume Encoding"])
-                    [menuItem setTitle:@"Resume Encoding"];
+                if(![[menuItem title] isEqualToString:NSLocalizedStringFromTable(@"Resume Encoding", @"Controller", @"")])
+                    [menuItem setTitle:NSLocalizedStringFromTable(@"Resume Encoding", @"Controller", @"")];
                 return YES;
             }
             else
@@ -1068,14 +1068,14 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         {
             if (s.state == HB_STATE_WORKING || s.state == HB_STATE_MUXING || s.state == HB_STATE_PAUSED)
             {
-                if(![[menuItem title] isEqualToString:@"Stop Encoding"])
-                    [menuItem setTitle:@"Stop Encoding"];
+                if(![[menuItem title] isEqualToString:NSLocalizedStringFromTable(@"Stop Encoding", @"Controller", @"")])
+                    [menuItem setTitle:NSLocalizedStringFromTable(@"Stop Encoding", @"Controller", @"")];
                 return YES;
             }
             else if (SuccessfulScan)
             {
-                if(![[menuItem title] isEqualToString:@"Start Encoding"])
-                    [menuItem setTitle:@"Start Encoding"];
+                if(![[menuItem title] isEqualToString:NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")])
+                    [menuItem setTitle:NSLocalizedStringFromTable(@"Start Encoding", @"Controller", @"")];
                 return [fWindow attachedSheet] == nil;
             }
             else
@@ -1114,9 +1114,9 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"AlertWhenDone"] isEqualToString: @"Growl Notification"] || 
         [[[NSUserDefaults standardUserDefaults] stringForKey:@"AlertWhenDone"] isEqualToString: @"Alert Window And Growl"])
     {
-        NSString * growlMssg = [NSString stringWithFormat: @"your HandBrake encode %@ is done!",finishedEncode];
+        NSString * growlMssg = [NSString stringWithFormat: NSLocalizedStringFromTable(@"your HandBrake encode %@ is done!", @"Controller", @""),finishedEncode];
         [GrowlApplicationBridge 
-         notifyWithTitle:@"Put down that cocktail..." 
+         notifyWithTitle:NSLocalizedStringFromTable(@"Put down that cocktail...", @"Controller", @"") 
          description:growlMssg 
          notificationName:SERVICE_NAME
          iconData:nil 
@@ -1131,7 +1131,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     /* This end of encode action is called as each encode rolls off of the queue */
     if([[NSUserDefaults standardUserDefaults] boolForKey: @"sendToMetaX"] == YES)
     {
-        NSAppleScript *myScript = [[NSAppleScript alloc] initWithSource: [NSString stringWithFormat: @"%@%@%@", @"tell application \"MetaX\" to open (POSIX file \"", filePath, @"\")"]];
+        NSAppleScript *myScript = [[NSAppleScript alloc] initWithSource: [NSString stringWithFormat: @"%@%@%@", NSLocalizedStringFromTable(@"tell application \"MetaX\" to open (POSIX file \"", @"Controller", @""), filePath, @"\")"]];
         [myScript executeAndReturnError: nil];
         [myScript release];
     }
@@ -1312,7 +1312,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     if(sender == fScanSrcTitleOpenButton)
     {
         /* We setup the scan status in the main window to indicate a source title scan */
-        [fSrcDVD2Field setStringValue: @"Opening a new source title ..."];
+        [fSrcDVD2Field setStringValue: NSLocalizedStringFromTable(@"Opening a new source title ...", @"Controller", @"")];
                [fScanIndicator setHidden: NO];
         [fScanIndicator setIndeterminate: YES];
         [fScanIndicator startAnimation: nil];
@@ -1356,13 +1356,13 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
             cancelScanDecrypt = 1;
             [self writeToActivityLog: "VLC app not found for decrypting physical dvd"];
             int status;
-            status = NSRunAlertPanel(@"HandBrake could not find VLC.",@"Please download and install VLC media player in your /Applications folder if you wish to read encrypted DVDs.", @"Get VLC", @"Cancel Scan", @"Attempt Scan Anyway");
+            status = NSRunAlertPanel(NSLocalizedStringFromTable(@"HandBrake could not find VLC.", @"Controller", @""),NSLocalizedStringFromTable(@"Please download and install VLC media player in your /Applications folder if you wish to read encrypted DVDs.", @"Controller", @""), NSLocalizedStringFromTable(@"Get VLC", @"Controller", @""), NSLocalizedStringFromTable(@"Cancel Scan", @"Controller", @""), NSLocalizedStringFromTable(@"Attempt Scan Anyway", @"Controller", @""));
             [NSApp requestUserAttention:NSCriticalRequest];
             
             if (status == NSAlertDefaultReturn)
             {
                 /* User chose to go download vlc (as they rightfully should) so we send them to the vlc site */
-                [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.videolan.org/"]];
+                [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:NSLocalizedStringFromTable(@"http://www.videolan.org/", @"Controller", @"")]];
             }
             else if (status == NSAlertAlternateReturn)
             {
@@ -1400,7 +1400,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         }
 
         hb_scan( fHandle, [path UTF8String], scanTitleNum );
-        [fSrcDVD2Field setStringValue:@"Scanning new source ..."];
+        [fSrcDVD2Field setStringValue:NSLocalizedStringFromTable(@"Scanning new source ...", @"Controller", @"")];
     }
 }
 
@@ -1417,7 +1417,7 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
         if( !hb_list_count( list ) )
         {
             /* We display a message if a valid dvd source was not chosen */
-            [fSrcDVD2Field setStringValue: @"No Valid Source Found"];
+            [fSrcDVD2Field setStringValue: NSLocalizedStringFromTable(@"No Valid Source Found", @"Controller", @"")];
             SuccessfulScan = NO;
             
             // Notify ChapterTitles that there's no title
@@ -1662,11 +1662,11 @@ fWorkingCount = 0;
     NSMutableString * string;
     if (fPendingCount == 1)
     {
-        string = [NSMutableString stringWithFormat: NSLocalizedString( @"%d encode pending in the queue", @"" ), fPendingCount];
+        string = [NSMutableString stringWithFormat: NSLocalizedStringFromTable( @"%d encode pending in the queue", @"Controller", @"" ), fPendingCount];
     }
     else
     {
-        string = [NSMutableString stringWithFormat: NSLocalizedString( @"%d encode(s) pending in the queue", @"" ), fPendingCount];
+        string = [NSMutableString stringWithFormat: NSLocalizedStringFromTable( @"%d encode(s) pending in the queue", @"Controller", @"" ), fPendingCount];
     }
     [fQueueStatus setStringValue:string];
 }
@@ -1837,7 +1837,7 @@ fWorkingCount = 0;
        [queueFileJob setObject:[NSNumber numberWithInt:fTitle->job->keep_ratio] forKey:@"PictureKeepRatio"];
        [queueFileJob setObject:[NSNumber numberWithInt:fTitle->job->pixel_ratio] forKey:@"PicturePAR"];
     NSString * pictureSummary;
-    pictureSummary = [NSString stringWithFormat:@"Source: %@ Output: %@ Anamorphic: %@"
+    pictureSummary = [NSString stringWithFormat:NSLocalizedStringFromTable(@"Source: %@ Output: %@ Anamorphic: %@", @"Controller", @"")
                      [fPicSettingsSrc stringValue], 
                      [fPicSettingsOutp stringValue], 
                      [fPicSettingsAnamorphic stringValue]];
@@ -2096,13 +2096,13 @@ fWorkingCount = 0;
             cancelScanDecrypt = 1;
             [self writeToActivityLog: "VLC app not found for decrypting physical dvd"];
             int status;
-            status = NSRunAlertPanel(@"HandBrake could not find VLC.",@"Please download and install VLC media player in your /Applications folder if you wish to read encrypted DVDs.", @"Get VLC", @"Cancel Scan", @"Attempt Scan Anyway");
+            status = NSRunAlertPanel(NSLocalizedStringFromTable(@"HandBrake could not find VLC.", @"Controller", @""),NSLocalizedStringFromTable(@"Please download and install VLC media player in your /Applications folder if you wish to read encrypted DVDs.", @"Controller", @""), NSLocalizedStringFromTable(@"Get VLC", @"Controller", @""), NSLocalizedStringFromTable(@"Cancel Scan", @"Controller", @""), NSLocalizedStringFromTable(@"Attempt Scan Anyway", @"Controller", @""));
             [NSApp requestUserAttention:NSCriticalRequest];
             
             if (status == NSAlertDefaultReturn)
             {
                 /* User chose to go download vlc (as they rightfully should) so we send them to the vlc site */
-                [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.videolan.org/"]];
+                [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:NSLocalizedStringFromTable(@"http://www.videolan.org/", @"Controller", @"")]];
             }
             else if (status == NSAlertAlternateReturn)
             {
@@ -2234,7 +2234,7 @@ fWorkingCount = 0;
         }
         [fAudTrack1RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio1Samplerate"]];
         /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-        if (![[queueToApply objectForKey:@"Audio1Encoder"] isEqualToString:@"AC3 Passthru"])
+        if (![[queueToApply objectForKey:@"Audio1Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
         {
             [fAudTrack1BitratePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio1Bitrate"]];
         }
@@ -2259,7 +2259,7 @@ fWorkingCount = 0;
         }
         [fAudTrack2RatePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio2Samplerate"]];
         /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-        if (![[queueToApply objectForKey:@"Audio2Encoder"] isEqualToString:@"AC3 Passthru"])
+        if (![[queueToApply objectForKey:@"Audio2Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
         {
             [fAudTrack2BitratePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio2Bitrate"]];
         }
@@ -2284,7 +2284,7 @@ fWorkingCount = 0;
         }
         [fAudTrack3RatePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio3Samplerate"]];
         /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-        if (![[queueToApply objectForKey:@"Audio3Encoder"] isEqualToString: @"AC3 Passthru"])
+        if (![[queueToApply objectForKey:@"Audio3Encoder"] isEqualToString: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
         {
             [fAudTrack3BitratePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio3Bitrate"]];
         }
@@ -2309,7 +2309,7 @@ fWorkingCount = 0;
         }
         [fAudTrack4RatePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio4Samplerate"]];
         /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-        if (![[chosenPreset objectForKey:@"Audio4Encoder"] isEqualToString:@"AC3 Passthru"])
+        if (![[chosenPreset objectForKey:@"Audio4Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
         {
             [fAudTrack4BitratePopUp selectItemWithTitle:[queueToApply objectForKey:@"Audio4Bitrate"]];
         }
@@ -2410,7 +2410,7 @@ fWorkingCount = 0;
         /* Deselect the currently selected Preset if there is one*/
                [fPresetsOutlineView deselectRow:[fPresetsOutlineView selectedRow]];
                /* Change UI to show "Custom" settings are being used */
-               [fPresetSelectedDisplay setStringValue: @"Custom"];
+               [fPresetSelectedDisplay setStringValue: NSLocalizedStringFromTable(@"Custom", @"Controller", @"")];
         
                //curUserPresetChosenNum = nil;
     }
@@ -2878,7 +2878,7 @@ fWorkingCount = 0;
        /* We check for a valid destination here */
        if ([[NSFileManager defaultManager] fileExistsAtPath:destinationDirectory] == 0) 
        {
-               NSRunAlertPanel(@"Warning!", @"This is not a valid destination directory!", @"OK", nil, nil);
+           NSRunAlertPanel(NSLocalizedStringFromTable(@"Warning!", @"Controller", @""), NSLocalizedStringFromTable(@"This is not a valid destination directory!", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), nil, nil);
         return;
        }
 
@@ -2886,11 +2886,11 @@ fWorkingCount = 0;
        if( [[NSFileManager defaultManager] fileExistsAtPath:
             [fDstFile2Field stringValue]] )
     {
-        NSBeginCriticalAlertSheet( NSLocalizedString( @"File already exists", @"" ),
-            NSLocalizedString( @"Cancel", @"" ), NSLocalizedString( @"Overwrite", @"" ), nil, fWindow, self,
+        NSBeginCriticalAlertSheet( NSLocalizedStringFromTable( @"File already exists", @"Controller", @"" ),
+            NSLocalizedStringFromTable( @"Cancel", @"Controller", @"" ), NSLocalizedStringFromTable( @"Overwrite", @"Controller", @"" ), nil, fWindow, self,
             @selector( overwriteAddToQueueAlertDone:returnCode:contextInfo: ),
             NULL, NULL, [NSString stringWithFormat:
-            NSLocalizedString( @"Do you want to overwrite %@?", @"" ),
+            NSLocalizedStringFromTable( @"Do you want to overwrite %@?", @"Controller", @"" ),
             [fDstFile2Field stringValue]] );
         // overwriteAddToQueueAlertDone: will be called when the alert is dismissed.
     }
@@ -2950,18 +2950,18 @@ fWorkingCount = 0;
     NSString *destinationDirectory = [[fDstFile2Field stringValue] stringByDeletingLastPathComponent];
     if ([[NSFileManager defaultManager] fileExistsAtPath:destinationDirectory] == 0) 
     {
-        NSRunAlertPanel(@"Warning!", @"This is not a valid destination directory!", @"OK", nil, nil);
+        NSRunAlertPanel(NSLocalizedStringFromTable(@"Warning!", @"Controller", @""), NSLocalizedStringFromTable(@"This is not a valid destination directory!", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), nil, nil);
         return;
     }
     
     /* We check for duplicate name here */
     if( [[NSFileManager defaultManager] fileExistsAtPath:[fDstFile2Field stringValue]] )
     {
-        NSBeginCriticalAlertSheet( NSLocalizedString( @"File already exists", @"" ),
-                                  NSLocalizedString( @"Cancel", "" ), NSLocalizedString( @"Overwrite", @"" ), nil, fWindow, self,
+        NSBeginCriticalAlertSheet( NSLocalizedStringFromTable( @"File already exists", @"Controller", @"" ),
+                                  NSLocalizedStringFromTable( @"Cancel", @"Controller", @"" ), NSLocalizedStringFromTable( @"Overwrite", @"Controller", @"" ), nil, fWindow, self,
                                   @selector( overWriteAlertDone:returnCode:contextInfo: ),
                                   NULL, NULL, [NSString stringWithFormat:
-                                               NSLocalizedString( @"Do you want to overwrite %@?", @"" ),
+                                               NSLocalizedStringFromTable( @"Do you want to overwrite %@?", @"Controller", @"" ),
                                                [fDstFile2Field stringValue]] );
         
         // overWriteAlertDone: will be called when the alert is dismissed. It will call doRip.
@@ -3014,7 +3014,7 @@ fWorkingCount = 0;
                /*Warn that computer will sleep after encoding*/
                int reminduser;
                NSBeep();
-               reminduser = NSRunAlertPanel(@"The computer will sleep after encoding is done.",@"You have selected to sleep the computer after encoding. To turn off sleeping, go to the HandBrake preferences.", @"OK", @"Preferences...", nil);
+               reminduser = NSRunAlertPanel(NSLocalizedStringFromTable(@"The computer will sleep after encoding is done.", @"Controller", @""),NSLocalizedStringFromTable(@"You have selected to sleep the computer after encoding. To turn off sleeping, go to the HandBrake preferences.", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), NSLocalizedStringFromTable(@"Preferences...", @"Controller", @""), nil);
                [NSApp requestUserAttention:NSCriticalRequest];
                if ( reminduser == NSAlertAlternateReturn )
                {
@@ -3026,7 +3026,7 @@ fWorkingCount = 0;
                /*Warn that computer will shut down after encoding*/
                int reminduser;
                NSBeep();
-               reminduser = NSRunAlertPanel(@"The computer will shut down after encoding is done.",@"You have selected to shut down the computer after encoding. To turn off shut down, go to the HandBrake preferences.", @"OK", @"Preferences...", nil);
+               reminduser = NSRunAlertPanel(NSLocalizedStringFromTable(@"The computer will shut down after encoding is done.", @"Controller", @""),NSLocalizedStringFromTable(@"You have selected to shut down the computer after encoding. To turn off shut down, go to the HandBrake preferences.", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), NSLocalizedStringFromTable(@"Preferences...", @"Controller", @""), nil);
                [NSApp requestUserAttention:NSCriticalRequest];
                if ( reminduser == NSAlertAlternateReturn )
                {
@@ -3056,7 +3056,7 @@ fWorkingCount = 0;
     if (!fQueueController) return;
     
   hb_pause( fQueueEncodeLibhb );
-    NSString * alertTitle = [NSString stringWithFormat:NSLocalizedString(@"You are currently encoding. What would you like to do ?", nil)];
+    NSString * alertTitle = [NSString stringWithFormat:NSLocalizedStringFromTable(@"You are currently encoding. What would you like to do ?", @"Controller", nil)];
    
     // Which window to attach the sheet to?
     NSWindow * docWindow;
@@ -3067,12 +3067,12 @@ fWorkingCount = 0;
         
     NSBeginCriticalAlertSheet(
             alertTitle,
-            NSLocalizedString(@"Continue Encoding", nil),
-            NSLocalizedString(@"Cancel Current and Stop", nil),
-            NSLocalizedString(@"Cancel Current and Continue", nil),
+            NSLocalizedStringFromTable(@"Continue Encoding", @"Controller", nil),
+            NSLocalizedStringFromTable(@"Cancel Current and Stop", @"Controller", nil),
+            NSLocalizedStringFromTable(@"Cancel Current and Continue", @"Controller", nil),
             docWindow, self,
             nil, @selector(didDimissCancel:returnCode:contextInfo:), nil,
-            NSLocalizedString(@"Your encode will be cancelled if you don't continue encoding.", nil));
+            NSLocalizedStringFromTable(@"Your encode will be cancelled if you don't continue encoding.", @"Controller", nil));
     
     // didDimissCancelCurrentJob:returnCode:contextInfo: will be called when the dialog is dismissed
 }
@@ -3234,8 +3234,8 @@ fWorkingCount = 0;
     /* Update subtitle popups */
     hb_subtitle_t * subtitle;
     [fSubPopUp removeAllItems];
-    [fSubPopUp addItemWithTitle: @"None"];
-    [fSubPopUp addItemWithTitle: @"Autoselect"];
+    [fSubPopUp addItemWithTitle: NSLocalizedStringFromTable(@"None", @"Controller", @"")];
+    [fSubPopUp addItemWithTitle: NSLocalizedStringFromTable(@"Autoselect", @"Controller", @"")];
     for( int i = 0; i < hb_list_count( title->list_subtitle ); i++ )
     {
         subtitle = (hb_subtitle_t *) hb_list_item( title->list_subtitle, i );
@@ -3336,10 +3336,10 @@ fWorkingCount = 0;
     [fVidEncoderPopUp removeAllItems];
     NSMenuItem *menuItem;
     /* These video encoders are available to all of our current muxers, so lets list them once here */
-    menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"MPEG-4 (FFmpeg)" action: NULL keyEquivalent: @""];
+    menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MPEG-4 (FFmpeg)", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_VCODEC_FFMPEG];
     
-    menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"MPEG-4 (XviD)" action: NULL keyEquivalent: @""];
+    menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MPEG-4 (XviD)", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: HB_VCODEC_XVID];
     switch( format )
     {
@@ -3354,7 +3354,7 @@ fWorkingCount = 0;
                                ext = "mp4";
                        }
             /* Add additional video encoders here */
-            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"H.264 (x264)" action: NULL keyEquivalent: @""];
+            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"H.264 (x264)", @"Controller", @"") action: NULL keyEquivalent: @""];
             [menuItem setTag: HB_VCODEC_X264];
             /* We show the mp4 option checkboxes here since we are mp4 */
             [fCreateChapterMarkers setEnabled: YES];
@@ -3366,9 +3366,9 @@ fWorkingCount = 0;
             case 1:
             ext = "mkv";
             /* Add additional video encoders here */
-            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"H.264 (x264)" action: NULL keyEquivalent: @""];
+            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"H.264 (x264)", @"Controller", @"") action: NULL keyEquivalent: @""];
             [menuItem setTag: HB_VCODEC_X264];
-            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"VP3 (Theora)" action: NULL keyEquivalent: @""];
+            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"VP3 (Theora)", @"Controller", @"") action: NULL keyEquivalent: @""];
             [menuItem setTag: HB_VCODEC_THEORA];
             /* We enable the create chapters checkbox here */
                        [fCreateChapterMarkers setEnabled: YES];
@@ -3377,7 +3377,7 @@ fWorkingCount = 0;
             case 2: 
             ext = "avi";
             /* Add additional video encoders here */
-            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"H.264 (x264)" action: NULL keyEquivalent: @""];
+            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"H.264 (x264)", @"Controller", @"") action: NULL keyEquivalent: @""];
             [menuItem setTag: HB_VCODEC_X264];
             /* We disable the create chapters checkbox here and make sure it is unchecked*/
                        [fCreateChapterMarkers setEnabled: NO];
@@ -3387,7 +3387,7 @@ fWorkingCount = 0;
             case 3:
             ext = "ogm";
             /* Add additional video encoders here */
-            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:@"VP3 (Theora)" action: NULL keyEquivalent: @""];
+            menuItem = [[fVidEncoderPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"VP3 (Theora)", @"Controller", @"") action: NULL keyEquivalent: @""];
             [menuItem setTag: HB_VCODEC_THEORA];
             /* We disable the create chapters checkbox here and make sure it is unchecked*/
                        [fCreateChapterMarkers setEnabled: NO];
@@ -3464,7 +3464,7 @@ the user is using "Custom" settings by determining the sender*/
                /* Deselect the currently selected Preset if there is one*/
                [fPresetsOutlineView deselectRow:[fPresetsOutlineView selectedRow]];
                /* Change UI to show "Custom" settings are being used */
-               [fPresetSelectedDisplay setStringValue: @"Custom"];
+               [fPresetSelectedDisplay setStringValue: NSLocalizedStringFromTable(@"Custom", @"Controller", @"")];
 
                curUserPresetChosenNum = nil;
        }
@@ -3595,7 +3595,7 @@ the user is using "Custom" settings by determining the sender*/
 - (IBAction) qualitySliderChanged: (id) sender
 {
     [fVidConstantCell setTitle: [NSString stringWithFormat:
-        NSLocalizedString( @"Constant quality: %.0f %%", @"" ), 100.0 *
+        NSLocalizedStringFromTable( @"Constant quality: %.0f %%", @"Controller", @"" ), 100.0 *
         [fVidQualitySlider floatValue]]];
                [self customSettingUsed: sender];
 }
@@ -3750,7 +3750,7 @@ the user is using "Custom" settings by determining the sender*/
         int displayparwidth = titlewidth * arpwidth / arpheight;
         int displayparheight = fTitle->height-fTitle->job->crop[0]-fTitle->job->crop[1];
         [fPicSettingsOutp setStringValue: [NSString stringWithFormat:@"%d x %d", titlewidth, displayparheight]];
-        [fPicSettingsAnamorphic setStringValue: [NSString stringWithFormat:@"%d x %d Strict", displayparwidth, displayparheight]];
+        [fPicSettingsAnamorphic setStringValue: [NSString stringWithFormat:NSLocalizedStringFromTable(@"%d x %d Strict", @"Controller", @""), displayparwidth, displayparheight]];
         fTitle->job->keep_ratio = 0;
        }
     else if (fTitle->job->pixel_ratio == 2)
@@ -3762,37 +3762,37 @@ the user is using "Custom" settings by determining the sender*/
         display_width = output_width * output_par_width / output_par_height;
 
         [fPicSettingsOutp setStringValue: [NSString stringWithFormat:@"%d x %d", output_width, output_height]];
-        [fPicSettingsAnamorphic setStringValue: [NSString stringWithFormat:@"%d x %d Loose", display_width, output_height]];
+        [fPicSettingsAnamorphic setStringValue: [NSString stringWithFormat:NSLocalizedStringFromTable(@"%d x %d Loose", @"Controller", @""), display_width, output_height]];
 
         fTitle->job->keep_ratio = 0;
     }
        else
        {
-        [fPicSettingsAnamorphic setStringValue:@"Off"];
+        [fPicSettingsAnamorphic setStringValue:NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }
 
        /* Set ON/Off values for the deinterlace/keep aspect ratio according to boolean */
        if (fTitle->job->keep_ratio > 0)
        {
-               [fPicSettingARkeep setStringValue: @"On"];
+               [fPicSettingARkeep setStringValue: NSLocalizedStringFromTable(@"On", @"Controller", @"")];
        }
        else
        {
-               [fPicSettingARkeep setStringValue: @"Off"];
+               [fPicSettingARkeep setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }       
     
     /* Detelecine */
     if ([fPictureController detelecine]) {
-        [fPicSettingDetelecine setStringValue: @"Yes"];
+        [fPicSettingDetelecine setStringValue: NSLocalizedStringFromTable(@"Yes", @"Controller", @"")];
     }
     else {
-        [fPicSettingDetelecine setStringValue: @"No"];
+        [fPicSettingDetelecine setStringValue: NSLocalizedStringFromTable(@"No", @"Controller", @"")];
     }
     
     /* Decomb */
        if ([fPictureController decomb] == 0)
        {
-               [fPicSettingDecomb setStringValue: @"Off"];
+               [fPicSettingDecomb setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }
        else if ([fPictureController decomb] == 1)
        {
@@ -3809,43 +3809,43 @@ the user is using "Custom" settings by determining the sender*/
        /* Deinterlace */
        if ([fPictureController deinterlace] == 0)
        {
-               [fPicSettingDeinterlace setStringValue: @"Off"];
+               [fPicSettingDeinterlace setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }
        else if ([fPictureController deinterlace] == 1)
        {
-               [fPicSettingDeinterlace setStringValue: @"Fast"];
+               [fPicSettingDeinterlace setStringValue: NSLocalizedStringFromTable(@"Fast", @"Controller", @"")];
        }
        else if ([fPictureController deinterlace] == 2)
        {
-               [fPicSettingDeinterlace setStringValue: @"Slow"];
+               [fPicSettingDeinterlace setStringValue: NSLocalizedStringFromTable(@"Slow", @"Controller", @"")];
        }
        else if ([fPictureController deinterlace] == 3)
        {
-               [fPicSettingDeinterlace setStringValue: @"Slower"];
+               [fPicSettingDeinterlace setStringValue: NSLocalizedStringFromTable(@"Slower", @"Controller", @"")];
        }
                
     /* Denoise */
        if ([fPictureController denoise] == 0)
        {
-               [fPicSettingDenoise setStringValue: @"Off"];
+               [fPicSettingDenoise setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }
        else if ([fPictureController denoise] == 1)
        {
-               [fPicSettingDenoise setStringValue: @"Weak"];
+               [fPicSettingDenoise setStringValue: NSLocalizedStringFromTable(@"Weak", @"Controller", @"")];
        }
        else if ([fPictureController denoise] == 2)
        {
-               [fPicSettingDenoise setStringValue: @"Medium"];
+               [fPicSettingDenoise setStringValue: NSLocalizedStringFromTable(@"Medium", @"Controller", @"")];
        }
        else if ([fPictureController denoise] == 3)
        {
-               [fPicSettingDenoise setStringValue: @"Strong"];
+               [fPicSettingDenoise setStringValue: NSLocalizedStringFromTable(@"Strong", @"Controller", @"")];
        }
     
     /* Deblock */
     if ([fPictureController deblock] == 0) 
     {
-        [fPicSettingDeblock setStringValue: @"Off"];
+        [fPicSettingDeblock setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
     }
     else 
     {
@@ -3858,17 +3858,17 @@ the user is using "Custom" settings by determining the sender*/
        }
        else
        {
-               [fPicSettingPAR setStringValue: @"Off"];
+               [fPicSettingPAR setStringValue: NSLocalizedStringFromTable(@"Off", @"Controller", @"")];
        }
        
     /* Set the display field for crop as per boolean */
        if (![fPictureController autoCrop])
        {
-           [fPicSettingAutoCrop setStringValue: @"Custom"];
+           [fPicSettingAutoCrop setStringValue: NSLocalizedStringFromTable(@"Custom", @"Controller", @"")];
        }
        else
        {
-               [fPicSettingAutoCrop setStringValue: @"Auto"];
+               [fPicSettingAutoCrop setStringValue: NSLocalizedStringFromTable(@"Auto", @"Controller", @"")];
        }       
        
     
@@ -4065,7 +4065,7 @@ the user is using "Custom" settings by determining the sender*/
        hb_audio_config_t * audio;
 
     [sender removeAllItems];
-    [sender addItemWithTitle: NSLocalizedString( @"None", @"" )];
+    [sender addItemWithTitle: NSLocalizedStringFromTable( @"None", @"Controller", @"" )];
     for( int i = 0; i < hb_list_count( title->list_audio ); i++ )
     {
         audio = (hb_audio_config_t *) hb_list_audio_config_item( title->list_audio, i );
@@ -4149,47 +4149,47 @@ the user is using "Custom" settings by determining the sender*/
             case 0:
                 /* MP4 */
                 // AAC
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"AAC (faac)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_FAAC];
                 
                 // AC3 Passthru
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"AC3 Passthru" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_AC3];
                 break;
                 
             case 1:
                 /* MKV */
                 // AAC
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"AAC (faac)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_FAAC];
                 // AC3 Passthru
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"AC3 Passthru" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_AC3];
                 // MP3
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"MP3 (lame)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_LAME];
                 // Vorbis
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"Vorbis (vorbis)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_VORBIS];
                 break;
                 
             case 2: 
                 /* AVI */
                 // MP3
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"MP3 (lame)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_LAME];
                 // AC3 Passthru
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"AC3 Passthru" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_AC3];
                 break;
                 
             case 3:
                 /* OGM */
                 // Vorbis
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"Vorbis (vorbis)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_VORBIS];
                 // MP3
-                menuItem = [[audiocodecPopUp menu] addItemWithTitle:@"MP3 (lame)" action: NULL keyEquivalent: @""];
+                menuItem = [[audiocodecPopUp menu] addItemWithTitle:NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"") action: NULL keyEquivalent: @""];
                 [menuItem setTag: HB_ACODEC_LAME];
                 break;
         }
@@ -4623,7 +4623,7 @@ the user is using "Custom" settings by determining the sender*/
     /* Audio samplerate */
     [sampleratePopUp removeAllItems];
     /* we create a same as source selection (Auto) so that we can choose to use the input sample rate */
-    NSMenuItem *menuItem = [[sampleratePopUp menu] addItemWithTitle: @"Auto" action: NULL keyEquivalent: @""];
+    NSMenuItem *menuItem = [[sampleratePopUp menu] addItemWithTitle: NSLocalizedStringFromTable(@"Auto", @"Controller", @"") action: NULL keyEquivalent: @""];
     [menuItem setTag: inputsamplerate];
     
     for( int i = 0; i < hb_audio_rates_count; i++ )
@@ -4726,18 +4726,18 @@ the user is using "Custom" settings by determining the sender*/
 - (IBAction) openHomepage: (id) sender
 {
     [[NSWorkspace sharedWorkspace] openURL: [NSURL
-        URLWithString:@"http://handbrake.fr/"]];
+        URLWithString:NSLocalizedStringFromTable(@"http://handbrake.fr/", @"Controller", @"")]];
 }
 
 - (IBAction) openForums: (id) sender
 {
     [[NSWorkspace sharedWorkspace] openURL: [NSURL
-        URLWithString:@"http://handbrake.fr/forum/"]];
+        URLWithString:NSLocalizedStringFromTable(@"http://handbrake.fr/forum/", @"Controller", @"")]];
 }
 - (IBAction) openUserGuide: (id) sender
 {
     [[NSWorkspace sharedWorkspace] openURL: [NSURL
-        URLWithString:@"http://handbrake.fr/trac/wiki/HandBrakeGuide"]];
+        URLWithString:NSLocalizedStringFromTable(@"http://handbrake.fr/trac/wiki/HandBrakeGuide", @"Controller", @"")]];
 }
 
 /**
@@ -4900,7 +4900,7 @@ return YES;
 {
        /* We have two columns right now, icon and PresetName */
        
-    if ([[tableColumn identifier] isEqualToString:@"PresetName"])
+    if ([[tableColumn identifier] isEqualToString:NSLocalizedStringFromTable(@"PresetName", @"Controller", @"")])
     {
         return [item objectForKey:@"PresetName"];
     }
@@ -4915,7 +4915,7 @@ return YES;
 /* Use to customize the font and display characteristics of the title cell */
 - (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
 {
-    if ([[tableColumn identifier] isEqualToString:@"PresetName"])
+    if ([[tableColumn identifier] isEqualToString:NSLocalizedStringFromTable(@"PresetName", @"Controller", @"")])
     {
         NSFont *txtFont;
         NSColor *fontColor;
@@ -4967,7 +4967,7 @@ return YES;
 /* We use this to edit the name field in the outline view */
 - (void)outlineView:(NSOutlineView *)outlineView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
 {
-    if ([[tableColumn identifier] isEqualToString:@"PresetName"])
+    if ([[tableColumn identifier] isEqualToString:NSLocalizedStringFromTable(@"PresetName", @"Controller", @"")])
     {
         id theRecord;
         
@@ -4996,7 +4996,7 @@ return YES;
         }
         else
         {
-            loc_tip = @"No description available";
+            loc_tip = NSLocalizedStringFromTable(@"No description available", @"Controller", @"");
         }
         return (loc_tip);
     //}
@@ -5126,7 +5126,7 @@ return YES;
         
         if ([[chosenPreset objectForKey:@"Default"] intValue] == 1)
         {
-            [fPresetSelectedDisplay setStringValue:[NSString stringWithFormat:@"%@ (Default)", [chosenPreset objectForKey:@"PresetName"]]];
+            [fPresetSelectedDisplay setStringValue:[NSString stringWithFormat:NSLocalizedStringFromTable(@"%@ (Default)", @"Controller", @""), [chosenPreset objectForKey:@"PresetName"]]];
         }
         else
         {
@@ -5148,13 +5148,13 @@ return YES;
         /* We set the advanced opt string here if applicable*/
         [fAdvancedOptions setOptions:[chosenPreset objectForKey:@"x264Option"]];
         /* We use a conditional to account for the new x264 encoder dropdown as well as presets made using legacy x264 settings*/
-        if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"x264 (h.264 Main)"] ||
-            [[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"x264 (h.264 iPod)"] ||
-            [[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"x264"])
+        if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"x264 (h.264 Main)", @"Controller", @"")] ||
+            [[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"x264 (h.264 iPod)", @"Controller", @"")] ||
+            [[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"x264", @"Controller", @"")])
         {
-            [fVidEncoderPopUp selectItemWithTitle:@"H.264 (x264)"];
+            [fVidEncoderPopUp selectItemWithTitle:NSLocalizedStringFromTable(@"H.264 (x264)", @"Controller", @"")];
             /* special case for legacy preset to check the new fDstMp4HttpOptFileCheck checkbox to set the ipod atom */
-            if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"x264 (h.264 iPod)"])
+            if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"x264 (h.264 iPod)", @"Controller", @"")])
             {
                 [fDstMp4iPodFileCheck setState:NSOnState];
                 /* We also need to add "level=30:" to the advanced opts string to set the correct level for the iPod when
@@ -5166,13 +5166,13 @@ return YES;
                 [fDstMp4iPodFileCheck setState:NSOffState];
             }
         }
-        else if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"FFmpeg"])
+        else if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"FFmpeg", @"Controller", @"")])
         {
-            [fVidEncoderPopUp selectItemWithTitle:@"MPEG-4 (FFmpeg)"];
+            [fVidEncoderPopUp selectItemWithTitle:NSLocalizedStringFromTable(@"MPEG-4 (FFmpeg)", @"Controller", @"")];
         }
-        else if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:@"XviD"])
+        else if ([[chosenPreset objectForKey:@"VideoEncoder"] isEqualToString:NSLocalizedStringFromTable(@"XviD", @"Controller", @"")])
         {
-            [fVidEncoderPopUp selectItemWithTitle:@"MPEG-4 (XviD)"];
+            [fVidEncoderPopUp selectItemWithTitle:NSLocalizedStringFromTable(@"MPEG-4 (XviD)", @"Controller", @"")];
         }
         else
         {
@@ -5219,7 +5219,7 @@ return YES;
         if ([chosenPreset objectForKey:@"FileCodecs"])
         {
             /* We need to handle the audio codec popup by determining what was chosen from the deprecated Codecs PopUp for past presets*/
-            if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString: @"AVC/H.264 Video / AAC + AC3 Audio"])
+            if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString: NSLocalizedStringFromTable(@"AVC/H.264 Video / AAC + AC3 Audio", @"Controller", @"")])
             {
                 /* We need to address setting languages etc. here in the new multi track audio panel */
                 /* Track One set here */
@@ -5229,106 +5229,106 @@ return YES;
                     [fAudLang1PopUp selectItemAtIndex: 1];
                     [self audioTrackPopUpChanged: fAudLang1PopUp];
                 }
-                [fAudTrack1CodecPopUp selectItemWithTitle: @"AAC (faac)"];
+                [fAudTrack1CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"")];
                 [self audioTrackPopUpChanged: fAudTrack1CodecPopUp];
                 /* Track Two, set source same as track one */
                 [fAudLang2PopUp selectItemAtIndex: [fAudLang1PopUp indexOfSelectedItem]];
                 [self audioTrackPopUpChanged: fAudLang2PopUp];
-                [fAudTrack2CodecPopUp selectItemWithTitle: @"AC3 Passthru"];
+                [fAudTrack2CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")];
                 [self audioTrackPopUpChanged: fAudTrack2CodecPopUp];
             }
-            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"MPEG-4 Video / AAC Audio"] ||
-                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"AVC/H.264 Video / AAC Audio"])
+            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"MPEG-4 Video / AAC Audio", @"Controller", @"")] ||
+                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"AVC/H.264 Video / AAC Audio", @"Controller", @"")])
             {
                 if ([fAudLang1PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack1CodecPopUp selectItemWithTitle: @"AAC (faac)"];
+                    [fAudTrack1CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack1CodecPopUp];
                 }
                 if ([fAudLang2PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack2CodecPopUp selectItemWithTitle: @"AAC (faac)"];
+                    [fAudTrack2CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack2CodecPopUp];
                 }
                 if ([fAudLang3PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack3CodecPopUp selectItemWithTitle: @"AAC (faac)"];
+                    [fAudTrack3CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack3CodecPopUp];
                 }
                 if ([fAudLang4PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack4CodecPopUp selectItemWithTitle: @"AAC (faac)"];
+                    [fAudTrack4CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AAC (faac)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack4CodecPopUp];
                 }
             }
-            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"MPEG-4 Video / AC-3 Audio"] ||
-                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"AVC/H.264 Video / AC-3 Audio"])
+            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"MPEG-4 Video / AC-3 Audio", @"Controller", @"")] ||
+                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"AVC/H.264 Video / AC-3 Audio", @"Controller", @"")])
             {
                 if ([fAudLang1PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack1CodecPopUp selectItemWithTitle: @"AC3 Passthru"];
+                    [fAudTrack1CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack1CodecPopUp];
                 }
                 if ([fAudLang2PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack2CodecPopUp selectItemWithTitle: @"AC3 Passthru"];
+                    [fAudTrack2CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack2CodecPopUp];
                 }
                 if ([fAudLang3PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack3CodecPopUp selectItemWithTitle: @"AC3 Passthru"];
+                    [fAudTrack3CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack3CodecPopUp];
                 }
                 if ([fAudLang4PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack4CodecPopUp selectItemWithTitle: @"AC3 Passthru"];
+                    [fAudTrack4CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack4CodecPopUp];
                 }
             }
-            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"MPEG-4 Video / MP3 Audio"] ||
-                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"AVC/H.264 Video / MP3 Audio"])
+            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"MPEG-4 Video / MP3 Audio", @"Controller", @"")] ||
+                     [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"AVC/H.264 Video / MP3 Audio", @"Controller", @"")])
             {
                 if ([fAudLang1PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack1CodecPopUp selectItemWithTitle: @"MP3 (lame)"];
+                    [fAudTrack1CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack1CodecPopUp];
                 }
                 if ([fAudLang2PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack2CodecPopUp selectItemWithTitle: @"MP3 (lame)"];
+                    [fAudTrack2CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack2CodecPopUp];
                 }
                 if ([fAudLang3PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack3CodecPopUp selectItemWithTitle: @"MP3 (lame)"];
+                    [fAudTrack3CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack3CodecPopUp];
                 }
                 if ([fAudLang4PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack4CodecPopUp selectItemWithTitle: @"MP3 (lame)"];
+                    [fAudTrack4CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"MP3 (lame)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack4CodecPopUp];
                 }
             }
-            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"MPEG-4 Video / Vorbis Audio"])
+            else if ([[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"MPEG-4 Video / Vorbis Audio", @"Controller", @"")])
             {
                 if ([fAudLang1PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack1CodecPopUp selectItemWithTitle: @"Vorbis (vorbis)"];
+                    [fAudTrack1CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack1CodecPopUp];
                 }
                 if ([fAudLang2PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack2CodecPopUp selectItemWithTitle: @"Vorbis (vorbis)"];
+                    [fAudTrack2CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack2CodecPopUp];
                 }
                 if ([fAudLang3PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack3CodecPopUp selectItemWithTitle: @"Vorbis (vorbis)"];
+                    [fAudTrack3CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack3CodecPopUp];
                 }
                 if ([fAudLang4PopUp indexOfSelectedItem] > 0)
                 {
-                    [fAudTrack4CodecPopUp selectItemWithTitle: @"Vorbis (vorbis)"];
+                    [fAudTrack4CodecPopUp selectItemWithTitle: NSLocalizedStringFromTable(@"Vorbis (vorbis)", @"Controller", @"")];
                     [self audioTrackPopUpChanged: fAudTrack4CodecPopUp];
                 }
             }
@@ -5336,22 +5336,22 @@ return YES;
              * UNLESS the CodecPopUp is AC3 in which case the preset values are ignored in favor of rates set in audioTrackMixdownChanged*/
             if ([chosenPreset objectForKey:@"AudioSampleRate"])
             {
-                if ([fAudLang1PopUp indexOfSelectedItem] > 0 && [fAudTrack1CodecPopUp titleOfSelectedItem] != @"AC3 Passthru")
+                if ([fAudLang1PopUp indexOfSelectedItem] > 0 && [fAudTrack1CodecPopUp titleOfSelectedItem] != NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @""))
                 {
                     [fAudTrack1RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioSampleRate"]];
                     [fAudTrack1BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioBitRate"]];
                 }
-                if ([fAudLang2PopUp indexOfSelectedItem] > 0 && [fAudTrack2CodecPopUp titleOfSelectedItem] != @"AC3 Passthru")
+                if ([fAudLang2PopUp indexOfSelectedItem] > 0 && [fAudTrack2CodecPopUp titleOfSelectedItem] != NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @""))
                 {
                     [fAudTrack2RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioSampleRate"]];
                     [fAudTrack2BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioBitRate"]];
                 }
-                if ([fAudLang3PopUp indexOfSelectedItem] > 0 && [fAudTrack3CodecPopUp titleOfSelectedItem] != @"AC3 Passthru")
+                if ([fAudLang3PopUp indexOfSelectedItem] > 0 && [fAudTrack3CodecPopUp titleOfSelectedItem] != NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @""))
                 {
                     [fAudTrack3RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioSampleRate"]];
                     [fAudTrack3BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioBitRate"]];
                 }
-                if ([fAudLang4PopUp indexOfSelectedItem] > 0 && [fAudTrack4CodecPopUp titleOfSelectedItem] != @"AC3 Passthru")
+                if ([fAudLang4PopUp indexOfSelectedItem] > 0 && [fAudTrack4CodecPopUp titleOfSelectedItem] != NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @""))
                 {
                     [fAudTrack4RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioSampleRate"]];
                     [fAudTrack4BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"AudioBitRate"]];
@@ -5402,7 +5402,7 @@ return YES;
                 }
                 [fAudTrack1RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio1Samplerate"]];
                 /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-                if (![[chosenPreset objectForKey:@"Audio1Encoder"] isEqualToString:@"AC3 Passthru"])
+                if (![[chosenPreset objectForKey:@"Audio1Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
                 {
                     [fAudTrack1BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio1Bitrate"]];
                 }
@@ -5427,7 +5427,7 @@ return YES;
                 }
                 [fAudTrack2RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio2Samplerate"]];
                 /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-                if (![[chosenPreset objectForKey:@"Audio2Encoder"] isEqualToString:@"AC3 Passthru"])
+                if (![[chosenPreset objectForKey:@"Audio2Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
                 {
                     [fAudTrack2BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio2Bitrate"]];
                 }
@@ -5452,7 +5452,7 @@ return YES;
                 }
                 [fAudTrack3RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio3Samplerate"]];
                 /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-                if (![[chosenPreset objectForKey:@"Audio3Encoder"] isEqualToString: @"AC3 Passthru"])
+                if (![[chosenPreset objectForKey:@"Audio3Encoder"] isEqualToString: NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
                 {
                     [fAudTrack3BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio3Bitrate"]];
                 }
@@ -5477,7 +5477,7 @@ return YES;
                 }
                 [fAudTrack4RatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio4Samplerate"]];
                 /* We set the presets bitrate if it is *not* an AC3 track since that uses the input bitrate */
-                if (![[chosenPreset objectForKey:@"Audio4Encoder"] isEqualToString:@"AC3 Passthru"])
+                if (![[chosenPreset objectForKey:@"Audio4Encoder"] isEqualToString:NSLocalizedStringFromTable(@"AC3 Passthru", @"Controller", @"")])
                 {
                     [fAudTrack4BitratePopUp selectItemWithTitle:[chosenPreset objectForKey:@"Audio4Bitrate"]];
                 }
@@ -5491,7 +5491,7 @@ return YES;
         /* We now cleanup any extra audio tracks that may be previously set if we need to, we do it here so we don't have to
          * duplicate any code for legacy presets.*/
         /* First we handle the legacy Codecs crazy AVC/H.264 Video / AAC + AC3 Audio atv hybrid */
-        if ([chosenPreset objectForKey:@"FileCodecs"] && [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:@"AVC/H.264 Video / AAC + AC3 Audio"])
+        if ([chosenPreset objectForKey:@"FileCodecs"] && [[chosenPreset objectForKey:@"FileCodecs"] isEqualToString:NSLocalizedStringFromTable(@"AVC/H.264 Video / AAC + AC3 Audio", @"Controller", @"")])
         {
             [fAudLang3PopUp selectItemAtIndex: 0];
             [self audioTrackPopUpChanged: fAudLang3PopUp];
@@ -5781,9 +5781,9 @@ return YES;
 
     /* Populate the preset picture settings popup here */
     [fPresetNewPicSettingsPopUp removeAllItems];
-    [fPresetNewPicSettingsPopUp addItemWithTitle:@"None"];
-    [fPresetNewPicSettingsPopUp addItemWithTitle:@"Current"];
-    [fPresetNewPicSettingsPopUp addItemWithTitle:@"Source Maximum (post source scan)"];
+    [fPresetNewPicSettingsPopUp addItemWithTitle:NSLocalizedStringFromTable(@"None", @"Controller", @"")];
+    [fPresetNewPicSettingsPopUp addItemWithTitle:NSLocalizedStringFromTable(@"Current", @"Controller", @"")];
+    [fPresetNewPicSettingsPopUp addItemWithTitle:NSLocalizedStringFromTable(@"Source Maximum (post source scan)", @"Controller", @"")];
     [fPresetNewPicSettingsPopUp selectItemAtIndex: 0]; 
     /* Uncheck the preset use filters checkbox */
     [fPresetNewPicFiltersCheck setState:NSOffState];
@@ -5805,7 +5805,7 @@ return YES;
 - (IBAction)addUserPreset:(id)sender
 {
     if (![[fPresetNewName stringValue] length])
-            NSRunAlertPanel(@"Warning!", @"You need to insert a name for the preset.", @"OK", nil , nil);
+            NSRunAlertPanel(NSLocalizedStringFromTable(@"Warning!", @"Controller", @""), NSLocalizedStringFromTable(@"You need to insert a name for the preset.", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), nil , nil);
     else
     {
         /* Here we create a custom user preset */
@@ -6015,7 +6015,7 @@ return YES;
     }
     /* Alert user before deleting preset */
        int status;
-    status = NSRunAlertPanel(@"Warning!", @"Are you sure that you want to delete the selected preset?", @"OK", @"Cancel", nil);
+    status = NSRunAlertPanel(NSLocalizedStringFromTable(@"Warning!", @"Controller", @""), NSLocalizedStringFromTable(@"Are you sure that you want to delete the selected preset?", @"Controller", @""), NSLocalizedStringFromTable(@"OK", @"Controller", @""), NSLocalizedStringFromTable(@"Cancel", @"Controller", @""), nil);
     
     if ( status == NSAlertDefaultReturn ) 
     {