Huge localization update.

Changed toolbar at the top of the MSC main window from a fake toolbar to an NSToolbar. This allows the buttons to auto-resize to show the entire label when the localized language labels are wider than the English labels. Also provides better/more-Mac-like behavior when in full-screen mode.

Updated all lproj/MainMenu.xib files to have the correct strings; ported the translated button labels to the new controls.

Added additional managedsoftwareupdate message strings to Managed Software Center and MunkiStatus's Localizable strings.

Normalized all Managed Software Center/*.lproj/Localizable.strings so all comments and keys match en.lproj.
This commit is contained in:
Greg Neagle
2014-08-25 08:39:37 -07:00
parent 60bc2dcd13
commit caeecc92e3
28 changed files with 613 additions and 360 deletions
@@ -13,7 +13,6 @@
C05C3CEF188391F200095E65 /* munki.py in Resources */ = {isa = PBXBuildFile; fileRef = C05C3CEE188391F200095E65 /* munki.py */; };
C079D9C118BD435200BAD62E /* AlertController.py in Resources */ = {isa = PBXBuildFile; fileRef = C079D9C018BD435200BAD62E /* AlertController.py */; };
C09004F216CDD84E00BE34CE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C09004F116CDD84E00BE34CE /* Cocoa.framework */; };
C09004FE16CDD84E00BE34CE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C09004FC16CDD84E00BE34CE /* InfoPlist.strings */; };
C090050016CDD84E00BE34CE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C09004FF16CDD84E00BE34CE /* main.m */; };
C090050616CDD84E00BE34CE /* main.py in Resources */ = {isa = PBXBuildFile; fileRef = C090050516CDD84E00BE34CE /* main.py */; };
C090050816CDD84E00BE34CE /* MSUAppDelegate.py in Resources */ = {isa = PBXBuildFile; fileRef = C090050716CDD84E00BE34CE /* MSUAppDelegate.py */; };
@@ -30,6 +29,7 @@
C0B37443187089F300B6204E /* toolbarUpdatesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = C0B3743E187089F300B6204E /* toolbarUpdatesTemplate.pdf */; };
C0B3744618708A0300B6204E /* templates in Resources */ = {isa = PBXBuildFile; fileRef = C0B3744418708A0300B6204E /* templates */; };
C0B3744718708A0300B6204E /* WebResources in Resources */ = {isa = PBXBuildFile; fileRef = C0B3744518708A0300B6204E /* WebResources */; };
C0B9E8B219AB8E5500DB7247 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C09004FC16CDD84E00BE34CE /* InfoPlist.strings */; };
C0E098BC1857A3C80045DEEB /* msulib.py in Resources */ = {isa = PBXBuildFile; fileRef = C0E098BB1857A3C80045DEEB /* msulib.py */; };
C0F1586E187D256200052F9A /* MyStuffTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = C0F1586D187D256200052F9A /* MyStuffTemplate.png */; };
/* End PBXBuildFile section */
@@ -91,6 +91,19 @@
C0B3743E187089F300B6204E /* toolbarUpdatesTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = toolbarUpdatesTemplate.pdf; sourceTree = "<group>"; };
C0B3744418708A0300B6204E /* templates */ = {isa = PBXFileReference; lastKnownFileType = folder; path = templates; sourceTree = "<group>"; };
C0B3744518708A0300B6204E /* WebResources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = WebResources; sourceTree = "<group>"; };
C0B9E89F19AA2B6800DB7247 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A119AA2B8400DB7247 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A219AA2B8600DB7247 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A319AA2B8900DB7247 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A419AA2B8B00DB7247 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A519AA2B8D00DB7247 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A619AA2B9100DB7247 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A719AA2B9400DB7247 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A819AA2B9700DB7247 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8A919AA2B9A00DB7247 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8AD19AA55DC00DB7247 /* en_AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en_AU; path = en_AU.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8AE19AA55DC00DB7247 /* en_CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en_CA; path = en_CA.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0B9E8AF19AA55DC00DB7247 /* en_GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en_GB; path = en_GB.lproj/MainMenu.strings; sourceTree = "<group>"; };
C0E098BB1857A3C80045DEEB /* msulib.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = msulib.py; sourceTree = "<group>"; };
C0F1586D187D256200052F9A /* MyStuffTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MyStuffTemplate.png; sourceTree = "<group>"; };
E62967521993D4A400ADCB43 /* en_GB */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en_GB; path = en_GB.lproj/MainMenu.xib; sourceTree = "<group>"; };
@@ -180,6 +193,7 @@
C09004FA16CDD84E00BE34CE /* Supporting Files */ = {
isa = PBXGroup;
children = (
C0B9E89E19AA2B6800DB7247 /* MainMenu.strings */,
C02C98871911B81D00425167 /* Localizable.strings */,
C02C98731911B55600425167 /* Managed Software Center-Info.plist */,
C09004FC16CDD84E00BE34CE /* InfoPlist.strings */,
@@ -280,6 +294,9 @@
en_GB,
en_AU,
en_US,
"en-CA",
"en-GB",
"en-AU",
);
mainGroup = C09004E216CDD84E00BE34CE;
productRefGroup = C09004EE16CDD84E00BE34CE /* Products */;
@@ -296,8 +313,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C0B9E8B219AB8E5500DB7247 /* InfoPlist.strings in Resources */,
C0B37443187089F300B6204E /* toolbarUpdatesTemplate.pdf in Resources */,
C09004FE16CDD84E00BE34CE /* InfoPlist.strings in Resources */,
C0E098BC1857A3C80045DEEB /* msulib.py in Resources */,
C0AAA21E18BAD8710012663F /* msulog.py in Resources */,
C094B6CF188F7C7700E06897 /* MSUStatusController.py in Resources */,
@@ -426,6 +443,26 @@
name = MainMenu.xib;
sourceTree = "<group>";
};
C0B9E89E19AA2B6800DB7247 /* MainMenu.strings */ = {
isa = PBXVariantGroup;
children = (
C0B9E89F19AA2B6800DB7247 /* en */,
C0B9E8A119AA2B8400DB7247 /* fr */,
C0B9E8A219AA2B8600DB7247 /* de */,
C0B9E8A319AA2B8900DB7247 /* es */,
C0B9E8A419AA2B8B00DB7247 /* da */,
C0B9E8A519AA2B8D00DB7247 /* fi */,
C0B9E8A619AA2B9100DB7247 /* nb */,
C0B9E8A719AA2B9400DB7247 /* ru */,
C0B9E8A819AA2B9700DB7247 /* sv */,
C0B9E8A919AA2B9A00DB7247 /* nl */,
C0B9E8AD19AA55DC00DB7247 /* en_AU */,
C0B9E8AE19AA55DC00DB7247 /* en_CA */,
C0B9E8AF19AA55DC00DB7247 /* en_GB */,
);
name = MainMenu.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -131,7 +131,7 @@ class AlertController(NSObject):
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
NSLocalizedString(u"Restart Required", u"Restart Required title"),
NSLocalizedString(u"Log out and update", u"Log out and Update button text"),
NSLocalizedString(u"Cancel", u"Cancel button title"),
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"),
nil,
u"%@", NSLocalizedString(
(u"A restart is required after updating. Please be patient "
@@ -144,7 +144,7 @@ class AlertController(NSObject):
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
NSLocalizedString(u"Logout Required", u"Logout Required title"),
NSLocalizedString(u"Log out and update", u"Log out and Update button text"),
NSLocalizedString(u"Cancel", u"Cancel button title"),
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"),
nil,
u"%@", NSLocalizedString(
(u"A logout is required before updating. Please be patient "
@@ -185,7 +185,7 @@ class AlertController(NSObject):
msulog.log("MSC", "multiple_gui_users_update_cancelled")
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
NSLocalizedString(u"Other users logged in", u"Other Users Logged In title"),
NSLocalizedString(u"Cancel", u"Cancel button title"),
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"),
nil,
nil,
u"%@", NSLocalizedString(
@@ -294,7 +294,7 @@ class AlertController(NSObject):
for item in firmware_alert_info:
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(item['name'],
NSLocalizedString(u"Continue", u"Continue button text"),
NSLocalizedString(u"Cancel", u"Cancel button title"),
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"),
nil,
u"")
if on_battery_power:
@@ -326,7 +326,7 @@ class AlertController(NSObject):
NSLocalizedString(
u"Your computer is not connected to a power source.", u"No Power Source Warning text"),
NSLocalizedString(u"Continue", u"Continue button text"),
NSLocalizedString(u"Cancel", u"Cancel button title"),
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"),
nil,
u"%@", NSLocalizedString(
(u"For best results, you should connect your computer to a "
@@ -52,7 +52,10 @@ class MSUMainWindowController(NSWindowController):
html_dir = None
# Cocoa UI binding properties
tabControl = IBOutlet()
softwareToolbarButton = IBOutlet()
categoriesToolbarButton = IBOutlet()
myItemsToolbarButton = IBOutlet()
updatesToolbarButton = IBOutlet()
webView = IBOutlet()
navigationBtn = IBOutlet()
progressSpinner = IBOutlet()
@@ -153,21 +156,26 @@ class MSUMainWindowController(NSWindowController):
self.loadAllSoftwarePage_(self)
self.displayUpdateCount()
self.cached_self_service = MunkiItems.SelfService()
def enableOrDisableTabViewCells_(self, enabled_state):
'''Enable or disable cells in the NSMatrix of buttons'''
cell_list = self.tabControl.cells()
for cell in cell_list:
if cell.tag() == 4:
cell.setEnabled_(YES)
else:
cell.setEnabled_(enabled_state)
def highlightToolbarButtons_(self, nameToHighlight):
'''Highlight/dim buttons in our toolbar'''
self.softwareToolbarButton.setState_(nameToHighlight == "Software")
self.categoriesToolbarButton.setState_(nameToHighlight == "Categories")
self.myItemsToolbarButton.setState_(nameToHighlight == "My Items")
self.updatesToolbarButton.setState_(nameToHighlight == "Updates")
def enableOrDisableToolbarButtons_(self, enabled_state):
'''Enable or disable buttons in our toolbar'''
self.softwareToolbarButton.setEnabled_(enabled_state)
self.categoriesToolbarButton.setEnabled_(enabled_state)
self.myItemsToolbarButton.setEnabled_(enabled_state)
self.updatesToolbarButton.setEnabled_(YES)
def enableOrDisableSoftwareViewControls(self):
'''Disable or enable the controls that let us view optional items'''
optional_items = MunkiItems.getOptionalInstallItems()
enabled_state = (len(optional_items) > 0)
self.enableOrDisableTabViewCells_(enabled_state)
self.enableOrDisableToolbarButtons_(enabled_state)
self.searchField.setEnabled_(enabled_state)
self.findMenuItem.setEnabled_(enabled_state)
self.softwareMenuItem.setEnabled_(enabled_state)
@@ -298,15 +306,11 @@ class MSUMainWindowController(NSWindowController):
NSApp.terminate_(self)
return NO
def windowDidBecomeMain_(self, notification):
'''Our window was activated, make sure controls enabled as needed'''
optional_items = MunkiItems.getOptionalInstallItems()
enabled_state = (len(optional_items) > 0)
self.enableOrDisableTabViewCells_(enabled_state)
def windowDidResignMain_(self, notification):
'''Our tab control doesn't auto disable when the window is not frontmost; fix this'''
self.tabControl.setEnabled_(NO)
#def windowDidBecomeMain_(self, notification):
# '''Our window was activated, make sure controls enabled as needed'''
# optional_items = MunkiItems.getOptionalInstallItems()
# enabled_state = (len(optional_items) > 0)
# self.enableOrDisableToolbarButtons_(enabled_state)
def configureFullScreenMenuItem(self):
'''check to see if NSWindow's toggleFullScreen: selector is implemented.
@@ -636,15 +640,15 @@ class MSUMainWindowController(NSWindowController):
self.progressSpinner.startAnimation_(self)
main_url = self.webView.mainFrameURL()
if main_url.endswith('category-all.html'):
self.tabControl.selectCellWithTag_(1)
self.highlightToolbarButtons_("Software")
elif main_url.endswith('categories.html'):
self.tabControl.selectCellWithTag_(2)
self.highlightToolbarButtons_("Categories")
elif main_url.endswith('myitems.html'):
self.tabControl.selectCellWithTag_(3)
self.highlightToolbarButtons_("My Items")
elif main_url.endswith('updates.html'):
self.tabControl.selectCellWithTag_(4)
self.highlightToolbarButtons_("Updates")
else:
self.tabControl.deselectAllCells()
self.highlightToolbarButtons_(None)
def webView_didFinishLoadForFrame_(self, view, frame):
'''Stop progress spinner and update state of back/forward buttons'''
@@ -723,7 +727,7 @@ class MSUMainWindowController(NSWindowController):
install_all_button = document.getElementById_('install-all-button-text')
if install_all_button:
install_all_button.setInnerText_(
NSLocalizedString(u"Cancel", u"Cancel button title"))
NSLocalizedString(u"Cancel", u"Cancel button title/short action text"))
#btn_classes = install_all_button.className().split(' ')
#if not 'checking' in btn_classes:
# btn_classes.append('checking')
@@ -950,7 +954,7 @@ class MSUMainWindowController(NSWindowController):
def loadAllSoftwarePage_(self, sender):
'''Called by Navigate menu item'''
self.load_page('category-all.html')
@IBAction
def loadCategoriesPage_(self, sender):
'''Called by Navigate menu item'''
@@ -968,19 +972,24 @@ class MSUMainWindowController(NSWindowController):
self._alertedUserToOutstandingUpdates = True
@IBAction
def tabControlClicked_(self, sender):
'''Handle a click on our toolbar buttons'''
selectedCell = sender.selectedCell()
if selectedCell:
tag = selectedCell.tag()
if tag == 1:
self.loadAllSoftwarePage_(sender)
if tag == 2:
self.loadCategoriesPage_(sender)
if tag == 3:
self.loadMyItemsPage_(sender)
if tag == 4:
self.loadUpdatesPage_(sender)
def softwareToolbarButtonClicked_(self, sender):
'''User clicked Software toolbar button'''
self.loadAllSoftwarePage_(sender)
@IBAction
def categoriesToolbarButtonClicked_(self, sender):
'''User clicked Categories toolbar button'''
self.loadCategoriesPage_(sender)
@IBAction
def myItemsToolbarButtonClicked_(self, sender):
'''User clicked My Items toolbar button'''
self.loadMyItemsPage_(sender)
@IBAction
def updatesToolbarButtonClicked_(self, sender):
'''User clicked Updates toolbar button'''
self.loadUpdatesPage_(sender)
@IBAction
def searchFilterChanged_(self, sender):
@@ -991,16 +1000,13 @@ class MSUMainWindowController(NSWindowController):
self.load_page(u'filter-%s.html' % filterString)
def currentPageIsUpdatesPage(self):
'''return True if current tab selected is updates'''
selectedCell = self.tabControl.selectedCell()
return (selectedCell is not None and selectedCell.tag() == 4)
def currentPageIsMyItemsPage(self):
'''return True if current tab selected is updates'''
selectedCell = self.tabControl.selectedCell()
return (selectedCell is not None and selectedCell.tag() == 3)
'''return True if current tab selected is Updates'''
return (self.updatesToolbarButton.state() == NSOnState)
def currentPageIsCategoriesPage(self):
'''return True if current tab selected is updates'''
selectedCell = self.tabControl.selectedCell()
return (selectedCell is not None and selectedCell.tag() == 2)
#def currentPageIsMyItemsPage(self):
# '''return True if current tab selected is My Items'''
# return (self.myItemsToolbarButton.state() == NSOnState)
#def currentPageIsCategoriesPage(self):
# '''return True if current tab selected is Categories'''
# return (self.categoriesToolbarButton.state() == NSOnState)
@@ -207,7 +207,7 @@ class MSUStatusController(NSObject):
'''Display a restart alert -- some item just installed or removed requires a restart'''
self._status_restartAlertDismissed = 0
alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
NSLocalizedString(u"Restart Required", u"Restart Required alert title"),
NSLocalizedString(u"Restart Required", u"Restart Required title"),
NSLocalizedString(u"Restart", u"Restart button title"),
nil,
nil,
@@ -227,7 +227,8 @@ class MSUStatusController(NSObject):
def setMessage_(self, messageText):
'''Display main status message'''
messageText = NSLocalizedString(messageText, None)
messageText = NSBundle.mainBundle().localizedStringForKey_value_table_(
messageText, messageText, None)
self._status_message = messageText
document = self.statusWindowController.webView.mainFrameDocument()
if document:
@@ -242,7 +243,8 @@ class MSUStatusController(NSObject):
def setDetail_(self, detailText):
'''Display status detail'''
detailText = NSLocalizedString(detailText, None)
detailText = NSBundle.mainBundle().localizedStringForKey_value_table_(
detailText, detailText, None)
self._status_detail = detailText
document = self.statusWindowController.webView.mainFrameDocument()
if document:
@@ -334,6 +336,8 @@ def more_localized_strings():
will be able to discover them'''
foo = NSLocalizedString(u"Starting...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Finishing...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Performing preflight tasks...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Performing postflight tasks...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Checking for available updates...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Checking for additional changes...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Software installed or removed requires a restart.",
@@ -352,8 +356,7 @@ def more_localized_strings():
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Determining which filesystem items to remove",
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Removing receipt info",
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Removing receipt info", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Nothing to remove.", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Package removal complete.", "managedsoftwareupdate message")
@@ -434,12 +434,12 @@ class GenericItem(dict):
elif self['RestartAction'] in ['RequireRestart', 'RecommendRestart']:
self['restart_sort'] = 0
self['restart_action_text'] = NSLocalizedString(
u"Restart Required", u"Require Restart message")
u"Restart Required", u"Restart Required title")
self['restart_action_text'] += u'<div class="restart-needed-icon"></div>'
elif self['RestartAction'] in ['RequireLogout', 'RecommendLogout']:
self['restart_sort'] = 1
self['restart_action_text'] = NSLocalizedString(
u"Logout Required", u"Require Logout message")
u"Logout Required", u"Logout Required title")
self['restart_action_text'] += u'<div class="logout-needed-icon"></div>'
# sort bigger installs to the top
@@ -574,7 +574,7 @@ class GenericItem(dict):
u"Will Be Installed status text"),
'must-be-installed':
NSLocalizedString(u"Will be installed",
u"Install Required status text"),
u"Will Be Installed status text"),
'removal-requested':
NSLocalizedString(u"Removal requested",
u"Removal Requested status text"),
@@ -592,7 +592,7 @@ class GenericItem(dict):
u"Update Will Be Installed status text"),
'update-must-be-installed':
NSLocalizedString(u"Update will be installed",
u"Update Required status text"),
u"Update Will Be Installed status text"),
'update-available':
NSLocalizedString(u"Update available",
u"Update Available status text"),
@@ -607,58 +607,58 @@ class GenericItem(dict):
map = {
'install-error':
NSLocalizedString(u"Cancel",
u"Cancel Install short action text"),
u"Cancel button title/short action text"),
'removal-error':
NSLocalizedString(u"Cancel",
u"Cancel Removal short action text"),
u"Cancel button title/short action text"),
'installed':
NSLocalizedString(u"Remove",
u"Remove short action text"),
u"Remove action text"),
'installing':
NSLocalizedString(u"Installing",
u"Installing short action text"),
u"Installing status text"),
'installed-not-removable':
NSLocalizedString(u"Installed",
u"Installed short action text"),
u"Installed status text"),
'not-installed':
NSLocalizedString(u"Install",
u"Install short action text"),
u"Install action text"),
'install-requested':
NSLocalizedString(u"Cancel",
u"Cancel Install short action text"),
u"Cancel button title/short action text"),
'downloading':
NSLocalizedString(u"Cancel",
u"Cancel Install short action text"),
u"Cancel button title/short action text"),
'will-be-installed':
NSLocalizedString(u"Cancel",
u"Cancel Install short action text"),
u"Cancel button title/short action text"),
'must-be-installed':
NSLocalizedString(u"Required",
u"Install Required short action text"),
u"Install Required action text"),
'removal-requested':
NSLocalizedString(u"Cancel",
u"Cancel Removal short action text"),
u"Cancel button title/short action text"),
'preparing-removal':
NSLocalizedString(u"Cancel",
u"Cancel Install short action text"),
u"Cancel button title/short action text"),
'will-be-removed':
NSLocalizedString(u"Cancel",
u"Cancel Removal short action text"),
u"Cancel button title/short action text"),
'removing':
NSLocalizedString(u"Removing",
u"Removing short action text"),
u"Removing status text"),
'update-will-be-installed':
NSLocalizedString(u"Cancel",
u"Cancel Update short action text"),
u"Cancel button title/short action text"),
'update-must-be-installed':
NSLocalizedString(u"Required",
u"Update Required short action text"),
u"Install Required action text"),
'update-available':
NSLocalizedString(u"Update",
u"Update short action text"),
u"Update button title/action text"),
'unavailable':
NSLocalizedString(u"Unavailable",
u"Unavailable short action text"),
u"Unavailable status text"),
}
return map.get(self['status'], self['status'])
@@ -673,16 +673,16 @@ class GenericItem(dict):
u"Cancel Removal long action text"),
'installed':
NSLocalizedString(u"Remove",
u"Remove long action text"),
u"Remove action text"),
'installing':
NSLocalizedString(u"Installing",
u"Installing long action text"),
u"Installing status text"),
'installed-not-removable':
NSLocalizedString(u"Installed",
u"Installed long action text"),
u"Installed status text"),
'not-installed':
NSLocalizedString(u"Install",
u"Install long action text"),
u"Install action text"),
'install-requested':
NSLocalizedString(u"Cancel install",
u"Cancel Install long action text"),
@@ -694,7 +694,7 @@ class GenericItem(dict):
u"Cancel Install long action text"),
'must-be-installed':
NSLocalizedString(u"Install Required",
u"Install Required long action text"),
u"Install Required action text"),
'removal-requested':
NSLocalizedString(u"Cancel removal",
u"Cancel Removal long action text"),
@@ -706,16 +706,16 @@ class GenericItem(dict):
u"Cancel Removal long action text"),
'removing':
NSLocalizedString(u"Removing",
u"Removing long action text"),
u"Removing status text"),
'update-will-be-installed':
NSLocalizedString(u"Cancel update",
u"Cancel Update long action text"),
'update-must-be-installed':
NSLocalizedString(u"Update Required",
u"Update Requires long action text"),
u"Update Required long action text"),
'update-available':
NSLocalizedString(u"Update",
u"Update long action text"),
u"Update button title/action text"),
'unavailable':
NSLocalizedString(u"Currently Unavailable",
u"Unavailable long action text"),
@@ -733,13 +733,13 @@ class GenericItem(dict):
u"Cancel Removal long action text"),
'installed':
NSLocalizedString(u"Remove",
u"Remove long action text"),
u"Remove action text"),
'installing':
NSLocalizedString(u"Installing",
u"Installing long action text"),
u"Installing status text"),
'installed-not-removable':
NSLocalizedString(u"Installed",
u"Installed long action text"),
u"Installed status text"),
'removal-requested':
NSLocalizedString(u"Cancel removal",
u"Cancel Removal long action text"),
@@ -751,13 +751,13 @@ class GenericItem(dict):
u"Cancel Removal long action text"),
'removing':
NSLocalizedString(u"Removing",
u"Removing long action text"),
u"Removing status text"),
'update-available':
NSLocalizedString(u"Update",
u"Update long action text"),
u"Update button title/action text"),
'update-will-be-installed':
NSLocalizedString(u"Remove",
u"Remove long action text"),
u"Remove action text"),
'update-must-be-installed':
NSLocalizedString(u"Update Required",
u"Update Required long action text"),
@@ -772,7 +772,7 @@ class GenericItem(dict):
u"Cancel Install long action text"),
'must-be-installed':
NSLocalizedString(u"Required",
u"Install Required long action text"),
u"Install Required action text"),
}
return map.get(self['status'], self['status'])
@@ -780,11 +780,11 @@ class GenericItem(dict):
'''Text for the version label'''
if self['status'] == 'will-be-removed':
removal_text = NSLocalizedString(
u"Will be removed", u"Will Be Removed display text")
u"Will be removed", u"Will Be Removed status text")
return '<span class="warning">%s</span>' % removal_text
if self['status'] == 'removal-requested':
removal_text = NSLocalizedString(
u"Removal requested", u"Removal Requested display text")
u"Removal requested", u"Removal Requested status text")
return '<span class="warning">%s</span>' % removal_text
else:
return NSLocalizedString(u"Version", u"Sidebar Version label")
@@ -928,7 +928,8 @@ class OptionalItem(GenericItem):
start_text += '<span class="warning">%s</span><br/><br/>' % filtered_html(warning_text)
if self.get('note'):
# some other note. Probably won't be localized, but we can try
warning_text = NSLocalizedString(self['note'], None)
warning_text = NSBundle.mainBundle().localizedStringForKey_value_table_(
self['note'], self['note'], None)
start_text += '<span class="warning">%s</span><br/><br/>' % filtered_html(warning_text)
if self.get('dependent_items'):
start_text += self.dependency_description()
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Naviger";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Mine emner";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Kategorier";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Søg";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Genindlæs side";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Opdateringer";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Opdateringer";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Opdateringer";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Kategorier";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Kategorier";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Mine emner";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Mine emner";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Tilbage";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Søg";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Start fuld skærm";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Opdateringer";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navigation";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Installiert";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Kategorien";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Suche";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Seite neu laden";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Updates";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Kategorien";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Kategorien";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Installiert";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Installiert";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Zurück";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Suche";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Vollbild";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Updates";
@@ -128,7 +128,7 @@
</menuItem>
<menuItem title="Search" keyEquivalent="f" id="1XY-pX-Pwv">
<connections>
<action selector="selectText:" target="557" id="Zt1-i5-XcP"/>
<action selector="selectText:" target="gLI-O8-siB" id="0D8-FV-q15"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="Jey-TI-2ca"/>
@@ -208,134 +208,171 @@
<rect key="frame" x="0.0" y="0.0" width="1143" height="730"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<box autoresizesSubviews="NO" verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" id="har-U9-FkJ">
<rect key="frame" x="0.0" y="674" width="1143" height="5"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
</box>
<webView id="S5Y-lq-2nB">
<rect key="frame" x="0.0" y="0.0" width="1143" height="676"/>
<rect key="frame" x="0.0" y="0.0" width="1143" height="730"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<webPreferences key="preferences" defaultFontSize="12" defaultFixedFontSize="12" plugInsEnabled="NO" javaEnabled="NO">
<nil key="identifier"/>
</webPreferences>
</webView>
<searchField verticalHuggingPriority="750" id="557">
<rect key="frame" x="979" y="694" width="149" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" usesSingleLineMode="YES" bezelStyle="round" sendsWholeSearchString="YES" id="558">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="searchFilterChanged:" target="KMl-S0-0FF" id="bfv-In-bkh"/>
</connections>
</searchField>
<customView autoresizesSubviews="NO" wantsLayer="YES" id="802">
<rect key="frame" x="406" y="676" width="330" height="52"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<button focusRingType="none" id="782">
<rect key="frame" x="167" y="7" width="72" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" title="My Items" bezelStyle="texturedSquare" imagePosition="overlaps" alignment="center" state="on" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="783">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</button>
<button focusRingType="none" id="TMK-lk-F15">
<rect key="frame" x="242" y="7" width="72" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" title="Updates" bezelStyle="texturedSquare" imagePosition="overlaps" alignment="center" state="on" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="Lha-uh-PEV">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</button>
<button focusRingType="none" id="781">
<rect key="frame" x="91" y="7" width="72" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" title="Categories" bezelStyle="texturedSquare" imagePosition="overlaps" alignment="center" state="on" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="784">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</button>
<button focusRingType="none" id="780">
<rect key="frame" x="15" y="7" width="72" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" title="Software" bezelStyle="texturedSquare" imagePosition="overlaps" alignment="center" state="on" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="785">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</button>
<matrix verticalHuggingPriority="750" selectionByRect="NO" autosizesCells="NO" id="796">
<rect key="frame" x="16" y="13" width="295" height="48"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
<size key="cellSize" width="67" height="48"/>
<size key="intercellSpacing" width="9" height="0.0"/>
<buttonCell key="prototype" type="squareTextured" bezelStyle="texturedSquare" image="AllItemsTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="797">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
<cells>
<column>
<buttonCell type="squareTextured" bezelStyle="texturedSquare" image="AllItemsTemplate" imagePosition="only" alignment="center" state="on" tag="1" imageScaling="proportionallyDown" inset="2" id="769">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</column>
<column>
<buttonCell type="squareTextured" bezelStyle="texturedSquare" image="toolbarCategoriesTemplate" imagePosition="overlaps" alignment="center" tag="2" imageScaling="proportionallyDown" inset="2" id="771">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</column>
<column>
<buttonCell type="squareTextured" bezelStyle="texturedSquare" image="MyStuffTemplate" imagePosition="overlaps" alignment="center" tag="3" imageScaling="proportionallyDown" inset="2" id="773">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</column>
<column>
<buttonCell type="squareTextured" bezelStyle="texturedSquare" image="toolbarUpdatesTemplate" imagePosition="overlaps" alignment="center" tag="4" imageScaling="proportionallyDown" inset="2" id="fG2-SY-8g2">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
</column>
</cells>
<connections>
<action selector="tabControlClicked:" target="KMl-S0-0FF" id="pKT-yQ-fzz"/>
</connections>
</matrix>
</subviews>
</customView>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" id="X8X-xa-e0T">
<rect key="frame" x="72" y="697" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</progressIndicator>
<segmentedControl verticalHuggingPriority="750" id="Ist-mg-GMr">
<rect key="frame" x="11" y="692" width="53" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<segmentedCell key="cell" alignment="left" style="texturedRounded" trackingMode="momentary" id="ogG-0o-C7e">
<font key="font" metaFont="system"/>
<segments>
<segment image="NSGoLeftTemplate" width="23">
<nil key="label"/>
</segment>
<segment image="NSGoRightTemplate" width="23" tag="1">
<nil key="label"/>
</segment>
</segments>
</segmentedCell>
<connections>
<action selector="navigationBtnClicked:" target="KMl-S0-0FF" id="TAf-0r-G7K"/>
</connections>
</segmentedControl>
</subviews>
</view>
<toolbar key="toolbar" implicitIdentifier="1393D938-3469-4EFC-8191-CC1B9C26850B" autosavesConfiguration="NO" allowsUserCustomization="NO" displayMode="iconAndLabel" sizeMode="regular" id="c5f-Iv-Tk6">
<allowedToolbarItems>
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="Hjz-lX-eQa"/>
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="O3a-eC-4fX"/>
<toolbarItem implicitItemIdentifier="450E106F-9925-4E50-9609-9457D33597D0" label="Software" paletteLabel="Software" image="AllItemsTemplate" id="jTu-Wf-fi2">
<nil key="toolTip"/>
<size key="minSize" width="48" height="29"/>
<size key="maxSize" width="48" height="30"/>
<button key="view" id="CPR-oF-gUx">
<rect key="frame" x="3" y="14" width="48" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" bezelStyle="texturedSquare" image="AllItemsTemplate" imagePosition="overlaps" alignment="center" inset="2" id="6UP-LY-MAs">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
<connections>
<action selector="softwareToolbarButtonClicked:" target="KMl-S0-0FF" id="EBL-9Q-w81"/>
</connections>
</button>
</toolbarItem>
<toolbarItem implicitItemIdentifier="9267BDF0-EDD3-4260-B667-859261333F12" label="Categories" paletteLabel="Categories" image="toolbarCategoriesTemplate" id="G2X-M7-NVB">
<nil key="toolTip"/>
<size key="minSize" width="48" height="29"/>
<size key="maxSize" width="48" height="30"/>
<button key="view" id="YGi-pE-3SV">
<rect key="frame" x="8" y="14" width="48" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" bezelStyle="texturedSquare" image="toolbarCategoriesTemplate" imagePosition="only" alignment="center" inset="2" id="Vtx-wt-JLV">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="categoriesToolbarButtonClicked:" target="KMl-S0-0FF" id="LGx-sG-Vqt"/>
</connections>
</button>
</toolbarItem>
<toolbarItem implicitItemIdentifier="9570907B-B4E4-46CE-9C1F-F61C0F5417D3" label="My Items" paletteLabel="My Items" image="MyStuffTemplate" id="Uby-CQ-lvU">
<nil key="toolTip"/>
<size key="minSize" width="48" height="29"/>
<size key="maxSize" width="48" height="30"/>
<button key="view" id="eek-hQ-v8t">
<rect key="frame" x="4" y="14" width="48" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" bezelStyle="texturedSquare" image="MyStuffTemplate" imagePosition="only" alignment="center" inset="2" id="Z0f-h1-4qy">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="myItemsToolbarButtonClicked:" target="KMl-S0-0FF" id="aEj-Et-K0C"/>
</connections>
</button>
</toolbarItem>
<toolbarItem implicitItemIdentifier="3C7DBD25-73E3-4B4E-B426-0A33A1570BD5" label="Updates" paletteLabel="Updates" image="toolbarUpdatesTemplate" id="AjB-m1-mu8">
<nil key="toolTip"/>
<size key="minSize" width="48" height="30"/>
<size key="maxSize" width="48" height="30"/>
<button key="view" id="caG-fL-UJh">
<rect key="frame" x="1" y="14" width="48" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="squareTextured" bezelStyle="texturedSquare" image="toolbarUpdatesTemplate" imagePosition="only" alignment="center" inset="2" id="ZVD-Hl-dlF">
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="updatesToolbarButtonClicked:" target="KMl-S0-0FF" id="J7I-Tj-wjp"/>
</connections>
</button>
</toolbarItem>
<toolbarItem implicitItemIdentifier="A52A96D0-F85E-407F-818C-DC4B93605053" label="" paletteLabel="Narrow Space" tag="-1" id="sF1-NQ-sSb">
<nil key="toolTip"/>
<size key="minSize" width="4" height="30"/>
<size key="maxSize" width="4" height="31"/>
<customView key="view" id="Mui-Sc-36b">
<rect key="frame" x="38" y="14" width="4" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</customView>
</toolbarItem>
<toolbarItem implicitItemIdentifier="DF488649-5B94-417F-B23E-C646362F6FCA" label="" paletteLabel="Navigation" tag="-1" id="CEb-sx-e3H">
<nil key="toolTip"/>
<size key="minSize" width="150" height="30"/>
<size key="maxSize" width="150" height="30"/>
<box key="view" autoresizesSubviews="NO" transparent="YES" borderWidth="0.0" boxType="custom" borderType="none" titlePosition="noTitle" id="E6X-hz-53x">
<rect key="frame" x="0.0" y="14" width="150" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
<rect key="frame" x="0.0" y="0.0" width="150" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" id="mXP-yD-2El">
<rect key="frame" x="62" y="2" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</progressIndicator>
<segmentedControl verticalHuggingPriority="750" id="jcc-R8-zGb">
<rect key="frame" x="1" y="-2" width="53" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<segmentedCell key="cell" alignment="left" style="texturedRounded" trackingMode="momentary" id="ZsM-fh-8z5">
<font key="font" metaFont="system"/>
<segments>
<segment image="NSGoLeftTemplate" width="23"/>
<segment image="NSGoRightTemplate" width="23" tag="1"/>
</segments>
</segmentedCell>
<connections>
<action selector="navigationBtnClicked:" target="KMl-S0-0FF" id="CvU-yd-Zcd"/>
</connections>
</segmentedControl>
</subviews>
</view>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
</toolbarItem>
<toolbarItem implicitItemIdentifier="E1A9A599-F94D-4780-9330-F2B0F75FA3BA" label="" paletteLabel="Search" tag="-1" id="fbJ-cF-weR">
<nil key="toolTip"/>
<size key="minSize" width="150" height="30"/>
<size key="maxSize" width="150" height="30"/>
<box key="view" autoresizesSubviews="NO" transparent="YES" borderWidth="0.0" boxType="custom" borderType="none" titlePosition="noTitle" id="KHk-ld-jkr">
<rect key="frame" x="0.0" y="14" width="150" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
<rect key="frame" x="0.0" y="0.0" width="150" height="30"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<searchField verticalHuggingPriority="750" id="gLI-O8-siB">
<rect key="frame" x="0.0" y="0.0" width="150" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" usesSingleLineMode="YES" bezelStyle="round" id="Rxm-nO-bmO">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="searchFilterChanged:" target="KMl-S0-0FF" id="497-kJ-NwJ"/>
</connections>
</searchField>
</subviews>
</view>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="CEb-sx-e3H"/>
<toolbarItem reference="O3a-eC-4fX"/>
<toolbarItem reference="jTu-Wf-fi2"/>
<toolbarItem reference="sF1-NQ-sSb"/>
<toolbarItem reference="G2X-M7-NVB"/>
<toolbarItem reference="sF1-NQ-sSb"/>
<toolbarItem reference="Uby-CQ-lvU"/>
<toolbarItem reference="sF1-NQ-sSb"/>
<toolbarItem reference="AjB-m1-mu8"/>
<toolbarItem reference="O3a-eC-4fX"/>
<toolbarItem reference="fbJ-cF-weR"/>
</defaultToolbarItems>
</toolbar>
<contentBorderThickness maxY="52"/>
<connections>
<outlet property="delegate" destination="KMl-S0-0FF" id="TkM-Lg-q7E"/>
@@ -356,15 +393,18 @@
<customObject id="KMl-S0-0FF" userLabel="MSUMainWindowController" customClass="MSUMainWindowController">
<connections>
<outlet property="categoriesMenuItem" destination="9S1-fB-bKZ" id="cfs-BV-4tQ"/>
<outlet property="categoriesToolbarButton" destination="YGi-pE-3SV" id="7tq-ma-J77"/>
<outlet property="findMenuItem" destination="1XY-pX-Pwv" id="nT2-rv-DIX"/>
<outlet property="fullScreenMenuItem" destination="jQt-Mr-wFT" id="9tf-Lb-Mec"/>
<outlet property="myItemsMenuItem" destination="1uK-HI-wGR" id="Jkb-QR-M6x"/>
<outlet property="navigationBtn" destination="Ist-mg-GMr" id="uqa-wT-V3E"/>
<outlet property="progressSpinner" destination="X8X-xa-e0T" id="DtO-PP-ORa"/>
<outlet property="searchField" destination="557" id="HM7-VX-9cg"/>
<outlet property="myItemsToolbarButton" destination="eek-hQ-v8t" id="HdQ-Tf-9h7"/>
<outlet property="navigationBtn" destination="jcc-R8-zGb" id="Iv5-MT-vc7"/>
<outlet property="progressSpinner" destination="mXP-yD-2El" id="i8K-at-fcb"/>
<outlet property="searchField" destination="gLI-O8-siB" id="APe-GG-ZHl"/>
<outlet property="softwareMenuItem" destination="VYO-og-DRc" id="K69-dp-kBp"/>
<outlet property="tabControl" destination="796" id="AEs-wG-NLb"/>
<outlet property="updateButtonCell" destination="fG2-SY-8g2" id="92m-84-OS5"/>
<outlet property="softwareToolbarButton" destination="CPR-oF-gUx" id="PJp-bn-F4D"/>
<outlet property="updateButtonCell" destination="ZVD-Hl-dlF" id="epg-T1-8v1"/>
<outlet property="updatesToolbarButton" destination="caG-fL-UJh" id="Czs-cR-TvW"/>
<outlet property="webView" destination="S5Y-lq-2nB" id="TPJ-jP-F85"/>
<outlet property="window" destination="371" id="JK3-nH-LOl"/>
<outlet property="windowMenuSeperatorItem" destination="92" id="eCt-83-MtH"/>
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navegar";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Mis aplicaciones";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Categorías";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Aplicaciones";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Buscar";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Recargar página";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Actualizaciones";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Actualizaciones";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Actualizaciones";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Categorías";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Categorías";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Mis aplicaciones";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Mis aplicaciones";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Aplicaciones";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Anterior";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Casilla";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Buscar";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Usar pantalla completa";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Aplicaciones";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Aplicaciones";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Actualizaciones";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Näytä";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Omat";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Kategoriat";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Ohjelmistot";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Etsi";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Lataa sivu uudelleen";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Päivitykset";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Päivitykset";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Päivitykset";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Kategoriat";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Kategoriat";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Omat";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Omat";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Ohjelmistot";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Taaksepäin";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Etsi";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Siirry koko näytön tilaan";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Ohjelmistot";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Ohjelmistot";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Päivitykset";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Naviguer";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Mes articles";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Catégories";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Logiciel";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Rechercher";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Actualiser la page";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Mises à jour";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Mises à jour";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Mises à jour";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Catégories";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Catégories";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Mes articles";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Mes articles";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Logiciel";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Précédent";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Boite";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Rechercher";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Plein écran";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Logiciel";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Logiciel";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Mises à jour";
@@ -355,7 +355,7 @@ def build_list_page_items_html(category=None, developer=None, filter=None):
def build_categories_page():
'''Build page showing available categories and some items in each one'''
all_items = MunkiItems.getOptionalInstallItems()
header = NSLocalizedString(u"Categories", u"CategoriesHeaderText")
header = NSLocalizedString(u"Categories", u"Categories label")
page_name = u'categories.html'
category_list = []
for item in all_items:
@@ -440,7 +440,7 @@ def build_myitems_page():
page = {}
page['my_items_header_label'] = NSLocalizedString(
u"My Items", u"My Items Header label")
u"My Items", u"My Items label")
page['myitems_rows'] = build_myitems_rows()
footer = get_template('footer_template.html', raw=True)
@@ -566,7 +566,7 @@ def build_update_status_page():
# don't like this bit as it ties us yet another object
page['update_count'] = NSApp.delegate().mainWindowController._status_title or status_title_default
page['install_btn_label'] = NSLocalizedString(u"Cancel", u"Cancel button title")
page['install_btn_label'] = NSLocalizedString(u"Cancel", u"Cancel button title/short action text")
page['warning_text'] = u''
footer = get_template('footer_template.html', raw=True)
@@ -579,11 +579,11 @@ def getRestartActionForUpdateList(update_list):
return ''
if [item for item in update_list if 'Restart' in item.get('RestartAction', '')]:
# found at least one item containing 'Restart' in its RestartAction
return NSLocalizedString(u"Restart Required", u"Require Restart message")
return NSLocalizedString(u"Restart Required", u"Restart Required title")
if ([item for item in update_list if 'Logout' in item.get('RestartAction', '')]
or munki.installRequiresLogout()):
# found at least one item containing 'Logout' in its RestartAction
return NSLocalizedString(u"Logout Required", u"Require Logout message")
return NSLocalizedString(u"Logout Required", u"Logout Required title")
else:
return ''
@@ -50,7 +50,7 @@ def getInstallAllButtonTextForCount(count):
if count == 0:
return NSLocalizedString(u"Check Again", u"Check Again button title")
elif count == 1:
return NSLocalizedString(u"Update", u"Update button title")
return NSLocalizedString(u"Update", u"Update button title/action text")
else:
return NSLocalizedString(u"Update All", u"Update All button title")
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navigate";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "My Items";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Categories";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Search";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Reload Page";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Updates";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Categories";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Categories";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "My Items";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "My Items";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Back";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Search";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Enter Full Screen";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Updates";
@@ -1,4 +1,4 @@
/* Class = "NSMenuItem"; title = "Window"; ObjectID = "19"; */
"19.title" = "Venster";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navigeer";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "Mijn Items";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Categorieën";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Zoek";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Laad pagina opnieuw";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Updates";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Categorieën";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Categorieën";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "Mijn Items";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "Mijn Items";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Vorige";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Zoek";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Schakel schermvullende weergave in";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Updates";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navigate";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "My Items";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Categories";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Search";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Reload Page";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Updates";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Categories";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Categories";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "My Items";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "My Items";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Back";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Search";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Enter Full Screen";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Updates";
@@ -86,15 +86,6 @@
/* Class = "NSMenu"; title = "Navigate"; ObjectID = "376"; */
"376.title" = "Navigate";
/* Class = "NSButtonCell"; title = "My Items"; ObjectID = "783"; */
"783.title" = "My Items";
/* Class = "NSButtonCell"; title = "Categories"; ObjectID = "784"; */
"784.title" = "Categories";
/* Class = "NSButtonCell"; title = "Software"; ObjectID = "785"; */
"785.title" = "Software";
/* Class = "NSMenuItem"; title = "Search"; ObjectID = "1XY-pX-Pwv"; */
"1XY-pX-Pwv.title" = "Search";
@@ -107,8 +98,26 @@
/* Class = "NSMenuItem"; title = "Reload Page"; ObjectID = "Afg-mB-WlJ"; */
"Afg-mB-WlJ.title" = "Reload Page";
/* Class = "NSButtonCell"; title = "Updates"; ObjectID = "Lha-uh-PEV"; */
"Lha-uh-PEV.title" = "Updates";
/* Class = "NSToolbarItem"; label = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.label" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Updates"; ObjectID = "AjB-m1-mu8"; */
"AjB-m1-mu8.paletteLabel" = "Updates";
/* Class = "NSToolbarItem"; paletteLabel = "Navigation"; ObjectID = "CEb-sx-e3H"; */
"CEb-sx-e3H.paletteLabel" = "Navigation";
/* Class = "NSToolbarItem"; label = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.label" = "Categories";
/* Class = "NSToolbarItem"; paletteLabel = "Categories"; ObjectID = "G2X-M7-NVB"; */
"G2X-M7-NVB.paletteLabel" = "Categories";
/* Class = "NSToolbarItem"; label = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.label" = "My Items";
/* Class = "NSToolbarItem"; paletteLabel = "My Items"; ObjectID = "Uby-CQ-lvU"; */
"Uby-CQ-lvU.paletteLabel" = "My Items";
/* Class = "NSMenuItem"; title = "Software"; ObjectID = "VYO-og-DRc"; */
"VYO-og-DRc.title" = "Software";
@@ -119,12 +128,21 @@
/* Class = "NSMenuItem"; title = "Back"; ObjectID = "fEq-6D-Ce0"; */
"fEq-6D-Ce0.title" = "Back";
/* Class = "NSBox"; title = "Box"; ObjectID = "har-U9-FkJ"; */
"har-U9-FkJ.title" = "Box";
/* Class = "NSToolbarItem"; paletteLabel = "Search"; ObjectID = "fbJ-cF-weR"; */
"fbJ-cF-weR.paletteLabel" = "Search";
/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "jQt-Mr-wFT"; */
"jQt-Mr-wFT.title" = "Enter Full Screen";
/* Class = "NSToolbarItem"; label = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.label" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Software"; ObjectID = "jTu-Wf-fi2"; */
"jTu-Wf-fi2.paletteLabel" = "Software";
/* Class = "NSToolbarItem"; paletteLabel = "Narrow Space"; ObjectID = "sF1-NQ-sSb"; */
"sF1-NQ-sSb.paletteLabel" = "Narrow Space";
/* Class = "NSMenuItem"; title = "Updates"; ObjectID = "tv9-wZ-XWN"; */
"tv9-wZ-XWN.title" = "Updates";
@@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
C002ECE41913F6D6003DD155 /* MainMenu.strings in Resources */ = {isa = PBXBuildFile; fileRef = C002ECE01913F6D6003DD155 /* MainMenu.strings */; };
C002ECE51913F6D6003DD155 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C002ECE21913F6D6003DD155 /* Localizable.strings */; };
C00A4C57185FCEC9004EB3B7 /* FoundationPlist.py in Resources */ = {isa = PBXBuildFile; fileRef = C00A4C56185FCEC9004EB3B7 /* FoundationPlist.py */; };
C035275018A9C5BC004A5AE4 /* libpython2.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C035274F18A9C5BC004A5AE4 /* libpython2.6.dylib */; };
@@ -276,7 +275,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C002ECE41913F6D6003DD155 /* MainMenu.strings in Resources */,
C09004FE16CDD84E00BE34CE /* InfoPlist.strings in Resources */,
C090050616CDD84E00BE34CE /* main.py in Resources */,
C090050816CDD84E00BE34CE /* MSUAppDelegate.py in Resources */,
@@ -293,10 +293,14 @@ class MSUStatusWindowController(NSObject):
self.window, self, self.restartAlertDidEnd_returnCode_contextInfo_, nil)
def setMessage_(self, messageText):
self.messageFld.setStringValue_(NSLocalizedString(messageText, None))
messageText = NSBundle.mainBundle().localizedStringForKey_value_table_(
messageText, messageText, None)
self.messageFld.setStringValue_(messageText)
def setDetail_(self, detailText):
self.detailFld.setStringValue_(NSLocalizedString(detailText, None))
detailText = NSBundle.mainBundle().localizedStringForKey_value_table_(
detailText, detailText, None)
self.detailFld.setStringValue_(detailText)
def getStopBtnState(self):
return self.stopBtnState
@@ -323,6 +327,9 @@ def more_localized_strings():
will be able to discover them'''
foo = NSLocalizedString(u"Starting...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Finishing...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Performing preflight tasks...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Performing postflight tasks...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Checking for available updates...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Checking for additional changes...", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Software installed or removed requires a restart.",
@@ -341,8 +348,7 @@ def more_localized_strings():
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Determining which filesystem items to remove",
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Removing receipt info",
"managedsoftwareupdate message")
foo = NSLocalizedString(u"Removing receipt info", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Nothing to remove.", "managedsoftwareupdate message")
foo = NSLocalizedString(u"Package removal complete.", "managedsoftwareupdate message")