Browse Source

MERGE HEAD

Localization
Abhishek Banthia 9 years ago
parent
commit
7f3ff99160
  1. 37
      Clocker.xcodeproj/project.pbxproj
  2. 18
      Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  3. 2
      Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme
  4. 8
      Clocker/ApplicationDelegate.m
  5. 0
      Clocker/Base.lproj/MainMenu.xib
  6. 0
      Clocker/Base.lproj/Panel.xib
  7. 18
      Clocker/Base.lproj/PreferencesWindow.xib
  8. 13
      Clocker/PanelController.m
  9. 4
      Clocker/PreferencesWindowController.m
  10. 16
      Clocker/en.lproj/Localizable.strings
  11. 69
      Clocker/en.lproj/PreferencesWindow.strings
  12. 17
      Clocker/fr.lproj/Localizable.strings
  13. 20
      Clocker/fr.lproj/PreferencesWindow.xib

37
Clocker.xcodeproj/project.pbxproj

@ -7,6 +7,7 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
9A2000D11BFBD472002BFDE8 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9A2000CF1BFBD472002BFDE8 /* Localizable.strings */; settings = {ASSET_TAGS = (); }; };
9A4379251BEC223900F4E27F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379211BEC223900F4E27F /* Security.framework */; settings = {ASSET_TAGS = (); }; }; 9A4379251BEC223900F4E27F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379211BEC223900F4E27F /* Security.framework */; settings = {ASSET_TAGS = (); }; };
9A4379261BEC223900F4E27F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379221BEC223900F4E27F /* SystemConfiguration.framework */; settings = {ASSET_TAGS = (); }; }; 9A4379261BEC223900F4E27F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379221BEC223900F4E27F /* SystemConfiguration.framework */; settings = {ASSET_TAGS = (); }; };
9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379231BEC223900F4E27F /* Fabric.framework */; settings = {ASSET_TAGS = (); }; }; 9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4379231BEC223900F4E27F /* Fabric.framework */; settings = {ASSET_TAGS = (); }; };
@ -35,6 +36,12 @@
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
9A2000CC1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Clocker/Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
9A2000CD1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Panel.xib; sourceTree = "<group>"; };
9A2000CE1BFBD3D7002BFDE8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9A2000D01BFBD472002BFDE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Clocker/en.lproj/Localizable.strings; sourceTree = "<group>"; };
9A2000D21BFBD47C002BFDE8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Clocker/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
9A2000D41BFBEE45002BFDE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PreferencesWindow.strings; sourceTree = "<group>"; };
9A4379211BEC223900F4E27F /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Security.framework; sourceTree = "<group>"; }; 9A4379211BEC223900F4E27F /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Security.framework; sourceTree = "<group>"; };
9A4379221BEC223900F4E27F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SystemConfiguration.framework; sourceTree = "<group>"; }; 9A4379221BEC223900F4E27F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SystemConfiguration.framework; sourceTree = "<group>"; };
9A4379231BEC223900F4E27F /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = "<group>"; }; 9A4379231BEC223900F4E27F /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = "<group>"; };
@ -67,9 +74,6 @@
9A8605D11BEC155B00A810A4 /* Status@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Status@2x.png"; path = "Clocker/Status@2x.png"; sourceTree = "<group>"; }; 9A8605D11BEC155B00A810A4 /* Status@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Status@2x.png"; path = "Clocker/Status@2x.png"; sourceTree = "<group>"; };
9A8605D21BEC155B00A810A4 /* StatusHighlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = StatusHighlighted.png; path = Clocker/StatusHighlighted.png; sourceTree = "<group>"; }; 9A8605D21BEC155B00A810A4 /* StatusHighlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = StatusHighlighted.png; path = Clocker/StatusHighlighted.png; sourceTree = "<group>"; };
9A8605D31BEC155B00A810A4 /* StatusHighlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "StatusHighlighted@2x.png"; path = "Clocker/StatusHighlighted@2x.png"; sourceTree = "<group>"; }; 9A8605D31BEC155B00A810A4 /* StatusHighlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "StatusHighlighted@2x.png"; path = "Clocker/StatusHighlighted@2x.png"; sourceTree = "<group>"; };
9A8605DE1BEC15C400A810A4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = Clocker/en.lproj/MainMenu.xib; sourceTree = "<group>"; };
9ABA38AD1BFAD7F80073EA4D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/Panel.xib; sourceTree = "<group>"; };
9ABA38B01BFAD83F0073EA4D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
9ABA38B31BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Panel.xib; sourceTree = "<group>"; }; 9ABA38B31BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/Panel.xib; sourceTree = "<group>"; };
9ABA38B41BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/PreferencesWindow.xib; sourceTree = "<group>"; }; 9ABA38B41BFAD8520073EA4D /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = fr.lproj/PreferencesWindow.xib; sourceTree = "<group>"; };
DD4F7C0413C30F9F00825C6E /* Clocker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Clocker.app; sourceTree = BUILT_PRODUCTS_DIR; }; DD4F7C0413C30F9F00825C6E /* Clocker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Clocker.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -97,6 +101,14 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
9A2000C61BFBCEF6002BFDE8 /* Localization Strings */ = {
isa = PBXGroup;
children = (
9A2000CF1BFBD472002BFDE8 /* Localizable.strings */,
);
name = "Localization Strings";
sourceTree = "<group>";
};
9A8605E01BEC15F400A810A4 /* XIB */ = { 9A8605E01BEC15F400A810A4 /* XIB */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -171,6 +183,7 @@
children = ( children = (
9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */, 9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */,
9A43792D1BEC256200F4E27F /* Media.xcassets */, 9A43792D1BEC256200F4E27F /* Media.xcassets */,
9A2000C61BFBCEF6002BFDE8 /* Localization Strings */,
9A8605E01BEC15F400A810A4 /* XIB */, 9A8605E01BEC15F400A810A4 /* XIB */,
9A8605E11BEC160700A810A4 /* Images */, 9A8605E11BEC160700A810A4 /* Images */,
9A8605E41BEC164C00A810A4 /* Main */, 9A8605E41BEC164C00A810A4 /* Main */,
@ -253,6 +266,7 @@
knownRegions = ( knownRegions = (
en, en,
fr, fr,
Base,
); );
mainGroup = DD4F7BF913C30F9F00825C6E; mainGroup = DD4F7BF913C30F9F00825C6E;
productRefGroup = DD4F7C0513C30F9F00825C6E /* Products */; productRefGroup = DD4F7C0513C30F9F00825C6E /* Products */;
@ -274,6 +288,7 @@
9A8605D91BEC155B00A810A4 /* Status.png in Resources */, 9A8605D91BEC155B00A810A4 /* Status.png in Resources */,
9ABA38AC1BFAD7F80073EA4D /* Panel.xib in Resources */, 9ABA38AC1BFAD7F80073EA4D /* Panel.xib in Resources */,
9A43792E1BEC256200F4E27F /* Media.xcassets in Resources */, 9A43792E1BEC256200F4E27F /* Media.xcassets in Resources */,
9A2000D11BFBD472002BFDE8 /* Localizable.strings in Resources */,
9A8605DC1BEC155B00A810A4 /* StatusHighlighted@2x.png in Resources */, 9A8605DC1BEC155B00A810A4 /* StatusHighlighted@2x.png in Resources */,
9A8605DA1BEC155B00A810A4 /* Status@2x.png in Resources */, 9A8605DA1BEC155B00A810A4 /* Status@2x.png in Resources */,
9A8605DB1BEC155B00A810A4 /* StatusHighlighted.png in Resources */, 9A8605DB1BEC155B00A810A4 /* StatusHighlighted.png in Resources */,
@ -319,10 +334,19 @@
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */ /* Begin PBXVariantGroup section */
9A2000CF1BFBD472002BFDE8 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
9A2000D01BFBD472002BFDE8 /* en */,
9A2000D21BFBD47C002BFDE8 /* fr */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
9A8605DD1BEC15C400A810A4 /* MainMenu.xib */ = { 9A8605DD1BEC15C400A810A4 /* MainMenu.xib */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
9A8605DE1BEC15C400A810A4 /* en */, 9A2000CC1BFBD3D7002BFDE8 /* Base */,
); );
name = MainMenu.xib; name = MainMenu.xib;
sourceTree = "<group>"; sourceTree = "<group>";
@ -330,8 +354,8 @@
9ABA38AE1BFAD7F80073EA4D /* Panel.xib */ = { 9ABA38AE1BFAD7F80073EA4D /* Panel.xib */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
9ABA38AD1BFAD7F80073EA4D /* en */,
9ABA38B31BFAD8520073EA4D /* fr */, 9ABA38B31BFAD8520073EA4D /* fr */,
9A2000CD1BFBD3D7002BFDE8 /* Base */,
); );
name = Panel.xib; name = Panel.xib;
path = Clocker; path = Clocker;
@ -340,8 +364,9 @@
9ABA38B11BFAD83F0073EA4D /* PreferencesWindow.xib */ = { 9ABA38B11BFAD83F0073EA4D /* PreferencesWindow.xib */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
9ABA38B01BFAD83F0073EA4D /* en */,
9ABA38B41BFAD8520073EA4D /* fr */, 9ABA38B41BFAD8520073EA4D /* fr */,
9A2000CE1BFBD3D7002BFDE8 /* Base */,
9A2000D41BFBEE45002BFDE8 /* en */,
); );
name = PreferencesWindow.xib; name = PreferencesWindow.xib;
path = Clocker; path = Clocker;

18
Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@ -2,22 +2,4 @@
<Bucket <Bucket
type = "1" type = "1"
version = "2.0"> version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Clocker/PanelController.m"
timestampString = "469425307.272762"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "256"
endingLineNumber = "256"
landmarkName = "-tableView:viewForTableColumn:row:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket> </Bucket>

2
Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme

@ -52,7 +52,7 @@
debugServiceExtension = "internal" debugServiceExtension = "internal"
allowLocationSimulation = "YES" allowLocationSimulation = "YES"
showNonLocalizedStrings = "YES" showNonLocalizedStrings = "YES"
language = "fr"> language = "en">
<BuildableProductRunnable <BuildableProductRunnable
runnableDebuggingMode = "0"> runnableDebuggingMode = "0">
<BuildableReference <BuildableReference

8
Clocker/ApplicationDelegate.m

@ -75,13 +75,13 @@ void *kContextActivePanel = &kContextActivePanel;
numberOfLaunches = [NSNumber numberWithInteger:launches]; numberOfLaunches = [NSNumber numberWithInteger:launches];
[[NSUserDefaults standardUserDefaults] setObject:numberOfLaunches forKey:@"noOfLaunches"]; [[NSUserDefaults standardUserDefaults] setObject:numberOfLaunches forKey:@"noOfLaunches"];
if (numberOfLaunches.integerValue == 5) if (numberOfLaunches.integerValue == 151)
{ {
NSAlert *reviewAlert = [[NSAlert alloc] init]; NSAlert *reviewAlert = [[NSAlert alloc] init];
reviewAlert.alertStyle = NSInformationalAlertStyle; reviewAlert.alertStyle = NSInformationalAlertStyle;
reviewAlert.messageText = @"Spead the word, maybe?"; reviewAlert.messageText = NSLocalizedString(@"SpreadTheWordTitle", nil);
reviewAlert.informativeText = @"Clocker is completely open source. If it has helped you in any way, please leave a kind review on the App Store!"; reviewAlert.informativeText = NSLocalizedString(@"SpreadTheWordMessage", nil);
[reviewAlert addButtonWithTitle:@"Cancel"]; [reviewAlert addButtonWithTitle:NSLocalizedString(@"Cancel", nil)];
[reviewAlert runModal]; [reviewAlert runModal];
} }

0
Clocker/en.lproj/MainMenu.xib → Clocker/Base.lproj/MainMenu.xib

0
Clocker/en.lproj/Panel.xib → Clocker/Base.lproj/Panel.xib

18
Clocker/en.lproj/PreferencesWindow.xib → Clocker/Base.lproj/PreferencesWindow.xib

@ -28,7 +28,7 @@
<rect key="frame" x="0.0" y="0.0" width="439" height="426"/> <rect key="frame" x="0.0" y="0.0" width="439" height="426"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DCz-qN-ydK"> <button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DCz-qN-ydK">
<rect key="frame" x="11" y="146" width="21" height="22"/> <rect key="frame" x="11" y="146" width="21" height="22"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="20" id="aUK-f8-pvY"/> <constraint firstAttribute="height" constant="20" id="aUK-f8-pvY"/>
@ -43,7 +43,7 @@
<action selector="addTimeZone:" target="-2" id="dXi-qw-Vu2"/> <action selector="addTimeZone:" target="-2" id="dXi-qw-Vu2"/>
</connections> </connections>
</button> </button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ixe-Sn-8qT"> <button toolTip="Remove a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ixe-Sn-8qT">
<rect key="frame" x="32" y="146" width="21" height="22"/> <rect key="frame" x="32" y="146" width="21" height="22"/>
<animations/> <animations/>
<buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="SVO-Wt-Mfb"> <buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="SVO-Wt-Mfb">
@ -108,7 +108,7 @@
<animations/> <animations/>
</tableHeaderView> </tableHeaderView>
</scrollView> </scrollView>
<button translatesAutoresizingMaskIntoConstraints="NO" id="P0l-kc-VxU" customClass="ColoredButton"> <button toolTip="Show only the City instead of Continent/City format" translatesAutoresizingMaskIntoConstraints="NO" id="P0l-kc-VxU" customClass="ColoredButton">
<rect key="frame" x="9" y="97" width="191" height="18"/> <rect key="frame" x="9" y="97" width="191" height="18"/>
<animations/> <animations/>
<buttonCell key="cell" type="check" title="Show only City/Region name" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="jaB-eA-S6N"> <buttonCell key="cell" type="check" title="Show only City/Region name" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="jaB-eA-S6N">
@ -120,7 +120,7 @@
<binding destination="sEG-Zb-KUM" name="value" keyPath="values.showOnlyCity" id="xqX-Jx-epo"/> <binding destination="sEG-Zb-KUM" name="value" keyPath="values.showOnlyCity" id="xqX-Jx-epo"/>
</connections> </connections>
</button> </button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="GDz-2Z-uX5" customClass="ColoredButton"> <button toolTip="Clocker will start on each system launch" translatesAutoresizingMaskIntoConstraints="NO" id="GDz-2Z-uX5" customClass="ColoredButton">
<rect key="frame" x="9" y="75" width="191" height="18"/> <rect key="frame" x="9" y="75" width="191" height="18"/>
<animations/> <animations/>
<buttonCell key="cell" type="check" title="Start Clocker on system startup" bezelStyle="regularSquare" imagePosition="left" inset="2" id="h45-jZ-cPY"> <buttonCell key="cell" type="check" title="Start Clocker on system startup" bezelStyle="regularSquare" imagePosition="left" inset="2" id="h45-jZ-cPY">
@ -131,7 +131,7 @@
<binding destination="-2" name="value" keyPath="self.launchOnLogin" id="Vqw-iQ-qOe"/> <binding destination="-2" name="value" keyPath="self.launchOnLogin" id="Vqw-iQ-qOe"/>
</connections> </connections>
</button> </button>
<button translatesAutoresizingMaskIntoConstraints="NO" id="N47-gw-Pay" customClass="ColoredButton"> <button toolTip="Show time using a 24-hour format" translatesAutoresizingMaskIntoConstraints="NO" id="N47-gw-Pay" customClass="ColoredButton">
<rect key="frame" x="9" y="119" width="343" height="22"/> <rect key="frame" x="9" y="119" width="343" height="22"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="339" id="0eX-T7-EbU"/> <constraint firstAttribute="width" constant="339" id="0eX-T7-EbU"/>
@ -221,7 +221,7 @@
<rect key="frame" x="1" y="0.0" width="327" height="256"/> <rect key="frame" x="1" y="0.0" width="327" height="256"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="20" headerView="hHn-48-RCd" id="6Hm-XH-CMI"> <tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="20" headerView="hHn-48-RCd" id="6Hm-XH-CMI">
<rect key="frame" x="0.0" y="0.0" width="327" height="233"/> <rect key="frame" x="0.0" y="0.0" width="327" height="233"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<animations/> <animations/>
@ -291,7 +291,7 @@
<animations/> <animations/>
</tableHeaderView> </tableHeaderView>
</scrollView> </scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o"> <button toolTip="Add a timezone" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o">
<rect key="frame" x="2" y="-2" width="52" height="32"/> <rect key="frame" x="2" y="-2" width="52" height="32"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/> <constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/>
@ -306,7 +306,7 @@
<action selector="addToFavorites:" target="-2" id="y27-tR-f1g"/> <action selector="addToFavorites:" target="-2" id="y27-tR-f1g"/>
</connections> </connections>
</button> </button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8"> <button toolTip="Close Panel" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8">
<rect key="frame" x="44" y="-2" width="65" height="32"/> <rect key="frame" x="44" y="-2" width="65" height="32"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="53" id="Bql-d6-oci"/> <constraint firstAttribute="width" constant="53" id="Bql-d6-oci"/>
@ -320,7 +320,7 @@
<action selector="closePanel:" target="-2" id="6v9-wN-07n"/> <action selector="closePanel:" target="-2" id="6v9-wN-07n"/>
</connections> </connections>
</button> </button>
<searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB"> <searchField toolTip="Search a timezone" wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB">
<rect key="frame" x="8" y="287" width="329" height="25"/> <rect key="frame" x="8" y="287" width="329" height="25"/>
<animations/> <animations/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb"> <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb">

13
Clocker/PanelController.m

@ -297,7 +297,7 @@
NSNumber *is24HourFormatSelected = [[NSUserDefaults standardUserDefaults] objectForKey:@"is24HourFormatSelected"]; NSNumber *is24HourFormatSelected = [[NSUserDefaults standardUserDefaults] objectForKey:@"is24HourFormatSelected"];
is24HourFormatSelected.boolValue ? [dateFormatter setDateFormat:@"HH:mm"] : [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; is24HourFormatSelected.boolValue ? [dateFormatter setDateFormat:@"HH:mm"] : [dateFormatter setDateFormat:@"hh:mm a"];
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:timezoneName]; dateFormatter.timeZone = [NSTimeZone timeZoneWithName:timezoneName];
//In the format 22:10 //In the format 22:10
@ -321,14 +321,13 @@
- (NSString *)compareSystemDate:(NSString *)systemDate toTimezoneDate:(NSString *)date - (NSString *)compareSystemDate:(NSString *)systemDate toTimezoneDate:(NSString *)date
{ {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"MM/dd/yyyy"; formatter.dateFormat = [NSDateFormatter dateFormatFromTemplate:@"MM/dd/yyyy" options:0 locale:[NSLocale currentLocale]];
formatter.dateFormat = @"dd/MM/yyyy";
NSDate *localDate = [formatter dateFromString:systemDate]; NSDate *localDate = [formatter dateFromString:systemDate];
NSDate *timezoneDate = [formatter dateFromString:date]; NSDate *timezoneDate = [formatter dateFromString:date];
if (localDate == nil || timezoneDate == nil) { if (localDate == nil || timezoneDate == nil) {
// [[Crashlytics sharedInstance] crash]; [[Crashlytics sharedInstance] crash];
[CrashlyticsKit setUserEmail:systemDate]; [CrashlyticsKit setUserEmail:systemDate];
[CrashlyticsKit setUserIdentifier:date]; [CrashlyticsKit setUserIdentifier:date];
NSLog(@"One of the dates is nil"); NSLog(@"One of the dates is nil");
@ -342,15 +341,15 @@
NSInteger timezoneDay = [calendar component:units fromDate:timezoneDate]; NSInteger timezoneDay = [calendar component:units fromDate:timezoneDate];
if (systemDay == timezoneDay) { if (systemDay == timezoneDay) {
return @"Today"; return NSLocalizedString(@"Today", @"Today");;
} }
else if (systemDay > timezoneDay) else if (systemDay > timezoneDay)
{ {
return @"Yesterday"; return NSLocalizedString(@"Yesterday", @"Yesterday");
} }
else else
{ {
return @"Tomorrow"; return NSLocalizedString(@"Tomorrow", @"Tomorrow");;
} }
} }

4
Clocker/PreferencesWindowController.m

@ -177,7 +177,7 @@ static PreferencesWindowController *sharedPreferences = nil;
if (self.selectedTimeZones.count > 9) if (self.selectedTimeZones.count > 9)
{ {
self.messageLabel.stringValue = @"Maximum 10 timezones allowed!"; self.messageLabel.stringValue = NSLocalizedString(@"MaximumTimezoneMessage", nil);
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO]; [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return; return;
} }
@ -194,7 +194,7 @@ static PreferencesWindowController *sharedPreferences = nil;
} }
else if ([name isEqualToString:self.timeZoneArray[self.availableTimezoneTableView.selectedRow]]) else if ([name isEqualToString:self.timeZoneArray[self.availableTimezoneTableView.selectedRow]])
{ {
self.messageLabel.stringValue = @"Timezone has already been selected!"; self.messageLabel.stringValue = NSLocalizedString(@"DuplicateTimezoneMessage", nil);
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO]; [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(clearLabel) userInfo:nil repeats:NO];
return; return;
} }

16
Clocker/en.lproj/Localizable.strings

@ -0,0 +1,16 @@
/*
Localizable.strings
Clocker
Created by Abhishek Banthia on 11/17/15.
*/
"Yesterday" = "Yesterday";
"Today" = "Today";
"Tomorrow" = "Tomorrow";
"SpreadTheWordTitle" = "Spread the word, maybe";
"SpreadTheWordMessage" = "Clocker is completely open source. If it helped you in any way, please leave a kind of opinion on the App Store!";
"Cancel" = "Cancel";
"MaximumTimezoneMessage" = "Maximum 10 timezones allowed!";
"DuplicateTimezoneMessage" = "Timezone has already been selected!";

69
Clocker/en.lproj/PreferencesWindow.strings

@ -0,0 +1,69 @@
/* Class = "NSSearchFieldCell"; placeholderString = "Enter Timezone Name"; ObjectID = "2DC-BS-vbb"; */
"2DC-BS-vbb.placeholderString" = "Enter Timezone Name";
/* Class = "NSSearchField"; ibShadowedToolTip = "Search a timezone"; ObjectID = "5jL-eb-qdB"; */
"5jL-eb-qdB.ibShadowedToolTip" = "Search a timezone";
/* Class = "NSTableColumn"; headerCell.title = "Selected Timezone(s)"; ObjectID = "CJN-Eu-3s5"; */
"CJN-Eu-3s5.headerCell.title" = "Selected Timezone(s)";
/* Class = "NSButtonCell"; title = "Use a 24-hour clock"; ObjectID = "Fro-eC-cMC"; */
"Fro-eC-cMC.title" = "Use a 24-hour clock";
/* Class = "NSButton"; ibShadowedToolTip = "Clocker will start on each system launch"; ObjectID = "GDz-2Z-uX5"; */
"GDz-2Z-uX5.ibShadowedToolTip" = "Clocker will start on each system launch";
/* Class = "NSTableColumn"; headerCell.title = "Abbreviation"; ObjectID = "Iuq-hc-Ma0"; */
"Iuq-hc-Ma0.headerCell.title" = "Abbreviation";
/* Class = "NSButton"; ibShadowedToolTip = "Add a timezone"; ObjectID = "KlN-dU-s3o"; */
"KlN-dU-s3o.ibShadowedToolTip" = "Add a timezone";
/* Class = "NSButton"; ibShadowedToolTip = "Show time using a 24-hour format"; ObjectID = "N47-gw-Pay"; */
"N47-gw-Pay.ibShadowedToolTip" = "Show time using a 24-hour format";
/* Class = "NSButtonCell"; title = "Close"; ObjectID = "ODT-4D-sWu"; */
"ODT-4D-sWu.title" = "Close";
/* Class = "NSButton"; ibShadowedToolTip = "Show only the City instead of Continent/City format"; ObjectID = "P0l-kc-VxU"; */
"P0l-kc-VxU.ibShadowedToolTip" = "Show only the City instead of Continent/City format";
/* Class = "NSTableColumn"; headerCell.title = "Timezone Name"; ObjectID = "TEh-P6-jcT"; */
"TEh-P6-jcT.headerCell.title" = "Timezone Name";
/* Class = "NSButton"; ibShadowedToolTip = "Close Panel"; ObjectID = "Ueh-Ln-TC8"; */
"Ueh-Ln-TC8.ibShadowedToolTip" = "Close Panel";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "Vu3-3D-aDG"; */
"Vu3-3D-aDG.title" = "Text Cell";
/* Class = "NSWindow"; title = "Window"; ObjectID = "Z6I-Ny-aGx"; */
"Z6I-Ny-aGx.title" = "Window";
/* Class = "NSButtonCell"; title = "Report Bug!"; ObjectID = "ZVb-7Q-E7k"; */
"ZVb-7Q-E7k.title" = "Report Bug!";
/* Class = "NSButtonCell"; title = "Start Clocker on system startup"; ObjectID = "h45-jZ-cPY"; */
"h45-jZ-cPY.title" = "Start Clocker on system startup";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "iJJ-UY-Q3g"; */
"iJJ-UY-Q3g.title" = "Text Cell";
/* Class = "NSButtonCell"; title = "Show only City/Region name"; ObjectID = "jaB-eA-S6N"; */
"jaB-eA-S6N.title" = "Show only City/Region name";
/* Class = "NSButtonCell"; title = "Add"; ObjectID = "kZe-ua-0p9"; */
"kZe-ua-0p9.title" = "Add";
/* Class = "NSTextFieldCell"; placeholderString = "Open Source Message"; ObjectID = "l7j-wK-zcu"; */
"l7j-wK-zcu.placeholderString" = "Open Source Message";
/* Class = "NSButton"; ibShadowedToolTip = "Say Hello!"; ObjectID = "psn-eC-m9g"; */
"psn-eC-m9g.ibShadowedToolTip" = "Say Hello!";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "pwL-7P-icB"; */
"pwL-7P-icB.title" = "Text Cell";
/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "ysU-zz-gJh"; */
"ysU-zz-gJh.title" = "Label";

17
Clocker/fr.lproj/Localizable.strings

@ -0,0 +1,17 @@
/*
Localizable.strings
Clocker
Created by Abhishek Banthia on 11/17/15.
*/
"Yesterday" = "Hier";
"Today" = "Aujourd'hui";
"Tomorrow" = "Demain";
"SpreadTheWordTitle" = "Passez le mot";
"SpreadTheWordMessage" = "Clocker est complètement open source . Si cela vous a aidé de quelque façon , s'il vous plaît laisser un avis de genre sur l'App Store !";
"Cancel" = "Annuler";
"MaximumTimezoneMessage" = "Maximum 10 fuseaux horaires autorisés!";
"DuplicateTimezoneMessage" = "Fuseau horaire a déjà été sélectionnée!";

20
Clocker/fr.lproj/PreferencesWindow.xib

@ -232,7 +232,7 @@
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns> <tableColumns>
<tableColumn identifier="availableTimezones" editable="NO" width="205.5" minWidth="40" maxWidth="1000" id="TEh-P6-jcT"> <tableColumn identifier="availableTimezones" editable="NO" width="205.5" minWidth="40" maxWidth="1000" id="TEh-P6-jcT">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Timezone Name"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Fuseau horaire Nom">
<font key="font" metaFont="smallSystem"/> <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
@ -245,7 +245,7 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
</tableColumn> </tableColumn>
<tableColumn identifier="abbreviation" editable="NO" width="115.71875" minWidth="10" maxWidth="3.4028234663852886e+38" id="Iuq-hc-Ma0"> <tableColumn identifier="abbreviation" editable="NO" width="115.71875" minWidth="10" maxWidth="3.4028234663852886e+38" id="Iuq-hc-Ma0">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Abbreviation"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Abviation">
<font key="font" metaFont="smallSystem"/> <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
@ -293,13 +293,13 @@
</tableHeaderView> </tableHeaderView>
</scrollView> </scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o"> <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KlN-dU-s3o">
<rect key="frame" x="2" y="-2" width="52" height="32"/> <rect key="frame" x="2" y="-2" width="72" height="32"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/> <constraint firstAttribute="height" constant="21" id="2QY-oM-3sO"/>
<constraint firstAttribute="width" constant="40" id="6JQ-5n-kb7"/> <constraint firstAttribute="width" constant="60" id="6JQ-5n-kb7"/>
</constraints> </constraints>
<animations/> <animations/>
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kZe-ua-0p9"> <buttonCell key="cell" type="push" title="Ajouter" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kZe-ua-0p9">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/> <font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell> </buttonCell>
@ -308,12 +308,12 @@
</connections> </connections>
</button> </button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8"> <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ueh-Ln-TC8">
<rect key="frame" x="44" y="-2" width="65" height="32"/> <rect key="frame" x="64" y="-2" width="72" height="32"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="53" id="Bql-d6-oci"/> <constraint firstAttribute="width" constant="60" id="Bql-d6-oci"/>
</constraints> </constraints>
<animations/> <animations/>
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ODT-4D-sWu"> <buttonCell key="cell" type="push" title="Fermer" bezelStyle="rounded" imagePosition="overlaps" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ODT-4D-sWu">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="HelveticaNeue-Light"/> <font key="font" size="13" name="HelveticaNeue-Light"/>
</buttonCell> </buttonCell>
@ -324,7 +324,7 @@
<searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB"> <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5jL-eb-qdB">
<rect key="frame" x="8" y="287" width="329" height="25"/> <rect key="frame" x="8" y="287" width="329" height="25"/>
<animations/> <animations/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Enter Timezone Name" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb"> <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" focusRingType="none" placeholderString="Entrez le nom Fuseau horaire" drawsBackground="YES" usesSingleLineMode="YES" id="2DC-BS-vbb">
<font key="font" size="13" name="HelveticaNeue-Light"/> <font key="font" size="13" name="HelveticaNeue-Light"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@ -334,7 +334,7 @@
</connections> </connections>
</searchField> </searchField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rty-6T-aPw">
<rect key="frame" x="104" y="8" width="232" height="20"/> <rect key="frame" x="131" y="8" width="205" height="20"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="20" id="y9Z-oT-NCB"/> <constraint firstAttribute="height" constant="20" id="y9Z-oT-NCB"/>
</constraints> </constraints>

Loading…
Cancel
Save