diff --git a/Sketch Toolbox.xcodeproj/project.pbxproj b/Sketch Toolbox.xcodeproj/project.pbxproj index 5efc092..6690052 100644 --- a/Sketch Toolbox.xcodeproj/project.pbxproj +++ b/Sketch Toolbox.xcodeproj/project.pbxproj @@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ 0E5D4F26192B15560084F30C /* STPluginCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5D4F25192B15560084F30C /* STPluginCellView.m */; }; + 6F702A781D22271E00D62CB6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6F702A7A1D22271E00D62CB6 /* Localizable.strings */; }; + 9FEE44C41BCEA38500F550FB /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FEE44C31BCEA38500F550FB /* WebKit.framework */; }; EA12D97F19354808000E5232 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = EA12D97E19354808000E5232 /* dsa_pub.pem */; }; EA5913BD192D627E00FF4CC0 /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = EA5913BC192D627E00FF4CC0 /* Constants.m */; }; EA70F99C192AC88D00315D05 /* PluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EA70F99B192AC88D00315D05 /* PluginManager.m */; }; @@ -45,7 +47,6 @@ EA75D492192AC4C4005CF0DF /* MagicalRecord+ShorthandSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = EA75D473192AC4C4005CF0DF /* MagicalRecord+ShorthandSupport.m */; }; EA75D493192AC4C4005CF0DF /* MagicalRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = EA75D475192AC4C4005CF0DF /* MagicalRecord.m */; }; EA86F5CE192AB55F00B834ED /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA86F5CD192AB55F00B834ED /* Cocoa.framework */; }; - EA86F5D8192AB55F00B834ED /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA86F5D6192AB55F00B834ED /* InfoPlist.strings */; }; EA86F5DA192AB55F00B834ED /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EA86F5D9192AB55F00B834ED /* main.m */; }; EA86F5DE192AB55F00B834ED /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = EA86F5DC192AB55F00B834ED /* Credits.rtf */; }; EA86F5E1192AB55F00B834ED /* STAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EA86F5E0192AB55F00B834ED /* STAppDelegate.m */; }; @@ -72,6 +73,12 @@ /* Begin PBXFileReference section */ 0E5D4F24192B15560084F30C /* STPluginCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPluginCellView.h; sourceTree = ""; }; 0E5D4F25192B15560084F30C /* STPluginCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPluginCellView.m; sourceTree = ""; }; + 6F702A731D2223BE00D62CB6 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainMenu.strings"; sourceTree = ""; }; + 6F702A751D2223BE00D62CB6 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/Credits.rtf"; sourceTree = ""; }; + 6F702A791D22271E00D62CB6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 6F702A7B1D22272100D62CB6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 6F702A7C1D22272600D62CB6 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 9FEE44C31BCEA38500F550FB /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; EA12D97E19354808000E5232 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = ""; }; EA5913BC192D627E00FF4CC0 /* Constants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Constants.m; sourceTree = ""; }; EA5913BE192D691200FF4CC0 /* Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = ""; }; @@ -153,7 +160,6 @@ EA86F5D1192AB55F00B834ED /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; EA86F5D2192AB55F00B834ED /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; EA86F5D5192AB55F00B834ED /* Sketch Toolbox-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Sketch Toolbox-Info.plist"; sourceTree = ""; }; - EA86F5D7192AB55F00B834ED /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; EA86F5D9192AB55F00B834ED /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; EA86F5DB192AB55F00B834ED /* Sketch Toolbox-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Sketch Toolbox-Prefix.pch"; sourceTree = ""; }; EA86F5DD192AB55F00B834ED /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; @@ -171,6 +177,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9FEE44C41BCEA38500F550FB /* WebKit.framework in Frameworks */, EA70F9B0192ACEBA00315D05 /* libz.dylib in Frameworks */, EA86F5CE192AB55F00B834ED /* Cocoa.framework in Frameworks */, EAA8CF53193534BE00F8AE07 /* Sparkle.framework in Frameworks */, @@ -358,6 +365,7 @@ EA86F5CC192AB55F00B834ED /* Frameworks */ = { isa = PBXGroup; children = ( + 9FEE44C31BCEA38500F550FB /* WebKit.framework */, EAA8CF4E19350E0400F8AE07 /* Sparkle.framework */, EA70F9AF192ACEBA00315D05 /* libz.dylib */, EA86F5CD192AB55F00B834ED /* Cocoa.framework */, @@ -399,11 +407,11 @@ EA75D43C192AC4C4005CF0DF /* MagicalRecord */, EA70F99D192ACD5300315D05 /* SSZipArchive */, EA86F5D5192AB55F00B834ED /* Sketch Toolbox-Info.plist */, - EA86F5D6192AB55F00B834ED /* InfoPlist.strings */, EA86F5D9192AB55F00B834ED /* main.m */, EA86F5DB192AB55F00B834ED /* Sketch Toolbox-Prefix.pch */, EA86F5DC192AB55F00B834ED /* Credits.rtf */, EA12D97E19354808000E5232 /* dsa_pub.pem */, + 6F702A7A1D22271E00D62CB6 /* Localizable.strings */, ); name = "Supporting Files"; sourceTree = ""; @@ -451,6 +459,7 @@ knownRegions = ( en, Base, + "zh-Hans", ); mainGroup = EA86F5C1192AB55F00B834ED; productRefGroup = EA86F5CB192AB55F00B834ED /* Products */; @@ -468,7 +477,7 @@ buildActionMask = 2147483647; files = ( EA12D97F19354808000E5232 /* dsa_pub.pem in Resources */, - EA86F5D8192AB55F00B834ED /* InfoPlist.strings in Resources */, + 6F702A781D22271E00D62CB6 /* Localizable.strings in Resources */, EA86F5E9192AB55F00B834ED /* Images.xcassets in Resources */, EA86F5DE192AB55F00B834ED /* Credits.rtf in Resources */, EA86F5E4192AB55F00B834ED /* MainMenu.xib in Resources */, @@ -526,18 +535,21 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - EA86F5D6192AB55F00B834ED /* InfoPlist.strings */ = { + 6F702A7A1D22271E00D62CB6 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( - EA86F5D7192AB55F00B834ED /* en */, + 6F702A791D22271E00D62CB6 /* Base */, + 6F702A7B1D22272100D62CB6 /* en */, + 6F702A7C1D22272600D62CB6 /* zh-Hans */, ); - name = InfoPlist.strings; + name = Localizable.strings; sourceTree = ""; }; EA86F5DC192AB55F00B834ED /* Credits.rtf */ = { isa = PBXVariantGroup; children = ( EA86F5DD192AB55F00B834ED /* en */, + 6F702A751D2223BE00D62CB6 /* zh-Hans */, ); name = Credits.rtf; sourceTree = ""; @@ -546,6 +558,7 @@ isa = PBXVariantGroup; children = ( EA86F5E3192AB55F00B834ED /* Base */, + 6F702A731D2223BE00D62CB6 /* zh-Hans */, ); name = MainMenu.xib; sourceTree = ""; diff --git a/Sketch Toolbox/Base.lproj/Localizable.strings b/Sketch Toolbox/Base.lproj/Localizable.strings new file mode 100644 index 0000000..dce26f9 --- /dev/null +++ b/Sketch Toolbox/Base.lproj/Localizable.strings @@ -0,0 +1,10 @@ +/* + Localizable.strings + Sketch Toolbox + + Created by pluwen on 16/6/28. + Copyright © 2016年 Shahruz Shaukat. All rights reserved. + */ +"Downloading..." = "Downloading..."; +"Uninstall" = "Uninstall"; +"Install" = "Install"; \ No newline at end of file diff --git a/Sketch Toolbox/Base.lproj/MainMenu.xib b/Sketch Toolbox/Base.lproj/MainMenu.xib index f1f314b..8b27569 100644 --- a/Sketch Toolbox/Base.lproj/MainMenu.xib +++ b/Sketch Toolbox/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -14,10 +14,9 @@ - - - - + + + @@ -25,28 +24,28 @@ - - + + - + - - - + + - + - + + - + - + @@ -60,86 +59,71 @@ - + - - - - + + - + - - - - - - - - - - - - + + + + + - - - + + - - - - - - - + + + + + + + - @@ -158,47 +142,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -296,6 +298,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -326,59 +351,6 @@ - - -YnBsaXN0MDDUAQIDBAUGPj9YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK4HCBMU -GR4fIyQsLzI4O1UkbnVsbNUJCgsMDQ4PEBESVk5TU2l6ZVYkY2xhc3NcTlNJbWFnZUZsYWdzVk5TUmVw -c1dOU0NvbG9ygAKADRIgwwAAgAOAC1Z7MSwgMX3SFQoWGFpOUy5vYmplY3RzoReABIAK0hUKGh2iGxyA -BYAGgAkQANIgCiEiXxAUTlNUSUZGUmVwcmVzZW50YXRpb26AB4AITxEIdE1NACoAAAAKAAAADgEAAAMA -AAABAAEAAAEBAAMAAAABAAEAAAECAAMAAAACAAgACAEDAAMAAAABAAEAAAEGAAMAAAABAAEAAAERAAQA -AAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAIAAAEWAAMAAAABAAEAAAEXAAQAAAABAAAAAgEcAAMA -AAABAAEAAAFSAAMAAAABAAEAAAFTAAMAAAACAAEAAYdzAAcAAAe8AAAAuAAAAAAAAAe8YXBwbAIgAABt -bnRyR1JBWVhZWiAH0AACAA4ADAAAAABhY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYA -AQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVk -ZXNjAAAAwAAAAG9kc2NtAAABMAAABi5jcHJ0AAAHYAAAADh3dHB0AAAHmAAAABRrVFJDAAAHrAAAAA5k -ZXNjAAAAAAAAABVHZW5lcmljIEdyYXkgUHJvZmlsZQAAAAAAAAAAAAAAFUdlbmVyaWMgR3JheSBQcm9m -aWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAA -AAAeAAAADHNrU0sAAAAqAAABeGRhREsAAAA0AAABomNhRVMAAAAsAAAB1nB0QlIAAAAqAAACAnVrVUEA -AAAsAAACLGZyRlUAAAAqAAACWGh1SFUAAAAuAAACgnpoVFcAAAAQAAACsG5iTk8AAAAsAAACwGNzQ1oA -AAAkAAAC7GhlSUwAAAAgAAADEGl0SVQAAAAuAAADMHJvUk8AAAAkAAADXmRlREUAAAA6AAADgmtvS1IA -AAAYAAADvHN2U0UAAAAuAAAD1HpoQ04AAAAQAAAEAmphSlAAAAAWAAAEEmVsR1IAAAAkAAAEKHB0UE8A -AAA4AAAETG5sTkwAAAAqAAAEhGVzRVMAAAAoAAAErnRoVEgAAAAkAAAE1nRyVFIAAAAiAAAE+mZpRkkA -AAAsAAAFHGhySFIAAAA6AAAFSHBsUEwAAAA2AAAFgnJ1UlUAAAAmAAAFuGFyRUcAAAAoAAAF3mVuVVMA -AAAoAAAGBgBWAWEAZQBvAGIAZQBjAG4A/QAgAHMAaQB2AP0AIABwAHIAbwBmAGkAbABHAGUAbgBlAHIA -ZQBsACAAZwByAOUAdABvAG4AZQBiAGUAcwBrAHIAaQB2AGUAbABzAGUAUABlAHIAZgBpAGwAIABkAGUA -IABnAHIAaQBzACAAZwBlAG4A6AByAGkAYwBQAGUAcgBmAGkAbAAgAEMAaQBuAHoAYQAgAEcAZQBuAOkA -cgBpAGMAbwQXBDAEMwQwBDsETAQ9BDgEOQAgBD8EQAQ+BEQEMAQ5BDsAIABHAHIAYQB5AFAAcgBvAGYA -aQBsACAAZwDpAG4A6QByAGkAcQB1AGUAIABnAHIAaQBzAMEAbAB0AGEAbADhAG4AbwBzACAAcwB6APwA -cgBrAGUAIABwAHIAbwBmAGkAbJAadShwcJaOgnJfaWPPj/AARwBlAG4AZQByAGkAcwBrACAAZwByAOUA -dABvAG4AZQBwAHIAbwBmAGkAbABPAGIAZQBjAG4A/QAgAWEAZQBkAP0AIABwAHIAbwBmAGkAbAXkBegF -1QXkBdkF3AAgAEcAcgBhAHkAIAXbBdwF3AXZAFAAcgBvAGYAaQBsAG8AIABnAHIAaQBnAGkAbwAgAGcA -ZQBuAGUAcgBpAGMAbwBQAHIAbwBmAGkAbAAgAGcAcgBpACAAZwBlAG4AZQByAGkAYwBBAGwAbABnAGUA -bQBlAGkAbgBlAHMAIABHAHIAYQB1AHMAdAB1AGYAZQBuAC0AUAByAG8AZgBpAGzHfLwYACAARwByAGEA -eQAg1QS4XNMMx3wARwBlAG4AZQByAGkAcwBrACAAZwByAOUAcwBrAGEAbABlAHAAcgBvAGYAaQBsZm6Q -GnBwXqZjz4/wZYdO9k4AgiwwsDDsMKQw1zDtMNUwoTCkMOsDkwO1A70DuQO6A8wAIAPAA8EDvwPGA68D -uwAgA7MDugPBA7kAUABlAHIAZgBpAGwAIABnAGUAbgDpAHIAaQBjAG8AIABkAGUAIABjAGkAbgB6AGUA -bgB0AG8AcwBBAGwAZwBlAG0AZQBlAG4AIABnAHIAaQBqAHMAcAByAG8AZgBpAGUAbABQAGUAcgBmAGkA -bAAgAGcAcgBpAHMAIABnAGUAbgDpAHIAaQBjAG8OQg4bDiMORA4fDiUOTA4qDjUOQA4XDjIOFw4xDkgO -Jw5EDhsARwBlAG4AZQBsACAARwByAGkAIABQAHIAbwBmAGkAbABpAFkAbABlAGkAbgBlAG4AIABoAGEA -cgBtAGEAYQBwAHIAbwBmAGkAaQBsAGkARwBlAG4AZQByAGkBDQBrAGkAIABwAHIAbwBmAGkAbAAgAHMA -aQB2AGkAaAAgAHQAbwBuAG8AdgBhAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAA -cwB6AGEAcgBvAVsAYwBpBB4EMQRJBDgEOQAgBEEENQRABEsEOQAgBD8EQAQ+BEQEOAQ7BEwGRQZEBkEA -IAYqBjkGMQZKBkEAIABHAHIAYQB5ACAGJwZEBjkGJwZFAEcAZQBuAGUAcgBpAGMAIABHAHIAYQB5ACAA -UAByAG8AZgBpAGwAZQAAdGV4dAAAAABDb3B5cmlnaHQgMjAwNyBBcHBsZSBJbmMuLCBhbGwgcmlnaHRz -IHJlc2VydmVkLgBYWVogAAAAAAAA81EAAQAAAAEWzGN1cnYAAAAAAAAAAQHNAADSJSYnKFokY2xhc3Nu -YW1lWCRjbGFzc2VzXxAQTlNCaXRtYXBJbWFnZVJlcKMpKitfEBBOU0JpdG1hcEltYWdlUmVwWk5TSW1h -Z2VSZXBYTlNPYmplY3TSJSYtLldOU0FycmF5oi0r0iUmMDFeTlNNdXRhYmxlQXJyYXmjMC0r0zM0CjU2 -N1dOU1doaXRlXE5TQ29sb3JTcGFjZUQwIDAAEAOADNIlJjk6V05TQ29sb3KiOSvSJSY8PVdOU0ltYWdl -ojwrXxAPTlNLZXllZEFyY2hpdmVy0UBBVHJvb3SAAQAIABEAGgAjAC0AMgA3AEYATABXAF4AZQByAHkA -gQCDAIUAigCMAI4AlQCaAKUApwCpAKsAsACzALUAtwC5ALsAwADXANkA2wlTCVgJYwlsCX8JgwmWCaEJ -qgmvCbcJugm/Cc4J0gnZCeEJ7gnzCfUJ9wn8CgQKBwoMChQKFwopCiwKMQAAAAAAAAIBAAAAAAAAAEIA -AAAAAAAAAAAAAAAAAAozA - - - - diff --git a/Sketch Toolbox/Images.xcassets/Contents.json b/Sketch Toolbox/Images.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Sketch Toolbox/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sketch Toolbox/Images.xcassets/Download.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/Download.imageset/Contents.json index 76facd1..7ad8251 100644 --- a/Sketch Toolbox/Images.xcassets/Download.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/Download.imageset/Contents.json @@ -2,13 +2,17 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Cloud_Download.png" + "filename" : "Cloud_Download.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Cloud_Download@2x.png" + "filename" : "Cloud_Download@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/Github.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/Github.imageset/Contents.json index 108ccdd..5da3501 100644 --- a/Sketch Toolbox/Images.xcassets/Github.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/Github.imageset/Contents.json @@ -2,13 +2,17 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Github.png" + "filename" : "Github.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Github@2x.png" + "filename" : "Github@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/Refresh.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/Refresh.imageset/Contents.json index 6ea66bd..0ffb627 100644 --- a/Sketch Toolbox/Images.xcassets/Refresh.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/Refresh.imageset/Contents.json @@ -2,12 +2,16 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "icon_4985.png" + "filename" : "icon_4985.png", + "scale" : "1x" }, { "idiom" : "universal", "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/Star.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/Star.imageset/Contents.json index 3e62b40..8ab2955 100644 --- a/Sketch Toolbox/Images.xcassets/Star.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/Star.imageset/Contents.json @@ -2,13 +2,17 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Star.png" + "filename" : "star-2.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Star@2x.png" + "filename" : "star-2@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/Star.imageset/Star.png b/Sketch Toolbox/Images.xcassets/Star.imageset/Star.png deleted file mode 100644 index 0bedbd9..0000000 Binary files a/Sketch Toolbox/Images.xcassets/Star.imageset/Star.png and /dev/null differ diff --git a/Sketch Toolbox/Images.xcassets/Star.imageset/Star@2x.png b/Sketch Toolbox/Images.xcassets/Star.imageset/Star@2x.png deleted file mode 100644 index 0bedbd9..0000000 Binary files a/Sketch Toolbox/Images.xcassets/Star.imageset/Star@2x.png and /dev/null differ diff --git a/Sketch Toolbox/Images.xcassets/Star.imageset/star-2.png b/Sketch Toolbox/Images.xcassets/Star.imageset/star-2.png new file mode 100644 index 0000000..4c7b8e7 Binary files /dev/null and b/Sketch Toolbox/Images.xcassets/Star.imageset/star-2.png differ diff --git a/Sketch Toolbox/Images.xcassets/Star.imageset/star-2@2x.png b/Sketch Toolbox/Images.xcassets/Star.imageset/star-2@2x.png new file mode 100644 index 0000000..2d8438c Binary files /dev/null and b/Sketch Toolbox/Images.xcassets/Star.imageset/star-2@2x.png differ diff --git a/Sketch Toolbox/Images.xcassets/Trash.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/Trash.imageset/Contents.json index cd4ed88..77584db 100644 --- a/Sketch Toolbox/Images.xcassets/Trash.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/Trash.imageset/Contents.json @@ -2,13 +2,17 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Trash.png" + "filename" : "Trash.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Trash@2x.png" + "filename" : "Trash@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/User.imageset/Contents.json b/Sketch Toolbox/Images.xcassets/User.imageset/Contents.json index 15ccb26..5ec7b6d 100644 --- a/Sketch Toolbox/Images.xcassets/User.imageset/Contents.json +++ b/Sketch Toolbox/Images.xcassets/User.imageset/Contents.json @@ -2,13 +2,17 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "User.png" + "filename" : "User.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "User@2x.png" + "filename" : "User@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/Sketch Toolbox/Images.xcassets/User.imageset/User.png b/Sketch Toolbox/Images.xcassets/User.imageset/User.png index b7a6947..952f7dd 100644 Binary files a/Sketch Toolbox/Images.xcassets/User.imageset/User.png and b/Sketch Toolbox/Images.xcassets/User.imageset/User.png differ diff --git a/Sketch Toolbox/Images.xcassets/User.imageset/User@2x.png b/Sketch Toolbox/Images.xcassets/User.imageset/User@2x.png index 543eb53..41f10b3 100644 Binary files a/Sketch Toolbox/Images.xcassets/User.imageset/User@2x.png and b/Sketch Toolbox/Images.xcassets/User.imageset/User@2x.png differ diff --git a/Sketch Toolbox/STAppDelegate.h b/Sketch Toolbox/STAppDelegate.h index 936f956..356c608 100644 --- a/Sketch Toolbox/STAppDelegate.h +++ b/Sketch Toolbox/STAppDelegate.h @@ -7,6 +7,7 @@ // #import +#import @interface STAppDelegate : NSObject diff --git a/Sketch Toolbox/STAppDelegate.m b/Sketch Toolbox/STAppDelegate.m index e1feb27..e447a93 100644 --- a/Sketch Toolbox/STAppDelegate.m +++ b/Sketch Toolbox/STAppDelegate.m @@ -32,6 +32,13 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { [self startApp]; pluginManager = [PluginManager sharedManager]; [pluginManager downloadCatalog]; + + plugins = [Plugin MR_findAllSortedBy:@"name" ascending:YES]; + activePlugins = plugins; + [self.filterControl setSelectedSegment:0]; + [self.tableView reloadData]; + + } -(void)migrate { @@ -91,6 +98,19 @@ -(IBAction)segmentSelected:(NSSegmentedControl*)sender { [self.tableView reloadData]; } +-(IBAction)selectSegmentAll:(id)sender { + [self.filterControl setSelectedSegment:0]; + activePlugins = plugins; + [self.tableView reloadData]; +} + +-(IBAction)selectSegmentInstalled:(id)sender { + [self.filterControl setSelectedSegment:1]; + NSPredicate *installed = [NSPredicate predicateWithFormat:@"installed != nil"]; + activePlugins = [Plugin MR_findAllSortedBy:@"name" ascending:YES withPredicate:installed]; + [self.tableView reloadData]; +} + -(IBAction)filterPlugins:(NSSearchField *)searchField { NSMutableString *searchText = [NSMutableString stringWithString:[searchField stringValue]]; while ([searchText rangeOfString:@" "].location != NSNotFound) { diff --git a/Sketch Toolbox/STPluginCellView.h b/Sketch Toolbox/STPluginCellView.h index 586e3bf..72d1811 100644 --- a/Sketch Toolbox/STPluginCellView.h +++ b/Sketch Toolbox/STPluginCellView.h @@ -7,6 +7,7 @@ // #import +#import @class Plugin; @interface STPluginCellView : NSTableCellView @@ -14,6 +15,7 @@ @property (nonatomic, strong) Plugin *plugin; @property (nonatomic, strong) IBOutlet NSButton *nameButton; +@property (nonatomic, strong) IBOutlet NSTextField *nameField; @property (nonatomic, strong) IBOutlet NSTextField *descriptionField; @property (nonatomic, strong) IBOutlet NSTextField *owner; @property (nonatomic, strong) IBOutlet NSTextField *starCount; diff --git a/Sketch Toolbox/STPluginCellView.m b/Sketch Toolbox/STPluginCellView.m index 7dd5719..9547931 100644 --- a/Sketch Toolbox/STPluginCellView.m +++ b/Sketch Toolbox/STPluginCellView.m @@ -13,7 +13,8 @@ @implementation STPluginCellView -(IBAction)actionButtonPressed:(NSButton*)sender { if (!self.plugin.isInstalled) { - [sender setTitle:@"Downloading..."]; + self.actionButton.enabled = NO; + [sender setTitle:NSLocalizedString(@"Downloading...",nil)]; [self.plugin download]; } else [self.plugin delete]; @@ -33,11 +34,14 @@ -(void)populate { self.owner.stringValue = self.plugin.owner; self.starCount.stringValue = [NSString stringWithFormat:@"%i", self.plugin.stars]; if (self.plugin.state == PluginStateInstalled) { - [self.actionButton setTitle:@"Uninstall"]; + self.actionButton.enabled = YES; + [self.actionButton setTitle:NSLocalizedString(@"Uninstall",nil)]; } else if (self.plugin.state == PluginStateDownloading) { - [self.actionButton setTitle:@"Downloading..."]; + self.actionButton.enabled = NO; + [self.actionButton setTitle:NSLocalizedString(@"Downloading...",nil)]; } else { - [self.actionButton setTitle:@"Install"]; + self.actionButton.enabled = YES; + [self.actionButton setTitle:NSLocalizedString(@"Install",nil)]; } } diff --git a/Sketch Toolbox/en.lproj/InfoPlist.strings b/Sketch Toolbox/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/Sketch Toolbox/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/Sketch Toolbox/en.lproj/Localizable.strings b/Sketch Toolbox/en.lproj/Localizable.strings new file mode 100644 index 0000000..88c1ce0 --- /dev/null +++ b/Sketch Toolbox/en.lproj/Localizable.strings @@ -0,0 +1,10 @@ +/* + Localizable.strings + Sketch Toolbox + + Created by pluwen on 16/6/28. + Copyright © 2016年 Shahruz Shaukat. All rights reserved. +*/ +"Downloading..." = "Downloading..."; +"Uninstall" = "Uninstall"; +"Install" = "Install"; diff --git a/Sketch Toolbox/zh-Hans.lproj/Credits.rtf b/Sketch Toolbox/zh-Hans.lproj/Credits.rtf new file mode 100644 index 0000000..9b37dea --- /dev/null +++ b/Sketch Toolbox/zh-Hans.lproj/Credits.rtf @@ -0,0 +1,24 @@ +{\rtf1\ansi\ansicpg936\cocoartf1404\cocoasubrtf470 +{\fonttbl\f0\fnil\fcharset134 PingFangSC-Regular;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\vieww9600\viewh8400\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 + +\f0\b\fs24 \cf0 \'bf\'aa\'b7\'a2\'d5\'df +\f1 \ + +\b0 Shahruz Shaukat ({\field{\*\fldinst{HYPERLINK "https://twitter.com/shahruz"}}{\fldrslt https://twitter.com/shahruz}})\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 + +\f0\b \cf0 \'cc\'d8\'b1\'f0\'b8\'d0\'d0\'bb +\f1 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 +\cf0 +\b0 Clark Wimberly ({\field{\*\fldinst{HYPERLINK "https://twitter.com/clarklab"}}{\fldrslt https://twitter.com/clarklab}})\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +\cf0 Ale Mu\'f1oz ({\field{\*\fldinst{HYPERLINK "https://github.com/sketchplugins/plugin-directory"}}{\fldrslt https://github.com/sketchplugins/plugin-directory}})\ + Bohemian Coding ({\field{\*\fldinst{HYPERLINK "https://twitter.com/bohemiancoding"}}{\fldrslt https://twitter.com/bohemiancoding}})\ + Jerry Low ({\field{\*\fldinst{HYPERLINK "https://twitter.com/WebHostingJerry"}}{\fldrslt https://twitter.com/WebHostingJerry}})\ + Sam Soffes ({\field{\*\fldinst{HYPERLINK "https://github.com/soffes/ssziparchive"}}{\fldrslt https://github.com/soffes/ssziparchive}})\ + Saul Mora and the Magical Panda team ({\field{\*\fldinst{HYPERLINK "https://github.com/magicalpanda/MagicalRecord"}}{\fldrslt https://github.com/magicalpanda/MagicalRecord}})} \ No newline at end of file diff --git a/Sketch Toolbox/zh-Hans.lproj/Localizable.strings b/Sketch Toolbox/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000..9d2891e --- /dev/null +++ b/Sketch Toolbox/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,10 @@ +/* + Localizable.strings + Sketch Toolbox + + Created by pluwen on 16/6/28. + Copyright © 2016年 Shahruz Shaukat. All rights reserved. +*/ +"Downloading..." = "下载中..."; +"Uninstall" = "卸载"; +"Install" = "安装"; \ No newline at end of file diff --git a/Sketch Toolbox/zh-Hans.lproj/MainMenu.strings b/Sketch Toolbox/zh-Hans.lproj/MainMenu.strings new file mode 100644 index 0000000..12655c3 --- /dev/null +++ b/Sketch Toolbox/zh-Hans.lproj/MainMenu.strings @@ -0,0 +1,132 @@ + +/* Class = "NSMenuItem"; title = "View"; ObjectID = "030-8D-IPi"; */ +"030-8D-IPi.title" = "视图"; + +/* Class = "NSMenuItem"; title = "File"; ObjectID = "0RD-Co-gAH"; */ +"0RD-Co-gAH.title" = "文件"; + +/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "0jb-vZ-hML"; */ +"0jb-vZ-hML.title" = "最小化"; + +/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "7E9-d5-3b8"; */ +"7E9-d5-3b8.title" = "粘贴"; + +/* Class = "NSMenuItem"; title = "Window"; ObjectID = "7Jh-5l-eQQ"; */ +"7Jh-5l-eQQ.title" = "窗口"; + +/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "7Mq-11-Bz1"; */ +"7Mq-11-Bz1.title" = "复制"; + +/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "7Wy-nJ-PgQ"; */ +"7Wy-nJ-PgQ.title" = "显示全部"; + +/* Class = "NSMenuItem"; title = "Sketch Toolbox"; ObjectID = "8TN-Gh-ty4"; */ +"8TN-Gh-ty4.title" = "Sketch Toolbox"; + +/* Class = "NSMenu"; title = "Edit"; ObjectID = "Adc-BU-5CR"; */ +"Adc-BU-5CR.title" = "编辑"; + +/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "CPZ-3R-hxd"; */ +"CPZ-3R-hxd.title" = "剪切"; + +/* Class = "NSButtonCell"; title = "Name"; ObjectID = "CZf-eR-jVZ"; */ +"CZf-eR-jVZ.title" = "名称"; + +/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "EIy-nK-C1y"; */ +"EIy-nK-C1y.title" = "主菜单"; + +/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "Eaj-lt-X1g"; */ +"Eaj-lt-X1g.title" = "前置全部窗口"; + +/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "FcB-MB-TgI"; */ +"FcB-MB-TgI.title" = "全选"; + +/* Class = "NSMenuItem"; title = "Quit Sketch Toolbox"; ObjectID = "Gyu-YJ-ELY"; */ +"Gyu-YJ-ELY.title" = "退出 Sketch Toolbox"; + +/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Im4-ZX-VnS"; */ +"Im4-ZX-VnS.title" = "隐藏其他"; + +/* Class = "NSButtonCell"; title = "Install"; ObjectID = "JbC-ds-mUZ"; */ +"JbC-ds-mUZ.title" = "安装"; + +/* Class = "NSSearchFieldCell"; placeholderString = "Search packages"; ObjectID = "Khj-Si-xx1"; */ +"Khj-Si-xx1.placeholderString" = "搜索插件库"; + +/* Class = "NSMenuItem"; title = "Check for updates..."; ObjectID = "M66-4n-jO2"; */ +"M66-4n-jO2.title" = "检查更新..."; + +/* Class = "NSMenuItem"; title = "About Sketch Toolbox"; ObjectID = "NPb-tc-EJ7"; */ +"NPb-tc-EJ7.title" = "关于 Sketch Toolbox"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "Nfw-W0-1Rr"; */ +"Nfw-W0-1Rr.title" = "Text Cell"; + +/* Class = "NSWindow"; title = "Sketch Toolbox"; ObjectID = "QvC-M9-y7g"; */ +"QvC-M9-y7g.title" = "Sketch Toolbox"; + +/* Class = "NSMenu"; title = "Window"; ObjectID = "SP8-ze-rzd"; */ +"SP8-ze-rzd.title" = "窗口"; + +/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "Z3i-7z-VW4"; */ +"Z3i-7z-VW4.title" = "缩放"; + +/* Class = "NSMenuItem"; title = "Refresh packages"; ObjectID = "aNA-57-uKg"; */ +"aNA-57-uKg.title" = "刷新插件库"; + +/* Class = "NSMenuItem"; title = "Switch to Installed"; ObjectID = "cbu-lh-c0H"; */ +"cbu-lh-c0H.title" = "切换到已安装"; + +/* Class = "NSMenuItem"; title = "Services"; ObjectID = "cgq-f0-Nqv"; */ +"cgq-f0-Nqv.title" = "服务"; + +/* Class = "NSTextFieldCell"; title = "Description of the plugin"; ObjectID = "cid-nH-aGY"; */ +"cid-nH-aGY.title" = "插件介绍"; + +/* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "d18-Tg-nlQ"; */ +"d18-Tg-nlQ.label" = "自定义视图"; + +/* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "d18-Tg-nlQ"; */ +"d18-Tg-nlQ.paletteLabel" = "自定义视图"; + +/* Class = "NSToolbarItem"; label = "Custom View"; ObjectID = "dSs-kG-bt7"; */ +"dSs-kG-bt7.label" = "自定义视图"; + +/* Class = "NSToolbarItem"; paletteLabel = "Custom View"; ObjectID = "dSs-kG-bt7"; */ +"dSs-kG-bt7.paletteLabel" = "自定义视图"; + +/* Class = "NSSegmentedCell"; dj9-lL-Jae.ibShadowedLabels[0] = "All"; ObjectID = "dj9-lL-Jae"; */ +"dj9-lL-Jae.ibShadowedLabels[0]" = "全部"; + +/* Class = "NSSegmentedCell"; dj9-lL-Jae.ibShadowedLabels[1] = "Installed"; ObjectID = "dj9-lL-Jae"; */ +"dj9-lL-Jae.ibShadowedLabels[1]" = "已安装"; + +/* Class = "NSMenu"; title = "File"; ObjectID = "hUe-Wt-QCJ"; */ +"hUe-Wt-QCJ.title" = "文件"; + +/* Class = "NSMenu"; title = "Sketch Toolbox"; ObjectID = "ld3-2B-ncW"; */ +"ld3-2B-ncW.title" = "Sketch Toolbox"; + +/* Class = "NSMenuItem"; title = "Hide Sketch Toolbox"; ObjectID = "ogc-57-hAs"; */ +"ogc-57-hAs.title" = "隐藏 Sketch Toolbox"; + +/* Class = "NSMenu"; title = "Services"; ObjectID = "p50-bn-b9j"; */ +"p50-bn-b9j.title" = "服务"; + +/* Class = "NSMenuItem"; title = "Send feedback..."; ObjectID = "prn-vd-ce7"; */ +"prn-vd-ce7.title" = "发送反馈..."; + +/* Class = "NSMenu"; title = "View"; ObjectID = "qbH-D1-fT8"; */ +"qbH-D1-fT8.title" = "视图"; + +/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "r2X-Kf-zhM"; */ +"r2X-Kf-zhM.title" = "名称"; + +/* Class = "NSMenuItem"; title = "Switch to All"; ObjectID = "uPV-Ty-Xnq"; */ +"uPV-Ty-Xnq.title" = "切换到全部"; + +/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "y5d-Fj-8n6"; */ +"y5d-Fj-8n6.title" = "编辑"; + +/* Class = "NSMenuItem"; title = "Close"; ObjectID = "znK-O6-IYB"; */ +"znK-O6-IYB.title" = "关闭";