diff --git a/LuLu/App/Base.lproj/AlertWindow.xib b/LuLu/App/Base.lproj/AlertWindow.xib index 74cd851..744e81e 100644 --- a/LuLu/App/Base.lproj/AlertWindow.xib +++ b/LuLu/App/Base.lproj/AlertWindow.xib @@ -570,7 +570,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -587,17 +587,8 @@ - - - - - - - - - - + @@ -606,7 +597,7 @@ - + @@ -614,17 +605,8 @@ - - + @@ -633,7 +615,7 @@ - + @@ -641,15 +623,6 @@ - - - - - - - - - @@ -715,8 +688,6 @@ - - diff --git a/LuLu/App/SigningInfoViewController.h b/LuLu/App/SigningInfoViewController.h index 51a7973..1aa4bc4 100644 --- a/LuLu/App/SigningInfoViewController.h +++ b/LuLu/App/SigningInfoViewController.h @@ -36,10 +36,4 @@ //details @property (weak) IBOutlet NSTextField* details; -//signing id -@property (weak) IBOutlet NSTextField* signingID; - -//no signing auths -@property (weak) IBOutlet NSTextField* noSigningAuths; - @end diff --git a/LuLu/App/SigningInfoViewController.m b/LuLu/App/SigningInfoViewController.m index d68b204..4cdbbd2 100644 --- a/LuLu/App/SigningInfoViewController.m +++ b/LuLu/App/SigningInfoViewController.m @@ -24,6 +24,10 @@ -(void)popoverWillShow:(NSNotification *)notification; //summary NSMutableString* summary = nil; + //signing ID + // default to blank + NSString* signingID = @""; + //alloc string for summary summary = [NSMutableString string]; @@ -49,9 +53,6 @@ -(void)popoverWillShow:(NSNotification *)notification; //details: n/a self.details.stringValue = NSLocalizedString(@"not applicable", @"not applicable"); - //signing id: n/a - self.signingID.stringValue = NSLocalizedString(@"not applicable", @"not applicable"); - //bail goto bail; } @@ -65,11 +66,18 @@ -(void)popoverWillShow:(NSNotification *)notification; //append to summary [summary appendFormat:NSLocalizedString(@" is validly signed", @" is validly signed")]; + //set signing id + if(nil != signingInfo[KEY_CS_ID]) + { + //set + signingID = signingInfo[KEY_CS_ID]; + } + //item signed by apple if(Apple == [signingInfo[KEY_CS_SIGNER] intValue]) { //set details - self.details.stringValue = NSLocalizedString(@"signed by Apple proper", @"signed by Apple proper"); + self.details.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ signed by Apple proper", @"%@ signed by Apple proper"), signingID]; } //item signed, third party/ad hoc, etc else @@ -78,20 +86,20 @@ -(void)popoverWillShow:(NSNotification *)notification; if(AppStore == [signingInfo[KEY_CS_SIGNER] intValue]) { //set details - self.details.stringValue = NSLocalizedString(@"signed by Mac App Store", @"signed by Mac App Store"); + self.details.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ signed by Mac App Store", @"%@ signed by Mac App Store"), signingID]; } //developer id? else if(DevID == [signingInfo[KEY_CS_SIGNER] intValue]) { //set details - self.details.stringValue = NSLocalizedString(@"signed with an Apple Developer ID", @"signed with an Apple Developer ID"); + self.details.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ signed with an Apple Developer ID", @"%@ signed with an Apple Developer ID"), signingID]; } //something else // ad hoc? 3rd-party? else if(AdHoc == [signingInfo[KEY_CS_SIGNER] intValue]) { //set details - self.details.stringValue = NSLocalizedString(@" signed by 3rd-party/ad hoc", @" signed by 3rd-party/ad hoc"); + self.details.stringValue = [NSString stringWithFormat:NSLocalizedString(@"%@ signed by 3rd-party/ad hoc", @"%@ signed by 3rd-party/ad hoc"), signingID]; } else { @@ -104,10 +112,7 @@ -(void)popoverWillShow:(NSNotification *)notification; // usually (always?) adhoc if(0 == [signingInfo[KEY_CS_AUTHS] count]) { - //set details - self.details.stringValue = NSLocalizedString(@"signed, but no signing authorities (adhoc?)", @"signed, but no signing authorities (adhoc?)"); - - //set signing auth field + //set signing auths field to none ((NSTextField*)[self.view viewWithTag:SIGNING_AUTH_1]).stringValue = NSLocalizedString(@"› no signing authorities", @"› no signing authorities"); } @@ -126,13 +131,6 @@ -(void)popoverWillShow:(NSNotification *)notification; } } - //set signing id - if(nil != signingInfo[KEY_CS_ID]) - { - //set - self.signingID.stringValue = signingInfo[KEY_CS_ID]; - } - break; //unsigned @@ -144,8 +142,8 @@ -(void)popoverWillShow:(NSNotification *)notification; //details: n/a self.details.stringValue = NSLocalizedString(@"not applicable", @"not applicable"); - //signing id: n/a - self.signingID.stringValue = NSLocalizedString(@"not applicable", @"not applicable"); + //set signing auths field to n/a + ((NSTextField*)[self.view viewWithTag:SIGNING_AUTH_1]).stringValue = NSLocalizedString(@"not applicable", @"not applicable"); break; @@ -157,28 +155,16 @@ -(void)popoverWillShow:(NSNotification *)notification; [summary appendFormat:NSLocalizedString(@" has a signing issue", @" has a signing issue")]; //set details - self.details.stringValue = [NSMutableString stringWithFormat:NSLocalizedString(@"signing error: %#lx", @"signing error: %#lx"), (long)[signingInfo[KEY_CS_STATUS] integerValue]]; + self.details.stringValue = [NSMutableString stringWithFormat:NSLocalizedString(@"%@ signing error: %#lx", @"%@ signing error: %#lx"), signingID, (long)[signingInfo[KEY_CS_STATUS] integerValue]]; - //set signing id - if(nil != signingInfo[KEY_CS_ID]) - { - //set - self.signingID.stringValue = signingInfo[KEY_CS_ID]; - } + //set signing auths field to n/a + ((NSTextField*)[self.view viewWithTag:SIGNING_AUTH_1]).stringValue = NSLocalizedString(@"not applicable", @"not applicable"); break; } bail: - //no (valid) signing auths? - // show 'not applicable' msg - if(0 == [((NSTextField*)[self.view viewWithTag:SIGNING_AUTH_1]).stringValue length]) - { - //show - self.noSigningAuths.hidden = NO; - } - //assign summary to outlet self.message.stringValue = summary; diff --git a/LuLu/App/mul.lproj/AlertWindow.xcstrings b/LuLu/App/mul.lproj/AlertWindow.xcstrings index 0b35895..2fa9227 100644 --- a/LuLu/App/mul.lproj/AlertWindow.xcstrings +++ b/LuLu/App/mul.lproj/AlertWindow.xcstrings @@ -50,60 +50,6 @@ }, "shouldTranslate" : false }, - "2iW-bn-Rov.title" : { - "comment" : "Class = \"NSTextFieldCell\"; title = \"Signing ID:\"; ObjectID = \"2iW-bn-Rov\";", - "extractionState" : "extracted_with_value", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Signatur-ID:" - } - }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "Signing ID:" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "ID de firma:" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "ID de signature : " - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "서명 ID:" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Podpis ID:" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "ID da Assinatura" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "İmzalama kimliği:" - } - } - } - }, "8eV-Ag-i7n.title" : { "comment" : "Class = \"NSTextFieldCell\"; title = \"Connection:\"; ObjectID = \"8eV-Ag-i7n\";", "extractionState" : "extracted_with_value", @@ -212,60 +158,6 @@ } } }, - "9Yb-sJ-Kcj.title" : { - "comment" : "Class = \"NSTextFieldCell\"; title = \"not applicable\"; ObjectID = \"9Yb-sJ-Kcj\";", - "extractionState" : "extracted_with_value", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "nicht anwendbar" - } - }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "not applicable" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "no aplica" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "non applicable" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "해당 없음" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "nie dotyczy" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "não se aplica" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "uygulanabilir değil" - } - } - } - }, "31V-e4-dgv.title" : { "comment" : "Class = \"NSTextFieldCell\"; title = \"port/protocol:\"; ObjectID = \"31V-e4-dgv\";", "extractionState" : "extracted_with_value", @@ -855,60 +747,6 @@ } } }, - "HBz-tK-Y6f.title" : { - "comment" : "Class = \"NSTextFieldCell\"; title = \"signing id\"; ObjectID = \"HBz-tK-Y6f\";", - "extractionState" : "extracted_with_value", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Signierungs-ID" - } - }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "signing id" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "id de firma" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "id de signature" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "서명 ID:" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpis id" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "id da assinatura" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "imzalama kimliği" - } - } - } - }, "HZu-Op-XHi.title" : { "comment" : "Class = \"NSTextFieldCell\"; title = \"pid:\"; ObjectID = \"HZu-Op-XHi\";", "extractionState" : "extracted_with_value", diff --git a/LuLu/Shared/Localizable.xcstrings b/LuLu/Shared/Localizable.xcstrings index b2c87fa..68ba41a 100644 --- a/LuLu/Shared/Localizable.xcstrings +++ b/LuLu/Shared/Localizable.xcstrings @@ -425,59 +425,6 @@ } } }, - " signed by 3rd-party/ad hoc" : { - "comment" : " signed by 3rd-party/ad hoc", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : " von Drittanbieter/ad hoc signiert" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmado por un tercero/ad hoc" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "signé par une tierce-partie/ad hoc" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "è firmato da " - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "은(는) 서드파티/Ad hoc 서명됨" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpisane przez stronę trzecią/doraźnie" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "assinado por terceiros/ad hoc" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "3. kişiler/geçici kişi tarafından imzalanmış" - } - } - } - }, " unknown" : { "comment" : " unknown", "localizations" : { @@ -1238,6 +1185,271 @@ } } }, + "%@ signed by 3rd-party/ad hoc" : { + "comment" : "%@ signed by 3rd-party/ad hoc", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ von Drittanbieter/ad hoc signiert" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmado por un tercero/ad hoc" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signé par une tierce-partie/ad hoc" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ è firmato da " + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 은(는) 서드파티/Ad hoc 서명됨" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ podpisane przez stronę trzecią/doraźnie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ assinado por terceiros/ad hoc" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 3. kişiler/geçici kişi tarafından imzalanmış" + } + } + } + }, + "%@ signed by Apple proper" : { + "comment" : "%@ signed by Apple proper", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signiert von Apple selbst" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmado por Apple oficialmente" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signé par Apple" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmato correttamente da Apple" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Apple에 의해 자체 서명됨" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ podpisane przez firmę Apple" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ assinado pela própria Apple" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Apple Proper tarafından imzalanmış" + } + } + } + }, + "%@ signed by Mac App Store" : { + "comment" : "%@ signed by Mac App Store", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signiert vom Mac App Store" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmado por Mac App store" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signé par le Mac App Store" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmato da Mac App Store" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Mac App Store에 의해 서명됨" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ podpisane przez Mac App Store" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ assinado pela App Store no Mac" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Mac App Store tarafından imzalanmış" + } + } + } + }, + "%@ signed with an Apple Developer ID" : { + "comment" : "%@ signed with an Apple Developer ID", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signiert mit einer Apple Developer ID" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmado con un ID de Desarrollador de Apple" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ signé avec un Apple Developer ID" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ firmato da un Apple Developer ID" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Apple Developer ID에 의해 서명됨" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ podpisano za pomocą Apple Developer ID" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ assinado com ID de Desenvolvidor Apple" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ bir Apple Geliştirici Kimliği ile imzalanmış" + } + } + } + }, + "%@ signing error: %#lx" : { + "comment" : "%@ signing error: %#lx", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Signaturfehler: %#lx" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ error de firma: %#lx" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ erreur de signature : %#lx" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ errore di firma: %#lx" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 서명 에러: %#lx" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ błąd podpisywania: %#lx" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ erro de assinatura: %#lx" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ imzalama hatası: %#lx" + } + } + } + }, "%@ this rule, may impact legitimate system functionalty ...continue?" : { "comment" : "%@ this rule, may impact legitimate system functionalty ...continue?", "localizations" : { @@ -5137,271 +5349,6 @@ } } }, - "signed by Apple proper" : { - "comment" : "signed by Apple proper", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "signiert von Apple selbst" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmado por Apple oficialmente" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "signé par Apple" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmato correttamente da Apple" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple에 의해 자체 서명됨" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpisane przez firmę Apple" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "assinado pela própria Apple" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple Proper tarafından imzalanmış" - } - } - } - }, - "signed by Mac App Store" : { - "comment" : "signed by Mac App Store", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "signiert vom Mac App Store" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmado por Mac App store" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "signé par le Mac App Store" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmato da Mac App Store" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mac App Store에 의해 서명됨" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpisane przez Mac App Store" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "assinado pela App Store no Mac" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mac App Store tarafından imzalanmış" - } - } - } - }, - "signed with an Apple Developer ID" : { - "comment" : "signed with an Apple Developer ID", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "signiert mit einer Apple Developer ID" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmado con un ID de Desarrollador de Apple" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "signé avec un Apple Developer ID" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmato da un Apple Developer ID" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "Apple Developer ID에 의해 서명됨" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpisano za pomocą Apple Developer ID" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "assinado com ID de Desenvolvidor Apple" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "bir Apple Geliştirici Kimliği ile imzalanmış" - } - } - } - }, - "signed, but no signing authorities (adhoc?)" : { - "comment" : "signed, but no signing authorities (adhoc?)", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "signiert, aber keine Zertifizierungsinstanz (ad hoc?)" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmado, pero sin autorización de firma (¿adhoc?)" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "signé, mais pas d’autorité de signature (ad hoc ?)" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "firmata da " - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "서명되었으나 인증 기관이 없음 (adhoc?)" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "podpisano, ale nie ma upoważnienia do podpisania (doraźnie?)" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "assinado, mas sem autoridades de assinatura (ad hoc?)" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "imzalanmış; ancak bir imza otoritesi yok (geçici?)" - } - } - } - }, - "signing error: %#lx" : { - "comment" : "signing error: %#lx", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Signaturfehler: %#lx" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "error de firma: %#lx" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "erreur de signature : %#lx" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "errore di firma: %#lx" - } - }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "서명 에러: %#lx" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "błąd podpisywania: %#lx" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "erro de assinatura: %#lx" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "imzalama hatası: %#lx" - } - } - } - }, "This must be uninstalled before continuing. Click 'More Info' to learn how to uninstall it" : { "comment" : "This must be uninstalled before continuing\r\n.Click 'More Info' to learn how to uninstall it.", "localizations" : {