├── .gitignore ├── Classes ├── Constants.h ├── FanControl.h ├── FanControl.m ├── IOHIDSensor.h ├── IOHIDSensor.m ├── MachineDefaults.h ├── MachineDefaults.m ├── NSFileManager+DirectoryLocations.h ├── NSFileManager+DirectoryLocations.m ├── Power.h ├── Power.m ├── StatusItemWindow.h ├── StatusItemWindow.m ├── SystemVersion.h ├── SystemVersion.m ├── smcWrapper.h └── smcWrapper.m ├── Info.plist ├── LICENSE ├── Readme.md ├── Ressources ├── Dutch.lproj │ ├── F.A.Q.rtf │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib ├── English.lproj │ ├── F.A.Q.rtf │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib ├── French.lproj │ ├── F.A.Q.rtf │ ├── Localizable.strings │ └── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib ├── German.lproj │ ├── F.A.Q.rtf │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib ├── Machines.plist ├── Spanish.lproj │ ├── F.A.Q.rtf │ ├── Localizable.strings │ └── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib ├── paypal.gif ├── smc.png ├── smcfancontrol_v2.icns └── smcover.png ├── Sparkle.framework ├── Autoupdate ├── Headers ├── Modules ├── PrivateHeaders ├── Resources ├── Sparkle ├── Updater.app ├── Versions │ ├── B │ │ ├── Autoupdate │ │ ├── Headers │ │ │ ├── SPUDownloadData.h │ │ │ ├── SPUStandardUpdaterController.h │ │ │ ├── SPUStandardUserDriver.h │ │ │ ├── SPUStandardUserDriverDelegate.h │ │ │ ├── SPUUpdateCheck.h │ │ │ ├── SPUUpdatePermissionRequest.h │ │ │ ├── SPUUpdater.h │ │ │ ├── SPUUpdaterDelegate.h │ │ │ ├── SPUUpdaterSettings.h │ │ │ ├── SPUUserDriver.h │ │ │ ├── SPUUserUpdateState.h │ │ │ ├── SUAppcast.h │ │ │ ├── SUAppcastItem.h │ │ │ ├── SUErrors.h │ │ │ ├── SUExport.h │ │ │ ├── SUStandardVersionComparator.h │ │ │ ├── SUUpdatePermissionResponse.h │ │ │ ├── SUUpdater.h │ │ │ ├── SUUpdaterDelegate.h │ │ │ ├── SUVersionComparisonProtocol.h │ │ │ ├── SUVersionDisplayProtocol.h │ │ │ └── Sparkle.h │ │ ├── Modules │ │ │ └── module.modulemap │ │ ├── PrivateHeaders │ │ │ ├── SPUAppcastItemStateResolver.h │ │ │ ├── SPUGentleUserDriverReminders.h │ │ │ ├── SPUInstallationType.h │ │ │ ├── SPUStandardUserDriver+Private.h │ │ │ ├── SPUUserAgent+Private.h │ │ │ ├── SUAppcastItem+Private.h │ │ │ └── SUInstallerLauncher+Private.h │ │ ├── Resources │ │ │ ├── Base.lproj │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── keyedobjects-101300.nib │ │ │ │ │ └── keyedobjects-110000.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── Info.plist │ │ │ ├── ReleaseNotesColorStyle.css │ │ │ ├── SUStatus.nib │ │ │ ├── ar.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── ca.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── cs.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── da.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── de.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── el.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── en.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ └── SUUpdatePermissionPrompt.strings │ │ │ ├── es.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── fa.lproj │ │ │ │ └── Sparkle.strings │ │ │ ├── fi.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── fr.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── he.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── hr.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── hu.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── is.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── it.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── ja.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── ko.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── nb.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── nl.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── pl.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── pt-BR.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── pt-PT.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── ro.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── ru.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── sk.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── sl.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── sv.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── th.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── tr.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── uk.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ ├── zh_CN.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ │ └── zh_TW.lproj │ │ │ │ ├── SUUpdateAlert.strings │ │ │ │ ├── SUUpdatePermissionPrompt.strings │ │ │ │ └── Sparkle.strings │ │ ├── Sparkle │ │ ├── Updater.app │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── MacOS │ │ │ │ └── Updater │ │ │ │ ├── PkgInfo │ │ │ │ ├── Resources │ │ │ │ ├── Base.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── SUStatus.nib │ │ │ │ ├── ar.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ca.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── cs.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── da.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── de.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── el.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── es.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fa.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fi.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── fr.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── he.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── hr.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── hu.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── is.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── it.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ja.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ko.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── nb.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── nl.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pl.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pt-BR.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── pt-PT.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ro.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── ru.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sk.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sl.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── sv.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── th.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── tr.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── uk.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ ├── zh_CN.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ └── zh_TW.lproj │ │ │ │ │ └── Sparkle.strings │ │ │ │ └── _CodeSignature │ │ │ │ └── CodeResources │ │ ├── XPCServices │ │ │ ├── Downloader.xpc │ │ │ │ └── Contents │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── MacOS │ │ │ │ │ └── Downloader │ │ │ │ │ └── _CodeSignature │ │ │ │ │ └── CodeResources │ │ │ └── Installer.xpc │ │ │ │ └── Contents │ │ │ │ ├── Info.plist │ │ │ │ ├── MacOS │ │ │ │ └── Installer │ │ │ │ └── _CodeSignature │ │ │ │ └── CodeResources │ │ └── _CodeSignature │ │ │ └── CodeResources │ └── Current └── XPCServices ├── main.m ├── smc-command ├── LICENSE ├── Makefile ├── README.md ├── smc.c └── smc.h └── smcFanControl.xcodeproj ├── hendrikh.mode1 ├── hendrikh.mode1v3 ├── hendrikh.pbxuser ├── project.pbxproj ├── project.xcworkspace ├── contents.xcworkspacedata ├── xcshareddata │ └── smcFanControl.xccheckout └── xcuserdata │ └── hendrikh.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── WorkspaceSettings.xcsettings └── xcuserdata └── hendrikh.xcuserdatad ├── xcdebugger ├── Breakpoints.xcbkptlist └── Breakpoints_v2.xcbkptlist └── xcschemes ├── smcFanControl.xcscheme └── xcschememanagement.plist /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/ 3 | /smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/ 4 | /smcFanControl.xcodeproj/xcuserdata/ 5 | -------------------------------------------------------------------------------- /Classes/Constants.h: -------------------------------------------------------------------------------- 1 | // 2 | // Constants.h 3 | // smcFanControl 4 | // 5 | // Created by Hendrik Holtmann on 16/10/16. 6 | // 7 | // 8 | 9 | #define PREF_TEMP_UNIT @"Unit" 10 | #define PREF_SELECTION_DEFAULT @"SelDefault" 11 | #define PREF_AUTOSTART_ENABLED @"AutoStart" 12 | #define PREF_AUTOMATIC_CHANGE @"AutomaticChange" 13 | #define PREF_BATTERY_SELECTION @"selbatt" 14 | #define PREF_AC_SELECTION @"selac" 15 | #define PREF_CHARGING_SELECTION @"selload" 16 | #define PREF_MENU_DISPLAYMODE @"MenuBar" 17 | #define PREF_TEMPERATURE_SENSOR @"TSensor" 18 | #define PREF_NUMBEROF_LAUNCHES @"NumLaunches" 19 | #define PREF_DONATIONMESSAGE_DISPLAY @"DonationMessageDisplay" 20 | #define PREF_MENU_TEXTCOLOR @"MenuColor" 21 | #define PREF_FAVORITES_ARRAY @"Favorites" 22 | 23 | #define PREF_FAN_ARRAY @"FanData" 24 | #define PREF_FAN_TITLE @"Title" 25 | #define PREF_FAN_MINSPEED @"Minspeed" 26 | #define PREF_FAN_SELSPEED @"selspeed" 27 | #define PREF_FAN_SYNC @"sync" 28 | #define PREF_FAN_SHOWMENU @"menu" 29 | #define PREF_FAN_AUTO @"auto" 30 | -------------------------------------------------------------------------------- /Classes/FanControl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * Portions Copyright (c) 2013 Michael Wilber 6 | * 7 | * FanControl.h - MacBook(Pro) FanControl application 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 | */ 23 | 24 | #import 25 | #import "NSFileManager+DirectoryLocations.h" 26 | #import "smc.h" 27 | #import "smcWrapper.h" 28 | #import "IOHIDSensor.h" 29 | #import "MachineDefaults.h" 30 | 31 | #import "Power.h" 32 | #include 33 | #include 34 | #include 35 | 36 | #include 37 | #include 38 | #import "Constants.h" 39 | 40 | 41 | #define kMenuBarHeight 22 42 | 43 | 44 | @interface FanControl : NSObject 45 | 46 | { 47 | IBOutlet id currentSpeed; 48 | IBOutlet id currentSpeed1; 49 | 50 | IBOutlet id slider1; 51 | IBOutlet id slider2; 52 | 53 | IBOutlet id field1; 54 | IBOutlet id field2; 55 | 56 | IBOutlet id mainwindow; 57 | 58 | IBOutlet id tabview; 59 | 60 | IBOutlet id applybutton; 61 | 62 | IBOutlet id programinfo; 63 | 64 | IBOutlet id copyright; 65 | 66 | IBOutlet id syncslider; 67 | 68 | IBOutlet id TemperatureController; 69 | 70 | IBOutlet id levelIndicator; 71 | 72 | IBOutlet id newfavoritewindow; 73 | 74 | IBOutlet id newfavorite_title; 75 | 76 | IBOutlet id autochange; 77 | 78 | 79 | IBOutlet NSMenu *theMenu; 80 | 81 | IBOutlet id faqWindow; 82 | 83 | IBOutlet id faqText; 84 | 85 | IBOutlet id sliderCell; 86 | 87 | IBOutlet id sync; 88 | 89 | IBOutlet id colorSelector; 90 | 91 | NSStatusItem *statusItem; 92 | 93 | NSMutableArray* s_menus; 94 | 95 | NSTimer *_readTimer; 96 | 97 | Power *pw; 98 | 99 | IBOutlet id FavoritesController; 100 | IBOutlet id FanController; 101 | IBOutlet id DefaultsController; 102 | 103 | MachineDefaults *mdefaults; 104 | 105 | NSDictionary *undo_dic; 106 | 107 | NSImage *menu_image; 108 | NSImage *menu_image_alt; 109 | } 110 | 111 | @property (nonatomic, strong ) NSMutableDictionary *machineDefaultsDict; 112 | 113 | 114 | -(void)terminate:(id)sender; 115 | 116 | - (IBAction)paypal:(id)sender; 117 | - (IBAction)visitHomepage:(id)sender; 118 | 119 | - (IBAction)closePreferences:(id)sender; 120 | - (IBAction)savePreferences:(id)sender; 121 | - (IBAction)updateCheck:(id)sender; 122 | - (IBAction)resetSettings:(id)sender; 123 | 124 | - (void)init_statusitem; 125 | 126 | //new ones, check old later 127 | - (IBAction)loginItem:(id)sender; 128 | - (IBAction)add_favorite:(id)sender; 129 | - (IBAction)close_favorite:(id)sender; 130 | - (IBAction)save_favorite:(id)sender; 131 | - (IBAction)delete_favorite:(id)sender; 132 | - (IBAction)syncSliders:(id)sender; 133 | - (void)apply_quickselect:(id)sender; 134 | - (void)apply_settings:(id)sender controllerindex:(int)cIndex; 135 | + (void)setRights; 136 | - (void) syncBinder:(Boolean)bind; 137 | - (IBAction) changeMenu:(id)sender; 138 | - (IBAction)menuSelect:(id)sender; 139 | - (void)menuNeedsUpdate:(NSMenu*)menu; 140 | @end 141 | 142 | 143 | @interface NSNumber (NumberAdditions) 144 | @property (NS_NONATOMIC_IOSONLY, readonly, copy) NSString *tohex; 145 | @property (NS_NONATOMIC_IOSONLY, readonly, copy) NSNumber *celsius_fahrenheit; 146 | 147 | @end 148 | 149 | -------------------------------------------------------------------------------- /Classes/IOHIDSensor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * IOHIDSensor.h - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import 24 | 25 | #import 26 | #import 27 | 28 | // https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-1035.70.7/IOHIDFamily/AppleHIDUsageTables.h.auto.html 29 | #define kHIDPage_AppleVendor 0xff00 30 | #define kHIDUsage_AppleVendor_TemperatureSensor 0x0005 31 | 32 | // https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-1035.70.7/IOHIDFamily/IOHIDEventTypes.h.auto.html 33 | #ifdef __LP64__ 34 | typedef double IOHIDFloat; 35 | #else 36 | typedef float IOHIDFloat; 37 | #endif 38 | 39 | // https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-1035.70.7/IOHIDFamily/IOHIDEventTypes.h.auto.html 40 | #define IOHIDEventFieldBase(type) (type << 16) 41 | #define kIOHIDEventTypeTemperature 15 42 | 43 | 44 | typedef struct __IOHIDEvent *IOHIDEventRef; 45 | typedef struct __IOHIDServiceClient *IOHIDServiceClientRef; 46 | 47 | IOHIDEventSystemClientRef IOHIDEventSystemClientCreate(CFAllocatorRef); 48 | void IOHIDEventSystemClientSetMatching(IOHIDEventSystemClientRef, CFDictionaryRef); 49 | IOHIDEventRef IOHIDServiceClientCopyEvent(IOHIDServiceClientRef, int64_t, int32_t, int64_t); 50 | IOHIDFloat IOHIDEventGetFloatValue(IOHIDEventRef event, uint32_t field); 51 | 52 | @interface IOHIDSensor : NSObject { 53 | } 54 | 55 | + (float) getSOCTemperature; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /Classes/IOHIDSensor.m: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * IOHIDSensor.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import "IOHIDSensor.h" 24 | 25 | @implementation IOHIDSensor 26 | 27 | static BOOL isSOCSensor(CFStringRef sensorName) { 28 | return CFStringFind(sensorName, CFSTR("SOC"), kCFCompareCaseInsensitive).location != kCFNotFound; 29 | } 30 | 31 | static float toOneDecimalPlace(float value) { 32 | return roundf(10.0f * value) / 10.0f; 33 | } 34 | 35 | + (float) getSOCTemperature { 36 | IOHIDEventSystemClientRef eventSystemClient = IOHIDEventSystemClientCreate(kCFAllocatorDefault); 37 | CFArrayRef services = IOHIDEventSystemClientCopyServices(eventSystemClient); 38 | if (services) { 39 | 40 | float socSensorSum = 0.0f; 41 | int socSensorCount = 0; 42 | 43 | for (int i = 0; i < CFArrayGetCount(services); i++) { 44 | IOHIDServiceClientRef serviceClientRef = (IOHIDServiceClientRef)CFArrayGetValueAtIndex(services, i); 45 | CFStringRef sensorName = IOHIDServiceClientCopyProperty(serviceClientRef, CFSTR("Product")); 46 | if (sensorName) { 47 | if (isSOCSensor(sensorName)) { 48 | IOHIDEventRef event = IOHIDServiceClientCopyEvent(serviceClientRef, kIOHIDEventTypeTemperature, 0, 0); 49 | if (event) { 50 | IOHIDFloat sensorTemperature = IOHIDEventGetFloatValue(event, IOHIDEventFieldBase(kIOHIDEventTypeTemperature)); 51 | CFRelease(event); 52 | socSensorSum += sensorTemperature; 53 | socSensorCount++; 54 | } 55 | } 56 | CFRelease(sensorName); 57 | } 58 | } 59 | 60 | CFRelease(services); 61 | CFRelease(eventSystemClient); 62 | 63 | float avgSOCTemp = socSensorCount > 0 ? socSensorSum / socSensorCount : 0.0f; 64 | return toOneDecimalPlace(avgSOCTemp); 65 | } 66 | 67 | return 0.0f; 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /Classes/MachineDefaults.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * MachineDefaults.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | #import 23 | #import "smcWrapper.h" 24 | 25 | 26 | @interface MachineDefaults : NSObject { 27 | NSString *machine; 28 | NSArray *supported_machines; 29 | Boolean supported; 30 | int machine_num; 31 | } 32 | 33 | + (NSString *)computerModel; 34 | - (instancetype)init:(NSString*)p_machine ; 35 | 36 | @property (NS_NONATOMIC_IOSONLY, getter=get_machine_defaults, readonly, copy) NSDictionary *_machine_defaults; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Classes/MachineDefaults.m: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * MachineDefaults.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import "MachineDefaults.h" 24 | #import "NSFileManager+DirectoryLocations.h" 25 | 26 | @interface MachineDefaults () 27 | { 28 | 29 | } 30 | @end 31 | 32 | @implementation MachineDefaults 33 | 34 | 35 | - (instancetype)init:(NSString*)p_machine{ 36 | if (self = [super init]){ 37 | machine=[MachineDefaults computerModel]; 38 | [self refreshPlist]; 39 | } 40 | return self; 41 | } 42 | 43 | -(void)refreshPlist 44 | { 45 | supported_machines=[[NSArray alloc] initWithContentsOfFile:[[[NSFileManager defaultManager] applicationSupportDirectory] stringByAppendingPathComponent:@"Machines.plist"]]; 46 | supported=NO; 47 | int i; 48 | for(i=0;i<[supported_machines count];i++) { 49 | if ([machine isEqualToString:supported_machines[i][@"Machine"]]) { 50 | supported=YES; 51 | machine_num=i; 52 | } 53 | } 54 | } 55 | 56 | 57 | -(NSDictionary*) readFromPlist{ 58 | if (!supported) {return nil;} 59 | return supported_machines[machine_num]; 60 | } 61 | 62 | 63 | 64 | -(void) readFromSMC{ 65 | NSUInteger num_fans=[smcWrapper get_fan_num]; 66 | NSString *desc; 67 | NSNumber *min,*max; 68 | NSData *xmldata; 69 | NSString *error; 70 | NSMutableArray *fans=[[NSMutableArray alloc] init]; 71 | for (NSUInteger i = 0; i < num_fans; i++) { 72 | min=@([smcWrapper get_min_speed:i]); 73 | max=@([smcWrapper get_max_speed:i]); 74 | desc=[smcWrapper get_fan_descr:i]; 75 | [fans addObject:[[NSMutableDictionary alloc] initWithDictionary:@{@"Description": desc,@"Minspeed": min,@"Maxspeed": max,@"selspeed": min}]]; 76 | } 77 | //save to plist for future 78 | NSMutableArray *supported_m=[[NSMutableArray alloc] initWithContentsOfFile:[[[NSFileManager defaultManager] applicationSupportDirectory] stringByAppendingPathComponent:@"Machines.plist"]]; 79 | NSMutableDictionary *new_machine; 80 | if (fans == nil) 81 | { 82 | new_machine= [[NSMutableDictionary alloc] initWithDictionary:@{@"Fans": [NSNull null],@"NumFans": @(0),@"Machine": machine,@"Comment": @"Autogenerated",@"Minspeed": min,@"Maxspeed": max}]; 83 | 84 | } else { 85 | new_machine= [[NSMutableDictionary alloc] initWithDictionary:@{@"Fans": fans,@"NumFans": @(num_fans),@"Machine": machine,@"Comment": @"Autogenerated",@"Minspeed": min,@"Maxspeed": max}]; 86 | } 87 | [supported_m addObject:new_machine]; 88 | 89 | //save to plist 90 | xmldata = [NSPropertyListSerialization dataFromPropertyList:supported_m 91 | format:NSPropertyListXMLFormat_v1_0 92 | errorDescription:&error]; 93 | [xmldata writeToFile:[[[NSFileManager defaultManager] applicationSupportDirectory] stringByAppendingPathComponent:@"Machines.plist"] atomically:YES]; 94 | } 95 | 96 | 97 | 98 | 99 | -(NSDictionary*)get_machine_defaults{ 100 | 101 | if (!supported) { 102 | NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Alert!",nil) 103 | defaultButton:NSLocalizedString(@"Continue",nil) alternateButton:NSLocalizedString(@"Quit",nil) otherButton:nil 104 | informativeTextWithFormat:NSLocalizedString(@"smcFanControl has not been tested on this machine yet, but it should run if you follow the instructions. \n\nIf you choose to continue, please make sure you have no other FanControl-software running. Otherwise please quit, deinstall the other software, restart your machine and rerun smcFanControl!",nil)]; 105 | NSModalResponse code=[alert runModal]; 106 | if (code == NSAlertDefaultReturn) { 107 | [self readFromSMC]; 108 | [self refreshPlist]; 109 | } else { 110 | [[NSApplication sharedApplication] terminate:nil]; 111 | } 112 | 113 | } 114 | 115 | NSDictionary *defaultsDict=[self readFromPlist]; 116 | NSUInteger i; 117 | //localize fan-descriptions 118 | for (i=0;i<[defaultsDict[@"Fans"] count];i++) { 119 | NSString *newvalue=NSLocalizedString(defaultsDict[@"Fans"][i][@"Description"],nil); 120 | [defaultsDict[@"Fans"][i] setValue:newvalue forKey:@"Description"]; 121 | } 122 | 123 | return defaultsDict; 124 | } 125 | 126 | + (NSString *)computerModel 127 | { 128 | static NSString *computerModel = nil; 129 | if (!computerModel) { 130 | io_service_t pexpdev; 131 | if ((pexpdev = IOServiceGetMatchingService (kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")))) 132 | { 133 | NSData *data; 134 | if ((data = (id)CFBridgingRelease(IORegistryEntryCreateCFProperty(pexpdev, CFSTR("model"), kCFAllocatorDefault, 0)))) { 135 | computerModel = [[NSString allocWithZone:NULL] initWithCString:[data bytes] encoding:NSASCIIStringEncoding]; 136 | } 137 | } 138 | } 139 | return computerModel; 140 | } 141 | 142 | 143 | @end 144 | -------------------------------------------------------------------------------- /Classes/NSFileManager+DirectoryLocations.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileManager+DirectoryLocations.h 3 | // 4 | // Created by Matt Gallagher on 06 May 2010 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. Permission is granted to anyone to 9 | // use this software for any purpose, including commercial applications, and to 10 | // alter it and redistribute it freely, subject to the following restrictions: 11 | // 12 | // 1. The origin of this software must not be misrepresented; you must not 13 | // claim that you wrote the original software. If you use this software 14 | // in a product, an acknowledgment in the product documentation would be 15 | // appreciated but is not required. 16 | // 2. Altered source versions must be plainly marked as such, and must not be 17 | // misrepresented as being the original software. 18 | // 3. This notice may not be removed or altered from any source 19 | // distribution. 20 | // 21 | 22 | #import 23 | 24 | // 25 | // DirectoryLocations is a set of global methods for finding the fixed location 26 | // directoriess. 27 | // 28 | @interface NSFileManager (DirectoryLocations) 29 | 30 | - (NSString *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory 31 | inDomain:(NSSearchPathDomainMask)domainMask 32 | appendPathComponent:(NSString *)appendComponent 33 | error:(NSError **)errorOut; 34 | @property (NS_NONATOMIC_IOSONLY, readonly, copy) NSString *applicationSupportDirectory; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Classes/NSFileManager+DirectoryLocations.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileManager+DirectoryLocations.m 3 | // 4 | // Created by Matt Gallagher on 06 May 2010 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. Permission is granted to anyone to 9 | // use this software for any purpose, including commercial applications, and to 10 | // alter it and redistribute it freely, subject to the following restrictions: 11 | // 12 | // 1. The origin of this software must not be misrepresented; you must not 13 | // claim that you wrote the original software. If you use this software 14 | // in a product, an acknowledgment in the product documentation would be 15 | // appreciated but is not required. 16 | // 2. Altered source versions must be plainly marked as such, and must not be 17 | // misrepresented as being the original software. 18 | // 3. This notice may not be removed or altered from any source 19 | // distribution. 20 | // 21 | 22 | #import "NSFileManager+DirectoryLocations.h" 23 | 24 | enum 25 | { 26 | DirectoryLocationErrorNoPathFound, 27 | DirectoryLocationErrorFileExistsAtLocation 28 | }; 29 | 30 | NSString * const DirectoryLocationDomain = @"DirectoryLocationDomain"; 31 | 32 | @implementation NSFileManager (DirectoryLocations) 33 | 34 | 35 | /*! Method to tie together the steps of: 36 | 1) Locate a standard directory by search path and domain mask 37 | 2) Select the first path in the results 38 | 3) Append a subdirectory to that path 39 | 4) Create the directory and intermediate directories if needed 40 | 5) Handle errors by emitting a proper NSError object 41 | 42 | * \pararm searchPathDirectory - the search path passed to NSSearchPathForDirectoriesInDomains 43 | * \pararm domainMask - the domain mask passed to NSSearchPathForDirectoriesInDomains 44 | * \pararm appendComponent - the subdirectory appended 45 | * \pararm errorOut - any error from file operations 46 | 47 | * \returns returns the path to the directory (if path found and exists), nil otherwise 48 | */ 49 | - (NSString *)findOrCreateDirectory:(NSSearchPathDirectory)searchPathDirectory 50 | inDomain:(NSSearchPathDomainMask)domainMask 51 | appendPathComponent:(NSString *)appendComponent 52 | error:(NSError **)errorOut 53 | { 54 | // Declare an NSError first, so we don't need to check errorOut again and again 55 | NSError *error; 56 | 57 | if (errorOut) { 58 | error = *errorOut; 59 | } 60 | else { 61 | error = nil; 62 | } 63 | 64 | // 65 | // Search for the path 66 | // 67 | NSArray* paths = NSSearchPathForDirectoriesInDomains(searchPathDirectory,domainMask,YES); 68 | 69 | if ([paths count] == 0) 70 | { 71 | NSDictionary *userInfo = @{NSLocalizedDescriptionKey: NSLocalizedStringFromTable(@"No path found for directory in domain.",@"Errors",nil), 72 | @"NSSearchPathDirectory":@(searchPathDirectory), 73 | @"NSSearchPathDomainMask":@(domainMask)}; 74 | 75 | error = [NSError errorWithDomain:DirectoryLocationDomain 76 | code:DirectoryLocationErrorNoPathFound 77 | userInfo:userInfo]; 78 | return nil; 79 | } 80 | 81 | // 82 | // Normally only need the first path returned 83 | // 84 | NSString *resolvedPath = paths[0]; 85 | 86 | // 87 | // Append the extra path component 88 | // 89 | if (appendComponent) 90 | { 91 | resolvedPath = [resolvedPath stringByAppendingPathComponent:appendComponent]; 92 | } 93 | 94 | // 95 | // Create the path if it doesn't exist 96 | // 97 | 98 | 99 | if ([self createDirectoryAtPath:resolvedPath withIntermediateDirectories:YES 100 | attributes:nil error:&error]) 101 | return resolvedPath; 102 | else 103 | return nil; 104 | } 105 | 106 | 107 | /*! applicationSupportDirectory 108 | 109 | * \returns The path to the applicationSupportDirectory (creating it if it doesn't exist). 110 | */ 111 | - (NSString *)applicationSupportDirectory 112 | { 113 | NSString *executableName = [[NSBundle mainBundle] infoDictionary][@"CFBundleExecutable"]; 114 | 115 | NSError *error = nil; 116 | 117 | NSString *result = [self findOrCreateDirectory:NSApplicationSupportDirectory 118 | inDomain:NSUserDomainMask 119 | appendPathComponent:executableName 120 | error:&error]; 121 | if (!result) 122 | { 123 | NSLog(@"Unable to find or create application support directory:\n%@", error); 124 | } 125 | return result; 126 | } 127 | 128 | @end 129 | -------------------------------------------------------------------------------- /Classes/Power.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * Power.h - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | 31 | @interface Power : NSObject { 32 | 33 | io_connect_t root_port; 34 | io_object_t notifier; 35 | IONotificationPortRef notificationPort; 36 | id _delegate; 37 | 38 | } 39 | 40 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 41 | 42 | @property (NS_NONATOMIC_IOSONLY, unsafe_unretained) id delegate; 43 | 44 | - (void)registerForSleepWakeNotification; 45 | - (void)deregisterForSleepWakeNotification; 46 | 47 | - (void)registerForPowerChange; 48 | - (void)deregisterForPowerChange; 49 | 50 | //internal 51 | - (void)powerMessageReceived:(natural_t)messageType withArgument:(void *) messageArgument; 52 | - (void)powerSourceMesssageReceived:(NSDictionary *)n_description; 53 | 54 | 55 | @end 56 | 57 | 58 | //delegate Prototypes 59 | @interface NSObject (PowerDelegate) 60 | 61 | - (void)systemWillSleep:(id)sender; 62 | 63 | - (void)systemDidWakeFromSleep:(id)sender; 64 | 65 | - (void)powerChangeToBattery:(id)sender; 66 | 67 | - (void)powerChangeToAC:(id)sender; 68 | 69 | - (void)powerChangeToACLoading:(id)sender; 70 | 71 | @end 72 | -------------------------------------------------------------------------------- /Classes/Power.m: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * Power.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import "Power.h" 24 | 25 | 26 | static CFRunLoopSourceRef powerNotifierRunLoopSource = NULL; 27 | 28 | static int lastsource=0; 29 | 30 | @implementation Power 31 | 32 | 33 | void SleepWatcher( void * refCon, io_service_t service, natural_t messageType, void * messageArgument ){ 34 | [(__bridge Power *)refCon powerMessageReceived: messageType withArgument: messageArgument]; 35 | } 36 | 37 | 38 | 39 | static void powerSourceChanged(void * refCon) 40 | { 41 | CFTypeRef powerBlob = IOPSCopyPowerSourcesInfo(); 42 | CFArrayRef powerSourcesList = IOPSCopyPowerSourcesList(powerBlob); 43 | unsigned count = CFArrayGetCount(powerSourcesList); 44 | unsigned int i; 45 | for (i = 0U; i < count; ++i) { //in case we have several powersources 46 | CFTypeRef powerSource; 47 | CFDictionaryRef description; 48 | powerSource = CFArrayGetValueAtIndex(powerSourcesList, i); 49 | description = IOPSGetPowerSourceDescription(powerBlob, powerSource); 50 | //work with NSArray from here 51 | NSDictionary *n_description = (__bridge NSDictionary *)description; 52 | [(__bridge Power *)refCon powerSourceMesssageReceived:n_description]; 53 | } 54 | CFRelease(powerBlob); 55 | CFRelease(powerSourcesList); 56 | } 57 | 58 | - (instancetype)init{ 59 | if (self = [super init]) { 60 | 61 | } 62 | return self; 63 | } 64 | 65 | 66 | - (void)registerForSleepWakeNotification 67 | { 68 | root_port = IORegisterForSystemPower((__bridge void *)(self), ¬ificationPort, SleepWatcher, ¬ifier); 69 | CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(notificationPort), kCFRunLoopDefaultMode); 70 | } 71 | 72 | 73 | - (void)registerForPowerChange 74 | { 75 | powerNotifierRunLoopSource = IOPSNotificationCreateRunLoopSource(powerSourceChanged,(__bridge void *)(self)); 76 | if (powerNotifierRunLoopSource) { 77 | CFRunLoopAddSource(CFRunLoopGetCurrent(), powerNotifierRunLoopSource, kCFRunLoopDefaultMode); 78 | } 79 | } 80 | 81 | 82 | - (void)deregisterForSleepWakeNotification 83 | { 84 | CFRunLoopRemoveSource( CFRunLoopGetCurrent(), 85 | IONotificationPortGetRunLoopSource(notificationPort), 86 | kCFRunLoopCommonModes ); 87 | IODeregisterForSystemPower(¬ifier); 88 | IOServiceClose(root_port); 89 | IONotificationPortDestroy(notificationPort); 90 | } 91 | 92 | - (void)deregisterForPowerChange{ 93 | CFRunLoopRemoveSource(CFRunLoopGetCurrent(), powerNotifierRunLoopSource, kCFRunLoopDefaultMode); 94 | CFRelease(powerNotifierRunLoopSource); 95 | } 96 | 97 | 98 | 99 | - (void)powerMessageReceived:(natural_t)messageType withArgument:(void *) messageArgument 100 | { 101 | switch (messageType) 102 | { 103 | case kIOMessageSystemWillSleep: 104 | [_delegate systemWillSleep:self]; 105 | IOAllowPowerChange(root_port, (long)messageArgument); 106 | break; 107 | case kIOMessageCanSystemSleep: 108 | IOAllowPowerChange(root_port, (long)messageArgument); 109 | break; 110 | case kIOMessageSystemHasPoweredOn: 111 | if ([_delegate respondsToSelector:@selector(systemDidWakeFromSleep:)]) 112 | [_delegate systemDidWakeFromSleep:self]; 113 | else 114 | { 115 | [NSException raise:NSInternalInconsistencyException format:@"Delegate doesn't respond to ourDelegate"]; 116 | } 117 | break; 118 | } 119 | } 120 | 121 | - (void)powerSourceMesssageReceived:(NSDictionary *)n_description{ 122 | if (([n_description[@"Power Source State"] isEqualToString:@"AC Power"] && [n_description[@"Is Charging"] intValue]==1) && lastsource!=1) { 123 | lastsource=1; 124 | if ([_delegate respondsToSelector:@selector(powerChangeToACLoading:)]) 125 | [_delegate powerChangeToACLoading:self]; 126 | else 127 | { 128 | [NSException raise:NSInternalInconsistencyException format:@"Delegate doesn't respond to ourDelegate"]; 129 | } 130 | } 131 | 132 | 133 | if (([n_description[@"Power Source State"] isEqualToString:@"AC Power"] && [n_description[@"Is Charging"] intValue]==0) && lastsource!=2) { 134 | lastsource=2; 135 | if ([_delegate respondsToSelector:@selector(powerChangeToAC:)]) 136 | [_delegate powerChangeToAC:self]; 137 | else 138 | { 139 | [NSException raise:NSInternalInconsistencyException format:@"Delegate doesn't respond to ourDelegate"]; 140 | } 141 | } 142 | 143 | if (([n_description[@"Power Source State"] isEqualToString:@"Battery Power"]) && lastsource!=3) { 144 | lastsource=3; 145 | if ([_delegate respondsToSelector:@selector(powerChangeToBattery:)]) 146 | [_delegate powerChangeToBattery:self]; 147 | else 148 | { 149 | [NSException raise:NSInternalInconsistencyException format:@"Delegate doesn't respond to ourDelegate"]; 150 | } 151 | } 152 | 153 | } 154 | 155 | 156 | 157 | - (id)delegate 158 | { 159 | return _delegate; 160 | } 161 | 162 | - (void)setDelegate:(id)new_delegate 163 | { 164 | 165 | _delegate = new_delegate; 166 | } 167 | 168 | - (void)dealloc 169 | { 170 | NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 171 | 172 | if (_delegate) 173 | [nc removeObserver:_delegate name:nil object:self]; 174 | 175 | } 176 | 177 | 178 | 179 | @end 180 | -------------------------------------------------------------------------------- /Classes/StatusItemWindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * StatusItemWindow.h - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import 24 | 25 | 26 | @interface StatusItemWindow : NSWindow { 27 | } 28 | 29 | - (void)makeKeyAndOrderFront:(id)sender; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Classes/StatusItemWindow.m: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * StatusItemWindow.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | #import "StatusItemWindow.h" 23 | 24 | 25 | @implementation StatusItemWindow 26 | 27 | - (void)makeKeyAndOrderFront:(id)sender { 28 | [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; 29 | [super makeKeyAndOrderFront:sender]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Classes/SystemVersion.h: -------------------------------------------------------------------------------- 1 | // 2 | // GTMSystemVersion.h 3 | // 4 | // Copyright 2007-2008 Google Inc. 5 | // 6 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not 7 | // use this file except in compliance with the License. You may obtain a copy 8 | // of the License at 9 | // 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // 12 | // Unless required by applicable law or agreed to in writing, software 13 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | // License for the specific language governing permissions and limitations under 16 | // the License. 17 | // 18 | 19 | #import 20 | 21 | // A class for getting information about what system we are running on 22 | @interface SystemVersion : NSObject 23 | 24 | // Returns the current system version major.minor.bugFix 25 | + (void)getMajor:(SInt32*)major minor:(SInt32*)minor bugFix:(SInt32*)bugFix; 26 | 27 | // Returns the build number of the OS. Useful when looking for bug fixes 28 | // in new OSes which all have a set system version. 29 | // eg 10.5.5's build number is 9F33. Easy way to check the build number 30 | // is to choose "About this Mac" from the Apple menu and click on the version 31 | // number. 32 | + (NSString*)build; 33 | 34 | + (BOOL)isBuildLessThan:(NSString*)build; 35 | + (BOOL)isBuildLessThanOrEqualTo:(NSString*)build; 36 | + (BOOL)isBuildGreaterThan:(NSString*)build; 37 | + (BOOL)isBuildGreaterThanOrEqualTo:(NSString*)build; 38 | + (BOOL)isBuildEqualTo:(NSString *)build; 39 | 40 | // Returns YES if running on 10.3, NO otherwise. 41 | + (BOOL)isPanther; 42 | 43 | // Returns YES if running on 10.4, NO otherwise. 44 | + (BOOL)isTiger; 45 | 46 | // Returns YES if running on 10.5, NO otherwise. 47 | + (BOOL)isLeopard; 48 | 49 | // Returns YES if running on 10.6, NO otherwise. 50 | + (BOOL)isSnowLeopard; 51 | 52 | // Returns a YES/NO if the system is 10.3 or better 53 | + (BOOL)isPantherOrGreater; 54 | 55 | // Returns a YES/NO if the system is 10.4 or better 56 | + (BOOL)isTigerOrGreater; 57 | 58 | // Returns a YES/NO if the system is 10.5 or better 59 | + (BOOL)isLeopardOrGreater; 60 | 61 | // Returns a YES/NO if the system is 10.6 or better 62 | + (BOOL)isSnowLeopardOrGreater; 63 | // GTM_MACOS_SDK 64 | 65 | // Returns one of the achitecture strings below. Note that this is the 66 | // architecture that we are currently running as, not the hardware architecture. 67 | + (NSString *)runtimeArchitecture; 68 | @end 69 | 70 | 71 | -------------------------------------------------------------------------------- /Classes/smcWrapper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * Portions Copyright (c) 2013 Michael Wilber 6 | * 7 | * smcWrapper.m - MacBook(Pro) FanControl application 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 | */ 23 | 24 | #import 25 | #import "smc.h" 26 | #import "MachineDefaults.h" 27 | #import "Constants.h" 28 | 29 | @interface smcWrapper : NSObject { 30 | } 31 | 32 | +(void) cleanUp; 33 | 34 | +(int) get_fan_rpm:(int)fan_number; 35 | +(float) get_maintemp; 36 | +(float) get_mptemp; 37 | +(int) get_fan_num; 38 | +(int) get_min_speed:(int)fan_number; 39 | +(int) get_max_speed:(int)fan_number; 40 | +(int) get_mode:(int)fan_number; 41 | +(void)setKey_external:(NSString *)key value:(NSString *)value; 42 | +(NSString*) get_fan_descr:(int)fan_number; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | smcFanControl 9 | CFBundleGetInfoString 10 | smcFanControl 2.6, Hendrik Holtmann (GPL) 11 | CFBundleIconFile 12 | smcfancontrol_v2 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | smcFanControl 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 2.6.1 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 2.6.1 27 | LSApplicationCategoryType 28 | public.app-category.utilities 29 | LSUIElement 30 | 1 31 | NSHumanReadableCopyright 32 | Hendrik Holtmann (GPL) 33 | NSMainNibFile 34 | MainMenu 35 | NSPrincipalClass 36 | NSApplication 37 | SUFeedURL 38 | https://www.eidac.de/smcfancontrol/smcfancontrol.xml 39 | 40 | 41 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # smcFanControl 2 | 3 | smcFanControl lets the user set a minimum speed for built-in fans. It allows you to increase your minimum fan speed to make your Intel Mac run cooler. In order to not damage your machine, smcFanControl does not let you set a minimum speed to a value below Apple's defaults. 4 | 5 | ![My image](https://www.eidac.de/smc_screenshot.png) 6 | 7 | 8 | ## Installing it using Homebrew & Cask 9 | 10 | Make sure you have both [Homebrew](http://brew.sh/) and [Cask](https://caskroom.github.io/) installed. You'll find intructions to install both tools on their respective websites. 11 | 12 | After installing Homebrew and Cask, run: 13 | 14 | ``` 15 | $ brew install --cask smcfancontrol 16 | ``` 17 | 18 | After that you'll be able to use Spotlight to launch smcFanControl normally. :-) 19 | 20 | 21 | Requirements: Apple Silicon or Intel Mac / OS X 10.7 or higher 22 | 23 | 24 | Compiled version: https://www.eidac.de/smcfancontrol/smcfancontrol_2_6.zip 25 | 26 | FAQ / More info: Found in project under "Ressources/*.lproj/F.A.Q.rtf" or included in above .zip 27 | 28 | License: GPL 2 29 | -------------------------------------------------------------------------------- /Ressources/Dutch.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/Dutch.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /Ressources/Dutch.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "Do you really want to delete the favorite %@?" = "Weet je zeker dat je de favoriet %@ wilt wissen?"; 2 | 3 | "Yes" = "Ja"; 4 | 5 | "No" = "Nee"; 6 | 7 | "Delete favorite" = "Verwijder Favoriet"; 8 | 9 | "MainFan" = "Hoofd Fan"; 10 | 11 | "Left Fan" = "Linker Fan"; 12 | 13 | "Right Fan" = "Rechter Fan"; 14 | 15 | "smcFanControl has not been tested on this machine yet, but it should run if you follow the instructions. \n\nIf you choose to continue, please make sure you have no other FanControl-software running. Otherwise please quit, deinstall the other software, restart your machine and rerun smcFanControl!" = "smcFanControl is nog niet getest op deze machine, maar het zou moeten werken als je de instructies volgt. \n\nAls je doorgaat, zorg dan dat er geen andere FanControl-software draait. Als dat wel zo is, de-installeer deze software dan, stop smcFanControl en restart je computer voor je smcFanControl installeert!"; 16 | 17 | "Continue" = "Doorgaan"; 18 | 19 | "Quit" = "Stop"; 20 | 21 | "Alert!" = "Let op!"; 22 | 23 | "Active Setting" = "Actieve Instelling"; 24 | 25 | 26 | "Remind me later" = "Remind me later"; 27 | 28 | "Consider a donation" = "Consider a donation"; 29 | 30 | "Never ask me again" = "Never ask me again"; 31 | 32 | "Donate over Paypal" = "Donate over Paypal"; 33 | 34 | "smcFanControl keeps your Mac cool since 2006.\n\nIf smcFanControl is helfpul for you and you want to support further development, a small donation over Paypal is much appreciated." = "smcFanControl keeps your Mac cool since 2006.\n\nIf smcFanControl is helfpul for you and you want to support further development, a small donation over Paypal is much appreciated."; 35 | 36 | "Do you want to reset smcFanControl to default settings? Favorites will be deleted and fans will return to default speed." = "Do you want to reset smcFanControl to default settings?\nFavorites will be deleted and fans will return to default speed."; 37 | 38 | "Please shutdown your computer now to return to default fan settings." = "Please shutdown your computer now to return to default fan settings."; 39 | 40 | "Reset Settings" = "Reset Settings"; 41 | 42 | "Shutdown required" = "Shutdown required"; -------------------------------------------------------------------------------- /Ressources/Dutch.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/Dutch.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Ressources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /Ressources/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /Ressources/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Ressources/French.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/French.lproj/Localizable.strings -------------------------------------------------------------------------------- /Ressources/French.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/French.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Ressources/German.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/German.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /Ressources/German.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "Do you really want to delete the favorite %@?" = "Wollen Sie den Favoriten %@ wirklich löschen?"; 2 | 3 | "Yes" = "Ja"; 4 | 5 | "No" = "Nein"; 6 | 7 | "Delete favorite" = "Favoriten löschen"; 8 | 9 | "MainFan" = "Hauptlüfter"; 10 | 11 | "Left Fan" = "Linker Lüfter"; 12 | 13 | "Right Fan" = "Rechter Lüfter"; 14 | 15 | "smcFanControl has not been tested on this machine yet, but it should run if you follow the instructions. \n\nIf you choose to continue, please make sure you have no other FanControl-software running. Otherwise please quit, deinstall the other software, restart your machine and rerun smcFanControl!" = "smcFanControl wurde auf Ihrem Computermodel noch nicht getestet! Es sollte jedoch problemlos funktionieren, wenn Sie die Hinweise beachten.\n\nBevor Sie auf Weiter klicken, stellen Sie sicher das keine andere FanControl-Software läuft. Sollte dies noch der Fall sein, wählen Sie Abbrechen, deinstallieren Sie die andere Software, starten Sie Ihren Rechner neu und rufen Sie smcFanControl erneut auf!"; 16 | 17 | "Continue" = "Weiter"; 18 | 19 | "Quit" = "Abbrechen"; 20 | 21 | "Alert!" = "Achtung!"; 22 | 23 | "Active Setting" = "Aktive Einstellung"; 24 | 25 | "Remind me later" = "Später erinnern"; 26 | 27 | "Consider a donation" = "Spenden..."; 28 | 29 | "Never ask me again" = "Nie wieder fragen"; 30 | 31 | "Donate over Paypal" = "Spenden über PayPal"; 32 | 33 | "smcFanControl keeps your Mac cool since 2006.\n\nIf smcFanControl is helfpul for you and you want to support further development, a small donation over Paypal is much appreciated." = "smcFanControl hält seit 2006 Macs in aller Welt kühl.\n\nWenn Sie smcFanControl gerne benutzen und Sie die Weiterentwicklung unterstützen wollen, freuen wir uns über eine kleine Spende über PayPal."; 34 | 35 | "Do you want to reset smcFanControl to default settings? Favorites will be deleted and fans will return to default speed." = "Wollen Sie smcFanControl auf die Default-Einstellungen zurücksetzen?\nDie Favoriten werden gelöscht und die Lüfter auf Werkseinstellung gesetzt."; 36 | 37 | "Please shutdown your computer now to return to default fan settings." = "Bitte schalten Sie den Computer jetzt aus, um die Werkseinstellung für die Lüfter wiederherzustellen."; 38 | 39 | "Reset Settings" = "Einstellungen zurücksetzen"; 40 | 41 | "Shutdown required" = "Ausschalten erforderlich"; -------------------------------------------------------------------------------- /Ressources/German.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/German.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Ressources/Spanish.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "Do you really want to delete the favorite %@?" = "¿Seguro que desea eliminar el favorito: %@?"; 2 | 3 | "Yes" = "Sí"; 4 | 5 | "No" = "No"; 6 | 7 | "Delete favorite" = "Favorito eliminado"; 8 | 9 | "MainFan" = "Ventilador principal"; 10 | 11 | "Left Fan" = "Ventilador izquierdo"; 12 | 13 | "Right Fan" = "Ventilador derecho"; 14 | 15 | "smcFanControl has not been tested on this machine yet, but it should run if you follow the instructions. \n\nIf you choose to continue, please make sure you have no other FanControl-software running. Otherwise please quit, deinstall the other software, restart your machine and rerun smcFanControl!" = "smcFanControl no ha sido probado en esta máquina, pero debería de funcionar si sigue esta insrucciones. \n\nSi decide continuar asegúrese de que no hay otro programa de control de ventiladores; si es así salga, desinstale los otros programas, reinicie y lance otra vez smcFanControl"; 16 | 17 | "Continue" = "Continuar"; 18 | 19 | "Quit" = "Salir"; 20 | 21 | "Alert!" = "¡Atención!"; 22 | 23 | "Active Setting" = "Configuración activa"; 24 | 25 | "Remind me later" = "Recuérdame luego"; 26 | 27 | "Consider a donation" = "Considera una donación"; 28 | 29 | "Never ask me again" = "No volver a preguntar"; 30 | 31 | "Donate over Paypal" = "Dona mediante Paypal"; 32 | 33 | "smcFanControl keeps your Mac cool since 2006.\n\nIf smcFanControl is helfpul for you and you want to support further development, a small donation over Paypal is much appreciated." = "smcFanControl mantiene tu Mac fresco desde 2006.\nSi smcFanControl es útil para ti y quieres apoyar su desarrollo, apreciamos que nos aportes una pequeña donación a través de Paypal."; 34 | 35 | "Do you want to reset smcFanControl to default settings? Favorites will be deleted and fans will return to default speed." = "¿Desea restablecer la configuración predeterminada de smcFanControl?\n- Los favoritos se eliminarán y los ventiladores volverán a la velocidad predeterminada."; 36 | 37 | "Please shutdown your computer now to return to default fan settings." = "Por favor, apaga el ordenador ahora para restaurar la configuración de los ventiladores"; 38 | 39 | "Reset Settings" = "Ajustes de fábrica"; 40 | 41 | "Shutdown required" = "Se necesita apagar"; 42 | -------------------------------------------------------------------------------- /Ressources/Spanish.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/Spanish.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Ressources/paypal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/paypal.gif -------------------------------------------------------------------------------- /Ressources/smc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/smc.png -------------------------------------------------------------------------------- /Ressources/smcfancontrol_v2.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/smcfancontrol_v2.icns -------------------------------------------------------------------------------- /Ressources/smcover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Ressources/smcover.png -------------------------------------------------------------------------------- /Sparkle.framework/Autoupdate: -------------------------------------------------------------------------------- 1 | Versions/Current/Autoupdate -------------------------------------------------------------------------------- /Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /Sparkle.framework/Modules: -------------------------------------------------------------------------------- 1 | Versions/Current/Modules -------------------------------------------------------------------------------- /Sparkle.framework/PrivateHeaders: -------------------------------------------------------------------------------- 1 | Versions/Current/PrivateHeaders -------------------------------------------------------------------------------- /Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Updater.app: -------------------------------------------------------------------------------- 1 | Versions/Current/Updater.app -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Autoupdate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Autoupdate -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUDownloadData.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUDownloadData.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 8/10/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #ifdef BUILDING_SPARKLE_DOWNLOADER_SERVICE 12 | // Ignore incorrect warning 13 | #pragma clang diagnostic push 14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" 15 | #import "SUExport.h" 16 | #pragma clang diagnostic pop 17 | #else 18 | #import 19 | #endif 20 | 21 | NS_ASSUME_NONNULL_BEGIN 22 | 23 | /** 24 | * A class for containing downloaded data along with some information about it. 25 | */ 26 | SU_EXPORT @interface SPUDownloadData : NSObject 27 | 28 | /** 29 | * The raw data that was downloaded. 30 | */ 31 | @property (nonatomic, readonly) NSData *data; 32 | 33 | /** 34 | * The URL that was fetched from. 35 | * 36 | * This may be different from the URL in the request if there were redirects involved. 37 | */ 38 | @property (nonatomic, readonly, copy) NSURL *URL; 39 | 40 | /** 41 | * The IANA charset encoding name if available. Eg: "utf-8" 42 | */ 43 | @property (nonatomic, readonly, nullable, copy) NSString *textEncodingName; 44 | 45 | /** 46 | * The MIME type if available. Eg: "text/plain" 47 | */ 48 | @property (nonatomic, readonly, nullable, copy) NSString *MIMEType; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUStandardUpdaterController.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 2/28/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class SPUUpdater; 15 | @class SPUStandardUserDriver; 16 | @class NSMenuItem; 17 | @protocol SPUUserDriver, SPUUpdaterDelegate, SPUStandardUserDriverDelegate; 18 | 19 | /** 20 | A controller class that instantiates a `SPUUpdater` and allows binding UI to its updater settings. 21 | 22 | This class can be instantiated in a nib or created programatically using `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:`. 23 | 24 | The controller's updater targets the application's main bundle and uses Sparkle's standard user interface. 25 | Typically, this class is used by sticking it as a custom NSObject subclass in an Interface Builder nib (probably in MainMenu) but it works well programatically too. 26 | 27 | The controller creates an `SPUUpdater` instance using a `SPUStandardUserDriver` and allows hooking up the check for updates action and handling menu item validation. 28 | It also allows hooking up the updater's and user driver's delegates. 29 | 30 | If you need more control over what bundle you want to update, or you want to provide a custom user interface (via `SPUUserDriver`), please use `SPUUpdater` directly instead. 31 | */ 32 | SU_EXPORT @interface SPUStandardUpdaterController : NSObject 33 | { 34 | #pragma clang diagnostic push 35 | #pragma clang diagnostic ignored "-Wobjc-interface-ivars" 36 | /** 37 | * Interface builder outlet for the updater's delegate. 38 | */ 39 | IBOutlet __weak id updaterDelegate; 40 | 41 | /** 42 | * Interface builder outlet for the user driver's delegate. 43 | */ 44 | IBOutlet __weak id userDriverDelegate; 45 | #pragma clang diagnostic pop 46 | } 47 | 48 | /** 49 | Accessible property for the updater. Some properties on the updater can be binded via KVO 50 | 51 | When instantiated from a nib, don't perform update checks before the application has finished launching in a MainMenu nib (i.e applicationDidFinishLaunching:) or before the corresponding window/view controller has been loaded (i.e, windowDidLoad or viewDidLoad). The updater is not guaranteed to be started yet before these points. 52 | */ 53 | @property (nonatomic, readonly) SPUUpdater *updater; 54 | 55 | /** 56 | Accessible property for the updater's user driver. 57 | */ 58 | @property (nonatomic, readonly) SPUStandardUserDriver *userDriver; 59 | 60 | /** 61 | Create a new `SPUStandardUpdaterController` from a nib. 62 | 63 | You cannot call this initializer directly. You must instantiate a `SPUStandardUpdaterController` inside of a nib (typically the MainMenu nib) to use it. 64 | 65 | To create a `SPUStandardUpdaterController` programatically, use `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:` instead. 66 | */ 67 | - (instancetype)init NS_UNAVAILABLE; 68 | 69 | /** 70 | Create a new `SPUStandardUpdaterController` programmatically. 71 | 72 | The updater is started automatically. See `-startUpdater` for more information. 73 | */ 74 | - (instancetype)initWithUpdaterDelegate:(nullable id)updaterDelegate userDriverDelegate:(nullable id)userDriverDelegate; 75 | 76 | /** 77 | Create a new `SPUStandardUpdaterController` programmatically allowing you to specify whether or not to start the updater immediately. 78 | 79 | You can specify whether or not you want to start the updater immediately. 80 | If you do not start the updater, you must invoke `-startUpdater` at a later time to start it. 81 | */ 82 | - (instancetype)initWithStartingUpdater:(BOOL)startUpdater updaterDelegate:(nullable id)updaterDelegate userDriverDelegate:(nullable id)userDriverDelegate; 83 | 84 | /** 85 | Starts the updater if it has not already been started. 86 | 87 | You should only call this method yourself if you opted out of starting the updater on initialization. 88 | Hence, do not call this yourself if you are instantiating this controller from a nib. 89 | 90 | This invokes `-[SPUUpdater startUpdater:]`. If the application is misconfigured with Sparkle, an error is logged and an alert is shown to the user (after a few seconds) to contact the developer. 91 | If you want more control over this behavior, you can create your own `SPUUpdater` instead of using `SPUStandardUpdaterController`. 92 | */ 93 | - (void)startUpdater; 94 | 95 | /** 96 | Explicitly checks for updates and displays a progress dialog while doing so. 97 | 98 | This method is meant for a main menu item. 99 | Connect any NSMenuItem to this action in Interface Builder or programmatically, 100 | and Sparkle will check for updates and report back its findings verbosely when it is invoked. 101 | 102 | When the target/action of the menu item is set to this controller and this method, 103 | this controller also handles enabling/disabling the menu item by checking 104 | `-[SPUUpdater canCheckForUpdates]` 105 | 106 | This action checks updates by invoking `-[SPUUpdater checkForUpdates]` 107 | */ 108 | - (IBAction)checkForUpdates:(nullable id)sender; 109 | 110 | @end 111 | 112 | NS_ASSUME_NONNULL_END 113 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUStandardUserDriver.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 2/14/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @protocol SPUStandardUserDriverDelegate; 16 | 17 | /** 18 | Sparkle's standard built-in user driver for updater interactions 19 | */ 20 | SU_EXPORT @interface SPUStandardUserDriver : NSObject 21 | 22 | /** 23 | Initializes a Sparkle's standard user driver for user update interactions 24 | 25 | @param hostBundle The target bundle of the host that is being updated. 26 | @param delegate The optional delegate to this user driver. 27 | */ 28 | - (instancetype)initWithHostBundle:(NSBundle *)hostBundle delegate:(nullable id)delegate; 29 | 30 | /** 31 | Use initWithHostBundle:delegate: instead. 32 | */ 33 | - (instancetype)init NS_UNAVAILABLE; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUUpdateCheck.h 3 | // SPUUpdateCheck 4 | // 5 | // Created by Mayur Pawashe on 8/28/21. 6 | // Copyright © 2021 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SPUUpdateCheck_h 10 | #define SPUUpdateCheck_h 11 | 12 | /** 13 | Describes the type of update check being performed. 14 | 15 | Each update check corresponds to an update check method on `SPUUpdater`. 16 | */ 17 | typedef NS_ENUM(NSInteger, SPUUpdateCheck) 18 | { 19 | /** 20 | The user-initiated update check corresponding to `-[SPUUpdater checkForUpdates]`. 21 | */ 22 | SPUUpdateCheckUpdates = 0, 23 | /** 24 | The background scheduled update check corresponding to `-[SPUUpdater checkForUpdatesInBackground]`. 25 | */ 26 | SPUUpdateCheckUpdatesInBackground = 1, 27 | /** 28 | The informational probe update check corresponding to `-[SPUUpdater checkForUpdateInformation]`. 29 | */ 30 | SPUUpdateCheckUpdateInformation = 2 31 | }; 32 | 33 | #endif /* SPUUpdateCheck_h */ 34 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUUpdatePermissionRequest.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 8/14/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | This class represents information needed to make a permission request for checking updates. 16 | */ 17 | SU_EXPORT @interface SPUUpdatePermissionRequest : NSObject 18 | 19 | /** 20 | Initializes a new update permission request instance. 21 | 22 | @param systemProfile The system profile information. 23 | */ 24 | - (instancetype)initWithSystemProfile:(NSArray *> *)systemProfile; 25 | 26 | /** 27 | A read-only property for the user's system profile. 28 | */ 29 | @property (nonatomic, readonly) NSArray *> *systemProfile; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUUpdaterSettings.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 3/27/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | /** 15 | This class can be used for reading certain updater settings. 16 | 17 | It retrieves the settings by first looking into the host's user defaults. 18 | If the setting is not found in there, then the host's Info.plist file is looked at. 19 | */ 20 | SU_EXPORT @interface SPUUpdaterSettings : NSObject 21 | 22 | - (instancetype)initWithHostBundle:(NSBundle *)hostBundle; 23 | 24 | /** 25 | * Indicates whether or not automatic update checks are enabled. 26 | */ 27 | @property (readonly, nonatomic) BOOL automaticallyChecksForUpdates; 28 | 29 | /** 30 | * The regular update check interval. 31 | */ 32 | @property (readonly, nonatomic) NSTimeInterval updateCheckInterval; 33 | 34 | /** 35 | * Indicates whether or not automatically downloading updates is allowed to be turned on by the user. 36 | * If this value is nil, the developer has not explicitly specified this option. 37 | */ 38 | @property (readonly, nonatomic, nullable) NSNumber *allowsAutomaticUpdatesOption; 39 | 40 | /** 41 | * Indicates whether or not automatically downloading updates is allowed to be turned on by the user. 42 | */ 43 | @property (readonly, nonatomic) BOOL allowsAutomaticUpdates; 44 | 45 | /** 46 | * Indicates whether or not automatically downloading updates is enabled by the user or developer. 47 | * 48 | * Note this does not indicate whether or not automatic downloading of updates is allowable. 49 | * See `-allowsAutomaticUpdates` property for that. 50 | */ 51 | @property (readonly, nonatomic) BOOL automaticallyDownloadsUpdates; 52 | 53 | /** 54 | * Indicates whether or not anonymous system profile information is sent when checking for updates. 55 | */ 56 | @property (readonly, nonatomic) BOOL sendsSystemProfile; 57 | 58 | @end 59 | 60 | NS_ASSUME_NONNULL_END 61 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUUserUpdateState.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 2/29/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SPUUserUpdateState_h 10 | #define SPUUserUpdateState_h 11 | 12 | #import 13 | 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | /** 19 | A choice made by the user when prompted with a new update. 20 | */ 21 | typedef NS_ENUM(NSInteger, SPUUserUpdateChoice) { 22 | /** 23 | Dismisses the update and skips being notified of it in the future. 24 | */ 25 | SPUUserUpdateChoiceSkip, 26 | /** 27 | Downloads (if needed) and installs the update. 28 | */ 29 | SPUUserUpdateChoiceInstall, 30 | /** 31 | Dismisses the update until Sparkle reminds the user of it at a later time. 32 | */ 33 | SPUUserUpdateChoiceDismiss, 34 | }; 35 | 36 | /** 37 | Describes the current stage an update is undergoing. 38 | */ 39 | typedef NS_ENUM(NSInteger, SPUUserUpdateStage) { 40 | /** 41 | The update has not been downloaded. 42 | */ 43 | SPUUserUpdateStageNotDownloaded, 44 | /** 45 | The update has already been downloaded but not begun installing. 46 | */ 47 | SPUUserUpdateStageDownloaded, 48 | /** 49 | The update has already been downloaded and began installing in the background. 50 | */ 51 | SPUUserUpdateStageInstalling 52 | }; 53 | 54 | /** 55 | This represents the user's current update state. 56 | */ 57 | SU_EXPORT @interface SPUUserUpdateState : NSObject 58 | 59 | - (instancetype)init NS_UNAVAILABLE; 60 | 61 | /** 62 | The current update stage. 63 | 64 | This stage indicates if data has been already downloaded or not, or if an update is currently being installed. 65 | */ 66 | @property (nonatomic, readonly) SPUUserUpdateStage stage; 67 | 68 | /** 69 | Indicates whether or not the update check was initiated by the user. 70 | */ 71 | @property (nonatomic, readonly) BOOL userInitiated; 72 | 73 | @end 74 | 75 | NS_ASSUME_NONNULL_END 76 | 77 | #endif /* SPUUserUpdateState_h */ 78 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | #import 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @class SUAppcastItem; 18 | 19 | /** 20 | The appcast representing a collection of `SUAppcastItem` items in the feed. 21 | */ 22 | SU_EXPORT @interface SUAppcast : NSObject 23 | 24 | - (instancetype)init NS_UNAVAILABLE; 25 | 26 | /** 27 | The collection of update items. 28 | 29 | These `SUAppcastItem` items are in the same order as specified in the appcast XML feed and are thus not sorted by version. 30 | */ 31 | @property (readonly, copy) NSArray *items; 32 | 33 | @end 34 | 35 | NS_ASSUME_NONNULL_END 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUErrors.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUErrors.h 3 | // Sparkle 4 | // 5 | // Created by C.W. Betts on 10/13/14. 6 | // Copyright (c) 2014 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SUERRORS_H 10 | #define SUERRORS_H 11 | 12 | #import 13 | 14 | #if defined(BUILDING_SPARKLE_TOOL) || defined(BUILDING_SPARKLE_TESTS) 15 | // Ignore incorrect warning 16 | #pragma clang diagnostic push 17 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" 18 | #import "SUExport.h" 19 | #pragma clang diagnostic pop 20 | #else 21 | #import 22 | #endif 23 | 24 | /** 25 | * Error domain used by Sparkle 26 | */ 27 | SU_EXPORT extern NSString *const SUSparkleErrorDomain; 28 | 29 | typedef NS_ENUM(OSStatus, SUError) { 30 | // Configuration phase errors 31 | SUNoPublicDSAFoundError = 0001, 32 | SUInsufficientSigningError = 0002, 33 | SUInsecureFeedURLError = 0003, 34 | SUInvalidFeedURLError = 0004, 35 | SUInvalidUpdaterError = 0005, 36 | SUInvalidHostBundleIdentifierError = 0006, 37 | SUInvalidHostVersionError = 0007, 38 | 39 | // Appcast phase errors. 40 | SUAppcastParseError = 1000, 41 | SUNoUpdateError = 1001, 42 | SUAppcastError = 1002, 43 | SURunningFromDiskImageError = 1003, 44 | SUResumeAppcastError = 1004, 45 | SURunningTranslocated = 1005, 46 | SUWebKitTerminationError = 1006, 47 | 48 | // Download phase errors. 49 | SUTemporaryDirectoryError = 2000, 50 | SUDownloadError = 2001, 51 | 52 | // Extraction phase errors. 53 | SUUnarchivingError = 3000, 54 | SUSignatureError = 3001, 55 | SUValidationError = 3002, 56 | 57 | // Installation phase errors. 58 | SUFileCopyFailure = 4000, 59 | SUAuthenticationFailure = 4001, 60 | SUMissingUpdateError = 4002, 61 | SUMissingInstallerToolError = 4003, 62 | SURelaunchError = 4004, 63 | SUInstallationError = 4005, 64 | SUDowngradeError = 4006, 65 | SUInstallationCanceledError = 4007, 66 | SUInstallationAuthorizeLaterError = 4008, 67 | SUNotValidUpdateError = 4009, 68 | SUAgentInvalidationError = 4010, 69 | SUInstallationRootInteractiveError = 4011, 70 | SUInstallationWriteNoPermissionError = 4012, 71 | 72 | // API misuse errors. 73 | SUIncorrectAPIUsageError = 5000 74 | }; 75 | 76 | /** 77 | The reason why a new update is not available. 78 | */ 79 | typedef NS_ENUM(OSStatus, SPUNoUpdateFoundReason) { 80 | /** 81 | A new update is unavailable for an unknown reason. 82 | */ 83 | SPUNoUpdateFoundReasonUnknown, 84 | /** 85 | A new update is unavailable because the user is on the latest known version in the appcast feed. 86 | */ 87 | SPUNoUpdateFoundReasonOnLatestVersion, 88 | /** 89 | A new update is unavailable because the user is on a version newer than the latest known version in the appcast feed. 90 | */ 91 | SPUNoUpdateFoundReasonOnNewerThanLatestVersion, 92 | /** 93 | A new update is unavailable because the user's operating system version is too old for the update. 94 | */ 95 | SPUNoUpdateFoundReasonSystemIsTooOld, 96 | /** 97 | A new update is unavailable because the user's operating system version is too new for the update. 98 | */ 99 | SPUNoUpdateFoundReasonSystemIsTooNew 100 | }; 101 | 102 | SU_EXPORT extern NSString *const SPUNoUpdateFoundReasonKey; 103 | SU_EXPORT extern NSString *const SPULatestAppcastItemFoundKey; 104 | SU_EXPORT extern NSString *const SPUNoUpdateFoundUserInitiatedKey; 105 | 106 | #endif 107 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUExport.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUExport.h 3 | // Sparkle 4 | // 5 | // Created by Jake Petroules on 2014-08-23. 6 | // Copyright (c) 2014 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SUEXPORT_H 10 | #define SUEXPORT_H 11 | 12 | #ifdef BUILDING_SPARKLE 13 | #define SU_EXPORT __attribute__((visibility("default"))) 14 | #else 15 | #define SU_EXPORT 16 | #endif 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUStandardVersionComparator.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUSTANDARDVERSIONCOMPARATOR_H 10 | #define SUSTANDARDVERSIONCOMPARATOR_H 11 | 12 | #import 13 | 14 | #ifdef BUILDING_SPARKLE_TOOL 15 | // Ignore incorrect warning 16 | #pragma clang diagnostic push 17 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" 18 | #import "SUExport.h" 19 | #import "SUVersionComparisonProtocol.h" 20 | #pragma clang diagnostic pop 21 | #else 22 | #import 23 | #import 24 | #endif 25 | 26 | NS_ASSUME_NONNULL_BEGIN 27 | 28 | /** 29 | Sparkle's default version comparator. 30 | 31 | This comparator is adapted from MacPAD, by Kevin Ballard. 32 | It's "dumb" in that it does essentially string comparison, 33 | in components split by character type. 34 | */ 35 | SU_EXPORT @interface SUStandardVersionComparator : NSObject 36 | 37 | /** 38 | Initializes a new instance of the standard version comparator. 39 | */ 40 | - (instancetype)init; 41 | 42 | /** 43 | A singleton instance of the comparator. 44 | */ 45 | @property (nonatomic, class, readonly) SUStandardVersionComparator *defaultComparator; 46 | 47 | /** 48 | Compares two version strings through textual analysis. 49 | 50 | These version strings should be in the format of x, x.y, or x.y.z where each component is a number. 51 | For example, valid version strings include "1.5.3", "500", or "4000.1" 52 | These versions that are compared correspond to the @c CFBundleVersion values of the updates. 53 | 54 | @param versionA The first version string to compare. 55 | @param versionB The second version string to compare. 56 | @return A comparison result between @c versionA and @c versionB 57 | */ 58 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; 59 | 60 | @end 61 | 62 | NS_ASSUME_NONNULL_END 63 | #endif 64 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUUpdatePermissionResponse.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 2/8/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | /** 13 | This class represents a response for permission to check updates. 14 | */ 15 | SU_EXPORT @interface SUUpdatePermissionResponse : NSObject 16 | 17 | /** 18 | Initializes a new update permission response instance. 19 | 20 | @param automaticUpdateChecks Flag for whether to allow automatic update checks. 21 | @param sendSystemProfile Flag for if system profile information should be sent to the server hosting the appcast. 22 | */ 23 | - (instancetype)initWithAutomaticUpdateChecks:(BOOL)automaticUpdateChecks sendSystemProfile:(BOOL)sendSystemProfile; 24 | 25 | /* 26 | Use -initWithAutomaticUpdateChecks:sendSystemProfile: instead. 27 | */ 28 | - (instancetype)init NS_UNAVAILABLE; 29 | 30 | /** 31 | A read-only property indicating whether automatic update checks are allowed or not. 32 | */ 33 | @property (nonatomic, readonly) BOOL automaticUpdateChecks; 34 | 35 | /** 36 | A read-only property indicating if system profile should be sent or not. 37 | */ 38 | @property (nonatomic, readonly) BOOL sendSystemProfile; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | #import 13 | 14 | #ifdef BUILDING_SPARKLE_TOOL 15 | // Ignore incorrect warning 16 | #pragma clang diagnostic push 17 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" 18 | #import "SUExport.h" 19 | #pragma clang diagnostic pop 20 | #else 21 | #import 22 | #endif 23 | 24 | NS_ASSUME_NONNULL_BEGIN 25 | 26 | /** 27 | Provides version comparison facilities for Sparkle. 28 | */ 29 | @protocol SUVersionComparison 30 | 31 | /** 32 | An abstract method to compare two version strings. 33 | 34 | Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, 35 | and NSOrderedSame if they are equivalent. 36 | */ 37 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD! 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | #endif 43 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionDisplayProtocol.h 3 | // EyeTV 4 | // 5 | // Created by Uli Kusterer on 08.12.09. 6 | // Copyright 2009 Elgato Systems GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | /** 13 | Applies special display formatting to version numbers. 14 | */ 15 | SU_EXPORT @protocol SUVersionDisplay 16 | 17 | /** 18 | Formats two version strings. 19 | 20 | Both versions are provided so that important distinguishing information 21 | can be displayed while also leaving out unnecessary/confusing parts. 22 | */ 23 | - (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import 16 | #import 17 | #import 18 | #import 19 | #import 20 | #import 21 | #import 22 | #import 23 | #import 24 | #import 25 | #import 26 | #import 27 | #import 28 | #import 29 | 30 | // UI bits 31 | #import 32 | #import 33 | #import 34 | 35 | // Deprecated bits 36 | #import 37 | #import 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module Sparkle { 2 | umbrella header "Sparkle.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUAppcastItemStateResolver.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 5/31/21. 6 | // Copyright © 2021 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @class SUStandardVersionComparator, SPUAppcastItemState; 16 | @protocol SUVersionComparison; 17 | 18 | /** 19 | Private exposed class used to resolve Appcast Item properties that rely on external factors such as a host. 20 | This resolver is used for constructing appcast items. 21 | */ 22 | SU_EXPORT @interface SPUAppcastItemStateResolver : NSObject 23 | 24 | - (instancetype)init NS_UNAVAILABLE; 25 | 26 | - (instancetype)initWithHostVersion:(NSString *)hostVersion applicationVersionComparator:(id)applicationVersionComparator standardVersionComparator:(SUStandardVersionComparator *)standardVersionComparator; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUGentleUserDriverReminders.h 3 | // Sparkle 4 | // 5 | // Copyright © 2022 Sparkle Project. All rights reserved. 6 | // 7 | 8 | #ifndef SPUGentleUserDriverReminders_h 9 | #define SPUGentleUserDriverReminders_h 10 | 11 | /** 12 | A private protocol for user drivers implementing gentle scheduled reminders 13 | */ 14 | @protocol SPUGentleUserDriverReminders 15 | 16 | - (void)logGentleScheduledUpdateReminderWarningIfNeeded; 17 | 18 | - (void)resetTimeSinceOpportuneUpdateNotice; 19 | 20 | @end 21 | 22 | #endif /* SPUGentleUserDriverReminders_h */ 23 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUInstallationType.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 7/24/16. 6 | // Copyright © 2016 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SPUInstallationType_h 10 | #define SPUInstallationType_h 11 | 12 | #define SPUInstallationTypeApplication @"application" // the default installation type for ordinary application updates 13 | #define SPUInstallationTypeGuidedPackage @"package" // the preferred installation type for package installations 14 | #define SPUInstallationTypeInteractivePackage @"interactive-package" // the deprecated installation type; use guided package instead 15 | 16 | #define SPUInstallationTypesArray (@[SPUInstallationTypeApplication, SPUInstallationTypeGuidedPackage, SPUInstallationTypeInteractivePackage]) 17 | #define SPUValidInstallationType(x) ((x != nil) && [SPUInstallationTypesArray containsObject:(NSString * _Nonnull)x]) 18 | 19 | #endif /* SPUInstallationType_h */ 20 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUStandardUserDriver+Private.h 3 | // Sparkle 4 | // 5 | // Copyright © 2022 Sparkle Project. All rights reserved. 6 | // 7 | 8 | #ifndef SPUStandardUserDriver_Private_h 9 | #define SPUStandardUserDriver_Private_h 10 | 11 | #import 12 | #import 13 | 14 | @class NSWindowController; 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | SU_EXPORT @interface SPUStandardUserDriver (Private) 19 | 20 | /** 21 | Private API for accessing the active update alert's window controller. 22 | This is the window controller that shows the update's release notes and install choices. 23 | This can be accessed in -[SPUStandardUserDriverDelegate standardUserDriverWillHandleShowingUpdate:forUpdate:state:] 24 | */ 25 | @property (nonatomic, readonly, nullable) NSWindowController *activeUpdateAlert; 26 | 27 | @end 28 | 29 | NS_ASSUME_NONNULL_END 30 | 31 | #endif /* SPUStandardUserDriver_Private_h */ 32 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // SPUUserAgent+Private.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 11/12/21. 6 | // Copyright © 2021 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @class SUHost; 15 | 16 | SU_EXPORT NSString *SPUMakeUserAgentWithHost(SUHost *responsibleHost, NSString * _Nullable displayNameSuffix); 17 | 18 | SU_EXPORT NSString *SPUMakeUserAgentWithBundle(NSBundle *responsibleBundle, NSString * _Nullable displayNameSuffix); 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcastItem+Private.h 3 | // Sparkle 4 | // 5 | // Created by Mayur Pawashe on 4/30/21. 6 | // Copyright © 2021 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SUAppcastItem_Private_h 10 | #define SUAppcastItem_Private_h 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | // Available in SPUAppcastItemStateResolver.h (a private exposed header) 17 | @class SPUAppcastItemStateResolver; 18 | @class SUSignatures; 19 | 20 | @interface SUAppcastItem (Private) 21 | 22 | /** 23 | Initializes with data from a dictionary provided by the RSS class and state resolver 24 | 25 | This initializer method is intended to be marked "private" and discouraged from public usage. 26 | This method is available however. Talk to us to describe your use case and if you need to construct appcast items yourself. 27 | */ 28 | - (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL stateResolver:(SPUAppcastItemStateResolver *)stateResolver failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error; 29 | 30 | /** 31 | The DSA and EdDSA signatures along with their statuses. 32 | */ 33 | @property (readonly, nullable) SUSignatures *signatures; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | 39 | #endif /* SUAppcastItem_Private_h */ 40 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUInstallerLauncher+Private.h 3 | // SUInstallerLauncher+Private 4 | // 5 | // Created by Mayur Pawashe on 8/21/21. 6 | // Copyright © 2021 Sparkle Project. All rights reserved. 7 | // 8 | 9 | #ifndef SUInstallerLauncher_Private_h 10 | #define SUInstallerLauncher_Private_h 11 | 12 | #import 13 | 14 | // Chances are clients will need this too 15 | #import 16 | 17 | @class NSString; 18 | 19 | /** 20 | Private API for determining if the system needs authorization access to update a bundle path 21 | 22 | This API is not supported when used directly from a Sandboxed applications and will always return @c YES in that case. 23 | 24 | @param bundlePath The bundle path to test if authorization is needed when performing an update that replaces this bundle. 25 | @return @c YES if Sparkle thinks authorization is needed to update the @c bundlePath, otherwise @c NO. 26 | */ 27 | SU_EXPORT BOOL SPUSystemNeedsAuthorizationAccessForBundlePath(NSString *bundlePath); 28 | 29 | #endif /* SUInstallerLauncher_Private_h */ 30 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 21G115 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | Sparkle 11 | CFBundleIdentifier 12 | org.sparkle-project.Sparkle 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Sparkle 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 2.3.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleSupportedPlatforms 24 | 25 | MacOSX 26 | 27 | CFBundleVersion 28 | 2021 29 | DTCompiler 30 | com.apple.compilers.llvm.clang.1_0 31 | DTPlatformBuild 32 | 13F100 33 | DTPlatformName 34 | macosx 35 | DTPlatformVersion 36 | 12.3 37 | DTSDKBuild 38 | 21E226 39 | DTSDKName 40 | macosx12.3 41 | DTXcode 42 | 1341 43 | DTXcodeBuild 44 | 13F100 45 | LSMinimumSystemVersion 46 | 10.13 47 | 48 | 49 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css: -------------------------------------------------------------------------------- 1 | @media (prefers-color-scheme: dark) { 2 | html { 3 | color-scheme: dark; 4 | color: white; 5 | background: transparent; 6 | } 7 | :link { 8 | color: #419CFF; 9 | } 10 | :link:active { 11 | color: #FF1919; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/SUStatus.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "محدث البرنامج"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "معلومات عن الإصدار:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "تذكيري لاحقًا"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "تخطي هذا الإصدار"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "تثبيت التحديث"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "تنزيل التحديثات وتثبيتها تلقائيًا في المستقبل"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "عدم التحقق"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "هل تريد أن يتم التحقق من وجود تحديثات تلقائيًا؟"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "تضمين تقرير عن النظام دون ذكر معلومات عن المستخدم"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "التحقق تلقائيًا"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ca.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Actualització del programari"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Notes d'aquesta versió:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Recorda-m'ho més tard"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Omet aquesta versió"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instal·la l'actualització"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Descarrega i instal·la les actualitzacions automàticament en el futur"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Aktualizace aplikace"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Poznámky k vydání:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Připomenout později"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Přeskočit tuto verzi"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instalovat aktualizaci"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "V budoucnu stahovat a instalovat aktualizace automaticky"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Informace z anonymního systémového profilu pomáhají vývojářům lépe plánovat budoucí vývoj aplikace.\nBudete-li mít nějaký dotaz, obraťte se na nás.\n\nToto jsou informace, které budou odeslány:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nevyhledávat"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Vyhledávat aktualizace automaticky?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Odeslat anonymní systémový profil"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Automaticky vyhledávat"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Software Update"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Om denne udgivelse:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Påmind mig senere"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Spring over"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installer"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Hent og installer opdateringer automatisk i fremtiden"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Søg ikke"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Søg efter opdateringer automatisk?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Vedhæft anonym systemprofil"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Søg automatisk"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Softwareupdate"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Versionshinweise:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Später erinnern"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Diese Version überspringen"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installieren"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Updates in Zukunft automatisch laden und installieren"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = ""; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = ""; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Das anonymisierte Systemprofil unterstützt uns bei der zukünftigen Entwicklung. Bitte kontaktiere uns, wenn du Fragen hierzu hast.\n\nDiese Informationen würden an uns gesendet werden:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nicht suchen"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Automatisch nach Updates suchen?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Anonymisiertes Systemprofil übertragen"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Automatisch suchen"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Ενημέρωση προγράμματος"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Σημειώσεις Έκδοσης:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Υπενθύμιση Αργότερα"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Παράλειψη Έκδοσης"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Εγκατάσταση Ενημέρωσης"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Αυτόματη λήψη και εγκατάσταση ενημερώσεων στο μέλλον"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Οι ανώνυμες πληροφορίες του προφίλ του συστήματός σας, μας βοηθούν στο σχεδιασμό της μελλοντικής ανάπτυξης του προγράμματος. Παρακαλώ επικοινωνήστε μαζί μας άν έχετε ερωτήσεις.\n\nΑυτές είναι οι πληροφορίες που θα σταλούν σε εμάς:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Κανένας έλεγχος"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Αυτόματος έλεγχος για ενημερώσεις;"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Συμπερίληψη του ανώνυμου προφίλ του συστήματός σας"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Αυτόματος Ελεγχος"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 3 | "5.title" = "Software Update"; 4 | 5 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 6 | "170.title" = "Release Notes:"; 7 | 8 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 9 | "171.title" = "Remind Me Later"; 10 | 11 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 12 | "172.title" = "Skip This Version"; 13 | 14 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 15 | "173.title" = "Install Update"; 16 | 17 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 18 | "175.title" = "Automatically download and install updates in the future"; 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 3 | "43.title" = "Text Cell"; 4 | 5 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 6 | "45.title" = "Text Cell"; 7 | 8 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */ 9 | "OhZ-1K-DmA.title" = "Check Automatically"; 10 | 11 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */ 12 | "cCJ-V0-aTi.title" = "Don’t Check"; 13 | 14 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */ 15 | "gmh-T4-BO0.title" = "Check for updates automatically?"; 16 | 17 | /* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "179"; */ 18 | "179.title" = "DO NOT LOCALIZE"; 19 | 20 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */ 21 | "gz7-LM-gNf.title" = "Include anonymous system profile"; 22 | 23 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 24 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 25 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Actualización de software"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Notas de la versión:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Recordármelo"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "No instalar esta versión"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instalar actualización"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Descargar e instalar actualizaciones automáticamente"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "La información de perfil de sistema anónimo se usa para ayudarnos a planear el trabajo de desarrollo futuro. Por favor, póngase en contacto con nosotros si tiene preguntas sobre esto.\n\nEsta es la información que nos enviaría:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "No comprobar"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "¿Comprobar si hay actualizaciones automáticamente?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Incluir perfil de sistema anónimo"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Comprobar automáticamente"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Ohjelmiston pävitys"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Tietoa päivityksestä:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Muistuta myöhemmin"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Ohita tämä versio"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Asenna päivitys"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Hae ja asenna päivitykset jatkossa automaattisesti"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Älä tarkista"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Tarkista päivityksiä käynnistyksen yhteydessä?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Sisällytä nimetön järjestelmäprofiili"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Tarkista automaattisesti"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Mise à jour logiciel"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Notes de version :"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Pas maintenant"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Ignorer cette version"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installer"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Télécharger et installer automatiquement les mises à jour"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Les informations anonymes de profil système nous aident à planifier les futurs développements. Contactez-nous pour toute question à ce sujet.\n\nCi-dessous figurent les informations qui seront transmises :"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Ne pas vérifier"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Rechercher automatiquement les mises à jour ?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Avec transmission anonyme de mon profil système"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Vérifier automatiquement"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/he.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "עדכון תכנה"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "פרטי גרסה:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "הזכר לי מאוחר יותר"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "דלג על גרסה זו"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "התקן עדכון"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "הורד והתקן עדכונים אוטומטית גם בעתיד"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Aktualiziranje softvera"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Napomene uz izdanje:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Podsjeti me kasnije"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Zanemari ovu verziju"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instaliraj nadogradnju"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Ubuduće preuzmi i instaliraj nadogradnje automatski"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonimizirani podaci profila susatava pomažu nam planirati budući razvoj. Kontaktiraj nas, ako imaš pitanja o tome.\n\nŠalju se sljedeći podaci:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nemoj provjeravati"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Automatski provjeriti nadogradnje?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Uključi anonimizirane podatke o profilu sustava"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Provjeri automatski"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Szoftverfrissítés"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Változások az előző verzióhoz képest:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Emlékeztessen később"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Verzió kihagyása"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Telepítés"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "A jövőben automatikusan töltse le és telepítse a frissítéseket"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Manuális keresés"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Keresse automatikusan a frissítéseket?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Anonim rendszerinformáció küldése"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Automatikus keresés"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Hugbúnaðaruppfærsla"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Útgáfupunktar:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Áminntu mig síðar"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Sleppa þessari útgáfu"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Innsetja"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Sækja og innsetja uppfærslur sjálfkrafa framvegis"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Upplýsingar úr nafnlausum kerfisskýrslum eru notaðar til að hjálpa okkur við framtíðarþróun hugbúnaðarins. Ekki hika við að hafa samband ef spurningar vakna um þetta.\n\nÞetta eru upplýsingarnar sem yrðu sendar:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Ekki kanna"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Athuga sjálfkrafa með uppfærslur?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Innifela nafnlausa kerfisskýrslu"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Kanna sjálfkrafa"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Aggiornamento Software"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Note di rilascio:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Ricordamelo più tardi"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Ignora questa versione"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installa"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "In futuro scarica e installa automaticamente gli aggiornamenti"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Le informazioni del profilo di sistema anomino sono utilizzate per aiutarci in futuri lavori di sviluppo. Contattaci se hai dei quesiti sull’argomento.\n\nQueste sono le informazioni che verrebbero inviate:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Non controllare"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Controllo automaticamente gli aggiornamenti?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Include profilo di sistema anonimo"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Controlla Automaticamente"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "ソフトウェア・アップデート"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "リリースノート:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "後で通知"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "このバージョンはスキップ"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "アップデートをインストール"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "今後はアップデートのダウンロードとインストールを自動で行う"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "匿名のシステムプロファイル情報は、今後の開発の参考にさせていただきます。この件に関してご質問があればご連絡下さい。\n\n以下の情報が送信されます:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "確認しない"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "アップデートを自動で確認しますか?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "匿名のシステム情報を含める"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "自動で確認"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Software Update"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "배포 정보:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "나중에"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "이 버전 건너뛰기"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "업데이트 설치"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "나중에 업데이트 자동으로 다운로드 및 설치"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "익명으로 보내지는 시스템 정보로 차후 프로그램 개발에 도움이 될 수 있습니다. 질문이 있으시면 연락 주십시오.\n\n아래 정보가 전송될 것입니다."; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "취소"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "자동으로 업데이트 확인할까요?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "익명 시스템 정보 포함"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "자동으로 확인"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Programoppdatering"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Om oppdateringen:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Utsett"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Hopp over"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installer"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Last ned og installer automatisk i fremtiden"; 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Den anonyme systemprofilen hjelper oss med å planlegge fremtidig utviklingsarbeid. Ta gjerne kontakt med oss hvis du har spørsmål om dette.
\nFølgende innhold vil bli sendt:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Ikke søk"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Søk etter oppdateringer automatisk?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Inkluder anonym systemprofil"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Søk automatisk"; 21 | 22 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Software-update"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Versiegegevens:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Herinner mij later"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Sla deze versie over"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installeer update"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Download en installeer updates voortaan automatisch"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 2 | "183.title" = "Aan de hand van anonieme informatie over het systeemprofiel kunnen wij toekomstige ontwikkelingswerkzaamheden beter plannen. Neem contact met ons op als je hierover vragen hebt.\n\nDit is de informatie die wordt verzonden:"; 3 | 4 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 5 | "cCJ-V0-aTi.title" = "Zoek niet"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 8 | "gmh-T4-BO0.title" = "Automatisch zoeken naar updates?"; 9 | 10 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 11 | "gz7-LM-gNf.title" = "Voeg anoniem systeemprofiel bij"; 12 | 13 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 14 | "OhZ-1K-DmA.title" = "Zoek automatisch"; 15 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Uaktualnienie oprogramowania"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Szczegóły wydania:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Przypomnij później"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Pomiń tę wersję"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Zainstaluj teraz"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Automatycznie pobierz i zainstaluj przyszłe uaktualnienia"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nie sprawdzaj"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Sprawdzać automatycznie uaktualnienia?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Załącz anonimowe informacje o systemie"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Sprawdzaj automatycznie"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Atualização de Software"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Notas do Lançamento:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Mais Tarde"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Ignorar Esta Versão"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instalar Atualização"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Baixar e instalar atualizações futuras automaticamente"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "As informações anônimas do sistema são usadas para nos ajudar a planejar o desenvolvimento futuro do aplicativo. Contate-nos caso tenha dúvidas sobre este procedimento.\n\nAs seguintes informações seriam enviadas:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Não Buscar"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "cfa-j0-Ya4"; */ 14 | "cfa-j0-Ya4.title" = ""; 15 | 16 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 17 | "gmh-T4-BO0.title" = "Buscar atualizações automaticamente?"; 18 | 19 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 20 | "gz7-LM-gNf.title" = "Incluir perfil anônimo do sistema"; 21 | 22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 23 | "OhZ-1K-DmA.title" = "Buscar Automaticamente"; 24 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Actualização de Software"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Notas de lançamento:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Lembrar mais tarde"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Saltar esta versão"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instalar actualização"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "No futuro, transferir e instalar actualizações automaticamente"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "A informação anónima do perfil de sistema é usada para no futuro nos ajudar a planear o trabalho de desenvolvimento. Por favor contacte-nos se tiver alguma questão acerca deste assunto.\n\nEsta é a informação que seria enviada:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Não procurar"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Procurar actualizações automaticamente?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Incluir perfil de sistema anónimo"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Procurar automaticamente"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Actualizarea aplicației"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Note de ediție:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Amintește-mi mai târziu"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Sari peste…"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Instalează actualizarea"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "În viitor descarcă și instalează în automat actualizările"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nu verifica"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Verifică pentru actualizări în mod automat?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Include profil anomin de sistem"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Verifică în mod automat"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Обновление программного обеспечения"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Заметки о выпуске:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Напоминать позже"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Пропустить эту версию"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Установить обновление"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Автоматически загружать и устанавливать обновления в будущем"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Использование анонимного профиля системы помогает нам в планировании будущей работы по разработке. Если у вас есть какие-либо вопросы по этой теме, обращайтесь к нам.\n\nЭто информация, предназначенная для отправления:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Не проверять"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Выполнять автоматическую проверку наличия обновлений?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Включить анонимный профиль системы"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Проверять автоматически"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Aktualizácia softvéru"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Poznámky k vydaniu:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Pripomenúť neskôr"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Vynechať túto verziu"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Nainštalovať"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "V budúcnosti aktualizácie preberať a inštalovať automaticky"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonymný profil systému nám umožní zlepšiť plánovanie budúceho vývoja aplikácie. Ak máte ohľadom tohto akékoľvek otázky, neváhajte a kontaktujte nás.\n\nOdosielané budú nasledujúce informácie:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Nekontrolovať"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Kontrolovať aktualizácie automaticky?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Zahrnúť anonymný profil systému"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Kontrolovať automaticky"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Posodabljanje programske opreme"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Opombe ob izdaji:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Spomni me kasneje"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Preskoči to verzijo"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Namesti posodobitev"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "V prihodnje samodejno nameščaj posodobitve"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonimni profil sistema se uporablja za načrtovanje nadaljnega razvoja programa. V primeru vprašanj nas lahko kontaktirate.\n\nPošljejo se sledeče informacije:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Ne preverjaj"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Naj občasno preverjam, če so na voljo posodobitve?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Vključi anonimni profil sistema"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Samodejno preverjaj"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Programuppdatering"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Versionsinformation:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Påminn mig senare"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Hoppa över denna version"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Installera uppdatering"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Hämta och installera nya uppdateringar automatiskt i framtiden."; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Textcell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Textcell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Anonym systemprofilinformation används för att hjälpa oss att planera framtida utvecklingsarbete. Vänligen kontakta oss ifall du har några frågot om detta.\n\nDetta är informationen som skulle sändas:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Kontrollera inte"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Leta efter uppdateringar automatiskt?\n"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Inkludera anonym systemprofil"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Kontrollera automatiskt"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "อัพเดทซอฟต์แวร์"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Release Notes:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "เตือนในภายหลัง"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "ข้ามเวอร์ชั่นนี้"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "ติดตั้งอัพเดท"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "ดาวน์โหลดและติดตั้งอัพเดทโดยอัตโนมัติในอนาคต"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "ข้อมูลระบบแบบนิรนามช่วยในการวางแผนพัฒนาแอปพลิเคชันของเราในอนาคต กรุณาติดต่อเราถ้าคุณมีข้อสงสัยในเรื่องนี้\n\nนี่คือข้อมูลที่จะถูกส่งไป:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "ไม่ต้องตรวจสอบ"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "ตรวจสอบอัพเดทอัตโนมัติ?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "ส่งข้อมูลระบบแบบนิรนาม"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "ตรวจสอบโดยอัตโนมัติ"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Software-Aktualisierung"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Sürüm Hakkında:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Sonra Hatırlat"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Bu Sürümü Geç"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Kur"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Bundan sonra güncellemeleri kendiliğinden indir ve kur"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Gönderdiğiniz anonim sistem bilgileri bu yazılımın geliştirilmesi için kullanılacaktır. Konu ile ilgili ayrıntılı bilgi için lütfen bizimle bağlantıya geçiniz. Göndereceğiniz Bilgiler:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Arama"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Güncellemeler otomatik olarak aransın mı?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Sistem bilgilerini kimlik gizlenmiş olarak gönder"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Otomatik Olarak Ara"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "Оновлення програмного забезпечення"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "Примітки про нову версію:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "Нагадати пізніше"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "Пропустити цю версію"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "Встановити оновлення"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "Автоматично завантажувати та встановлювати оновлення у майбутньому"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "Використання анонімного профілю системи допомагає нам у планування майбутньої розробки. Якщо у вас виникли питання щодо цього, звертайтесь до нас.\n\nІнформація, що буде надіслано:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "Не перервіряти"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "Виконувати автоматичну перевірку оновлень?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "Автоматично надсилати профіль системи"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "Перевіряти автоматично"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "软件更新"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "更新信息:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "稍后提示我"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "跳过这个版本"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "安装更新"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "以后自动下载并安装更新"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "无记名系统概况信息被用于帮助我们安排将来的开发工作。如果对此存在疑问请联系我们。\n\n这是将要被发送的信息::"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "不核查"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "自动核查更新?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "包括无记名系统概况"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "自动核查"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdateAlert.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ 2 | "5.title" = "軟體更新"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ 5 | "170.title" = "更新事項:"; 6 | 7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ 8 | "171.title" = "暫緩提醒"; 9 | 10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ 11 | "172.title" = "跳過此版本"; 12 | 13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ 14 | "173.title" = "安裝更新項目"; 15 | 16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ 17 | "175.title" = "自動下載並安裝未來的更新項目"; 18 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings: -------------------------------------------------------------------------------- 1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ 2 | "43.title" = "Text Cell"; 3 | 4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ 5 | "45.title" = "Text Cell"; 6 | 7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ 8 | "183.title" = "匿名系統描述資訊可用來協助我們計畫未來的開發工作。若您有任何相關問題,請與我們聯繫。\n\n以下是會傳送的資訊:"; 9 | 10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */ 11 | "cCJ-V0-aTi.title" = "不要檢查"; 12 | 13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */ 14 | "gmh-T4-BO0.title" = "自動檢查更新項目?"; 15 | 16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */ 17 | "gz7-LM-gNf.title" = "包含匿名的系統描述資料"; 18 | 19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */ 20 | "OhZ-1K-DmA.title" = "自動檢查"; 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 21G115 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | Updater 11 | CFBundleIdentifier 12 | org.sparkle-project.Sparkle.Updater 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Updater 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 2.3.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleSupportedPlatforms 24 | 25 | MacOSX 26 | 27 | CFBundleVersion 28 | 2021 29 | DTCompiler 30 | com.apple.compilers.llvm.clang.1_0 31 | DTPlatformBuild 32 | 13F100 33 | DTPlatformName 34 | macosx 35 | DTPlatformVersion 36 | 12.3 37 | DTSDKBuild 38 | 21E226 39 | DTSDKName 40 | macosx12.3 41 | DTXcode 42 | 1341 43 | DTXcodeBuild 44 | 13F100 45 | LSApplicationCategoryType 46 | public.app-category.utilities 47 | LSMinimumSystemVersion 48 | 10.13 49 | LSUIElement 50 | 1 51 | NSPrincipalClass 52 | NSApplication 53 | 54 | 55 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/Base.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/Base.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ca.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ca.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/el.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/el.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fa.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fa.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fi.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fi.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/he.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/he.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/hr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/hr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/hu.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/hu.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ko.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ko.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/nb.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/nb.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pt-BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pt-BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pt-PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/pt-PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/Updater.app/Contents/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 21G115 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | Downloader 11 | CFBundleIdentifier 12 | org.sparkle-project.Downloader 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Downloader 17 | CFBundlePackageType 18 | XPC! 19 | CFBundleShortVersionString 20 | 2.3.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleSupportedPlatforms 24 | 25 | MacOSX 26 | 27 | CFBundleVersion 28 | 2021 29 | DTCompiler 30 | com.apple.compilers.llvm.clang.1_0 31 | DTPlatformBuild 32 | 13F100 33 | DTPlatformName 34 | macosx 35 | DTPlatformVersion 36 | 12.3 37 | DTSDKBuild 38 | 21E226 39 | DTSDKName 40 | macosx12.3 41 | DTXcode 42 | 1341 43 | DTXcodeBuild 44 | 13F100 45 | LSMinimumSystemVersion 46 | 10.13 47 | NSAppTransportSecurity 48 | 49 | NSAllowsArbitraryLoads 50 | 51 | 52 | NSHumanReadableCopyright 53 | Copyright © 2016 Sparkle Project. All rights reserved. 54 | XPCService 55 | 56 | RunLoopType 57 | NSRunLoop 58 | ServiceType 59 | Application 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | files2 8 | 9 | rules 10 | 11 | ^Resources/ 12 | 13 | ^Resources/.*\.lproj/ 14 | 15 | optional 16 | 17 | weight 18 | 1000 19 | 20 | ^Resources/.*\.lproj/locversion.plist$ 21 | 22 | omit 23 | 24 | weight 25 | 1100 26 | 27 | ^Resources/Base\.lproj/ 28 | 29 | weight 30 | 1010 31 | 32 | ^version.plist$ 33 | 34 | 35 | rules2 36 | 37 | .*\.dSYM($|/) 38 | 39 | weight 40 | 11 41 | 42 | ^(.*/)?\.DS_Store$ 43 | 44 | omit 45 | 46 | weight 47 | 2000 48 | 49 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 50 | 51 | nested 52 | 53 | weight 54 | 10 55 | 56 | ^.* 57 | 58 | ^Info\.plist$ 59 | 60 | omit 61 | 62 | weight 63 | 20 64 | 65 | ^PkgInfo$ 66 | 67 | omit 68 | 69 | weight 70 | 20 71 | 72 | ^Resources/ 73 | 74 | weight 75 | 20 76 | 77 | ^Resources/.*\.lproj/ 78 | 79 | optional 80 | 81 | weight 82 | 1000 83 | 84 | ^Resources/.*\.lproj/locversion.plist$ 85 | 86 | omit 87 | 88 | weight 89 | 1100 90 | 91 | ^Resources/Base\.lproj/ 92 | 93 | weight 94 | 1010 95 | 96 | ^[^/]+$ 97 | 98 | nested 99 | 100 | weight 101 | 10 102 | 103 | ^embedded\.provisionprofile$ 104 | 105 | weight 106 | 20 107 | 108 | ^version\.plist$ 109 | 110 | weight 111 | 20 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 21G115 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | Installer 11 | CFBundleIdentifier 12 | org.sparkle-project.InstallerLauncher 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Installer 17 | CFBundlePackageType 18 | XPC! 19 | CFBundleShortVersionString 20 | 2.3.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleSupportedPlatforms 24 | 25 | MacOSX 26 | 27 | CFBundleVersion 28 | 2021 29 | DTCompiler 30 | com.apple.compilers.llvm.clang.1_0 31 | DTPlatformBuild 32 | 13F100 33 | DTPlatformName 34 | macosx 35 | DTPlatformVersion 36 | 12.3 37 | DTSDKBuild 38 | 21E226 39 | DTSDKName 40 | macosx12.3 41 | DTXcode 42 | 1341 43 | DTXcodeBuild 44 | 13F100 45 | LSMinimumSystemVersion 46 | 10.13 47 | NSHumanReadableCopyright 48 | Copyright © 2016 Sparkle Project. All rights reserved. 49 | XPCService 50 | 51 | JoinExistingSession 52 | 53 | ServiceType 54 | Application 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer -------------------------------------------------------------------------------- /Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | files2 8 | 9 | rules 10 | 11 | ^Resources/ 12 | 13 | ^Resources/.*\.lproj/ 14 | 15 | optional 16 | 17 | weight 18 | 1000 19 | 20 | ^Resources/.*\.lproj/locversion.plist$ 21 | 22 | omit 23 | 24 | weight 25 | 1100 26 | 27 | ^Resources/Base\.lproj/ 28 | 29 | weight 30 | 1010 31 | 32 | ^version.plist$ 33 | 34 | 35 | rules2 36 | 37 | .*\.dSYM($|/) 38 | 39 | weight 40 | 11 41 | 42 | ^(.*/)?\.DS_Store$ 43 | 44 | omit 45 | 46 | weight 47 | 2000 48 | 49 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 50 | 51 | nested 52 | 53 | weight 54 | 10 55 | 56 | ^.* 57 | 58 | ^Info\.plist$ 59 | 60 | omit 61 | 62 | weight 63 | 20 64 | 65 | ^PkgInfo$ 66 | 67 | omit 68 | 69 | weight 70 | 20 71 | 72 | ^Resources/ 73 | 74 | weight 75 | 20 76 | 77 | ^Resources/.*\.lproj/ 78 | 79 | optional 80 | 81 | weight 82 | 1000 83 | 84 | ^Resources/.*\.lproj/locversion.plist$ 85 | 86 | omit 87 | 88 | weight 89 | 1100 90 | 91 | ^Resources/Base\.lproj/ 92 | 93 | weight 94 | 1010 95 | 96 | ^[^/]+$ 97 | 98 | nested 99 | 100 | weight 101 | 10 102 | 103 | ^embedded\.provisionprofile$ 104 | 105 | weight 106 | 20 107 | 108 | ^version\.plist$ 109 | 110 | weight 111 | 20 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | B -------------------------------------------------------------------------------- /Sparkle.framework/XPCServices: -------------------------------------------------------------------------------- 1 | Versions/Current/XPCServices -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | /* 2 | * FanControl 3 | * 4 | * Copyright (c) 2006-2012 Hendrik Holtmann 5 | * 6 | * main.m - MacBook(Pro) FanControl application 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #import 24 | #include "smc.h" 25 | 26 | 27 | int main(int argc, char *argv[]) 28 | { 29 | return NSApplicationMain(argc, (const char **) argv); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /smc-command/Makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | CFLAGS = -mmacosx-version-min=10.4 -Wall -g -framework IOKit 3 | CPPFLAGS = -DCMD_TOOL_BUILD 4 | 5 | all: smc 6 | 7 | smc: smc.o 8 | $(CC) $(CFLAGS) -o smc smc.o 9 | 10 | smc.o: smc.h smc.c 11 | $(CC) $(CPPFLAGS) -c smc.c 12 | 13 | clean: 14 | -rm -f smc smc.o 15 | -------------------------------------------------------------------------------- /smc-command/README.md: -------------------------------------------------------------------------------- 1 | Warning 2 | ------- 3 | This tool will allow you to write values to the SMC which could irreversably damage your 4 | computer. Manipulating the fans could cause overheating and permanent damange. 5 | *USE THIS PROGRAM AT YOUR OWN RISK!* 6 | 7 | Background 8 | ---------- 9 | I created this program because I was unhappy with my MacBook Pro running so hot and it 10 | annoyed me that Apple didn't make any way for end users to set fan preferences. 11 | 12 | This program will allow you to read and write values to the SMC using the AppleSMC kernel 13 | extension. The purpose of this is to show how to talk to the controller. I've made no 14 | effort to make it user friendly, however I'm releasing this in hopes that someone will 15 | take the next logical step and make a nice *free* GUI. I think it's absurd that some 16 | people are trying to charge for simple programs to manipulate this type of data. 17 | 18 | In my testing I've been able to lower the average system temperature by 15C just 19 | by running the fans at a low speed like 3500 RPM, which you can barely hear. 20 | 21 | Usage 22 | ------ 23 | `smc -h` 24 | 25 | 26 | ```bash 27 | Apple System Management Control (SMC) tool 0.01 28 | 29 | Usage: 30 | ./smc [options] 31 | -f : fan info decoded 32 | -h : help 33 | -k : key to manipulate 34 | -l : list all keys and values 35 | -r : read the value of a key 36 | -w : write the specified value to a key 37 | -v : version 38 | ``` 39 | 40 | Fan control 41 | ----------- 42 | To decode: 43 | `smc -f` 44 | 45 | To manually query and control: 46 | `FNum` - tells you how many fans are in the system 47 | 48 | To read data from each fan: 49 | ```F0Ac - Fan current speed 50 | F0Mn - Fan minimum speed 51 | F0Mx - Fan maximum speed 52 | F0Sf - Fan safe speed 53 | F0Tg - Fan target speed 54 | FS! - See if fans are in automatic or forced mode 55 | ``` 56 | 57 | [Replace `0` with fan #. In the MacBook Pro there two fans so this applies for `0` (left) 58 | and `1` (right).] 59 | 60 | To set a fan to a specific speed: 61 | 62 | `FS!` Sets "force mode" to fan. 63 | - Bit 0 (right to left) is fan 0, bit 1 is fan 1, etc. 64 | `F0Tg` - Sets target speed, make sure you fp78 encode it (left shift by 2) 65 | 66 | 67 | For example, to force both fans to 3500 RPM: 68 | `python -c "print hex(3500 << 2)"` 69 | 0x36b0 70 | 71 | `smc -k "FS! " -w 0003` 72 | `smc -k F0Tg -w 36b0` 73 | `smc -k F1Tg -w 36b0` 74 | 75 | ..to force fan 0 to 4000 RPM and leave fan 1 in automatic mode: 76 | `smc -k "FS! " -w 0001` 77 | `smc -k F0Tg -w 3e80` 78 | 79 | ..to return both fans to automatic mode: 80 | `smc -k "FS! " -w 0000` 81 | 82 | Temperature sensors 83 | ------------------- 84 | TB0T 85 | TC0D 86 | TC0P 87 | TM0P 88 | TN0P 89 | Th0H 90 | Ts0P 91 | TN1P 92 | Th1H 93 | 94 | Light sensors 95 | ------------- 96 | ALV0 - Left 97 | ALV1 - Right 98 | 99 | Motion sensors 100 | -------------- 101 | MO_X 102 | MO_Y 103 | MO_Z 104 | -------------------------------------------------------------------------------- /smc-command/smc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Apple System Management Control (SMC) Tool 3 | * Copyright (C) 2006 devnull 4 | * Portions Copyright (C) 2013 Michael Wilber 5 | * 6 | * This program is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License 8 | * as published by the Free Software Foundation; either version 2 9 | * of the License, or (at your option) any later version. 10 | 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #ifndef __SMC_H__ 22 | #define __SMC_H__ 23 | #endif 24 | 25 | #define CMD_TOOL 26 | #define VERSION "0.01" 27 | 28 | #define OP_NONE 0 29 | #define OP_LIST 1 30 | #define OP_READ 2 31 | #define OP_READ_FAN 3 32 | #define OP_WRITE 4 33 | #define OP_READ_TEMPS 5 34 | 35 | #define KERNEL_INDEX_SMC 2 36 | 37 | #define SMC_CMD_READ_BYTES 5 38 | #define SMC_CMD_WRITE_BYTES 6 39 | #define SMC_CMD_READ_INDEX 8 40 | #define SMC_CMD_READ_KEYINFO 9 41 | #define SMC_CMD_READ_PLIMIT 11 42 | #define SMC_CMD_READ_VERS 12 43 | 44 | #define DATATYPE_FLT "flt " 45 | #define DATATYPE_FP1F "fp1f" 46 | #define DATATYPE_FP4C "fp4c" 47 | #define DATATYPE_FP5B "fp5b" 48 | #define DATATYPE_FP6A "fp6a" 49 | #define DATATYPE_FP79 "fp79" 50 | #define DATATYPE_FP88 "fp88" 51 | #define DATATYPE_FPA6 "fpa6" 52 | #define DATATYPE_FPC4 "fpc4" 53 | #define DATATYPE_FPE2 "fpe2" 54 | 55 | #define DATATYPE_SP1E "sp1e" 56 | #define DATATYPE_SP3C "sp3c" 57 | #define DATATYPE_SP4B "sp4b" 58 | #define DATATYPE_SP5A "sp5a" 59 | #define DATATYPE_SP69 "sp69" 60 | #define DATATYPE_SP78 "sp78" 61 | #define DATATYPE_SP87 "sp87" 62 | #define DATATYPE_SP96 "sp96" 63 | #define DATATYPE_SPB4 "spb4" 64 | #define DATATYPE_SPF0 "spf0" 65 | 66 | #define DATATYPE_UINT8 "ui8 " 67 | #define DATATYPE_UINT16 "ui16" 68 | #define DATATYPE_UINT32 "ui32" 69 | 70 | #define DATATYPE_SI8 "si8 " 71 | #define DATATYPE_SI16 "si16" 72 | 73 | #define DATATYPE_FLT "flt " 74 | 75 | #define DATATYPE_PWM "{pwm" 76 | 77 | typedef struct { 78 | char major; 79 | char minor; 80 | char build; 81 | char reserved[1]; 82 | UInt16 release; 83 | } SMCKeyData_vers_t; 84 | 85 | typedef struct { 86 | UInt16 version; 87 | UInt16 length; 88 | UInt32 cpuPLimit; 89 | UInt32 gpuPLimit; 90 | UInt32 memPLimit; 91 | } SMCKeyData_pLimitData_t; 92 | 93 | typedef struct { 94 | UInt32 dataSize; 95 | UInt32 dataType; 96 | char dataAttributes; 97 | } SMCKeyData_keyInfo_t; 98 | 99 | typedef unsigned char SMCBytes_t[32]; 100 | 101 | static UInt8 fannum[] = "0123456789ABCDEFGHIJ"; 102 | 103 | typedef struct { 104 | UInt32 key; 105 | SMCKeyData_vers_t vers; 106 | SMCKeyData_pLimitData_t pLimitData; 107 | SMCKeyData_keyInfo_t keyInfo; 108 | char result; 109 | char status; 110 | char data8; 111 | UInt32 data32; 112 | SMCBytes_t bytes; 113 | } SMCKeyData_t; 114 | 115 | typedef char UInt32Char_t[5]; 116 | 117 | typedef struct { 118 | UInt32Char_t key; 119 | UInt32 dataSize; 120 | UInt32Char_t dataType; 121 | SMCBytes_t bytes; 122 | } SMCVal_t; 123 | 124 | UInt32 _strtoul(char *str, int size, int base); 125 | float _strtof(unsigned char *str, int size, int e); 126 | 127 | // Exclude command-line only code from smcFanControl UI 128 | #ifdef CMD_TOOL 129 | 130 | void smc_init(); 131 | void smc_close(); 132 | kern_return_t SMCReadKey(UInt32Char_t key, SMCVal_t *val); 133 | kern_return_t SMCWriteSimple(UInt32Char_t key,char *wvalue,io_connect_t conn); 134 | 135 | #endif //#ifdef CMD_TOOL 136 | 137 | kern_return_t SMCOpen(io_connect_t *conn); 138 | kern_return_t SMCClose(io_connect_t conn); 139 | kern_return_t SMCReadKey2(UInt32Char_t key, SMCVal_t *val,io_connect_t conn); 140 | 141 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/project.xcworkspace/xcshareddata/smcFanControl.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | CCD232C5-262E-4360-A679-8934A6664BBF 9 | IDESourceControlProjectName 10 | smcFanControl 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED 14 | https://github.com/hholtmann/smcFanControl.git 15 | 16 | IDESourceControlProjectPath 17 | smcFanControl.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED 21 | ../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/hholtmann/smcFanControl.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 4B1FAC2C01D9B3B4FE6C32B0274DA6C3D41C10ED 36 | IDESourceControlWCCName 37 | smcFanControl 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hholtmann/smcFanControl/e1bd672bcd2d72eddff9b6da7b9cae38e35c4206/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEWorkspaceUserSettings_BuildLocationStyle 6 | 2 7 | IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 8 | 9 | IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 38 | 39 | 40 | 42 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/smcFanControl.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 55 | 57 | 63 | 64 | 65 | 66 | 67 | 68 | 74 | 76 | 82 | 83 | 84 | 85 | 87 | 88 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /smcFanControl.xcodeproj/xcuserdata/hendrikh.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | smc-command.xcscheme 8 | 9 | orderHint 10 | 1 11 | 12 | smcFanControl.xcscheme 13 | 14 | orderHint 15 | 0 16 | 17 | 18 | SuppressBuildableAutocreation 19 | 20 | 8924ECED15AC96E70031730C 21 | 22 | primary 23 | 24 | 25 | 8D1107260486CEB800E47090 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | --------------------------------------------------------------------------------