Skip to content

Commit 2eb87b3

Browse files
committed
Localization added – English base and Russian
1 parent e6e122b commit 2eb87b3

File tree

7 files changed

+80
-16
lines changed

7 files changed

+80
-16
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* No Localized Strings */

Launcher/ru.lproj/MainMenu.strings

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* No Localized Strings */

micSwitch.xcodeproj/project.pbxproj

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@
88

99
/* Begin PBXBuildFile section */
1010
0998F1E8923C40945F1B849C /* libPods-micSwitch.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 95EEC8846D47357E0C76A671 /* libPods-micSwitch.a */; };
11+
7C724B8B1FBE2B36009762CE /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7C724B8D1FBE2B36009762CE /* Preferences.xib */; };
12+
7C724B921FBE36A0009762CE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7C724B941FBE36A0009762CE /* InfoPlist.strings */; };
13+
7C724B971FBE36A0009762CE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7C724B991FBE36A0009762CE /* InfoPlist.strings */; };
1114
7C78BD651FBBB40300735F37 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C78BD641FBBB40300735F37 /* PreferencesViewController.swift */; };
1215
7C78BD6D1FBBBA7700735F37 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C78BD6C1FBBBA7700735F37 /* Preferences.swift */; };
1316
7C78BD771FBC50E700735F37 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C78BD761FBC50E700735F37 /* AppDelegate.swift */; };
1417
7C78BD791FBC50E700735F37 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7C78BD781FBC50E700735F37 /* Assets.xcassets */; };
1518
7C78BD7C1FBC50E700735F37 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7C78BD7A1FBC50E700735F37 /* MainMenu.xib */; };
1619
7C78BD881FBC562600735F37 /* Launcher.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = 7C78BD741FBC50E700735F37 /* Launcher.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1720
7C78BD8A1FBC569D00735F37 /* ServiceManagement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C78BD891FBC568800735F37 /* ServiceManagement.framework */; };
18-
7C9E7FFD1FBCD1D400F93CB1 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7C9E7FFB1FBCD1D400F93CB1 /* Preferences.xib */; };
1921
7CC187EB1FB9A63D0015D41D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CC187EA1FB9A63D0015D41D /* AppDelegate.swift */; };
2022
7CC187ED1FB9A63D0015D41D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7CC187EC1FB9A63D0015D41D /* Assets.xcassets */; };
2123
7CC187F01FB9A63D0015D41D /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7CC187EE1FB9A63D0015D41D /* MainMenu.xib */; };
@@ -37,6 +39,12 @@
3739

3840
/* Begin PBXFileReference section */
3941
18F2C411820865C3AAD30DAE /* Pods-micSwitch.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-micSwitch.release.xcconfig"; path = "Pods/Target Support Files/Pods-micSwitch/Pods-micSwitch.release.xcconfig"; sourceTree = "<group>"; };
42+
7C724B891FBDECC6009762CE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainMenu.strings; sourceTree = "<group>"; };
43+
7C724B8A1FBDECC6009762CE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainMenu.strings; sourceTree = "<group>"; };
44+
7C724B8C1FBE2B36009762CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Preferences.xib; sourceTree = "<group>"; };
45+
7C724B8F1FBE2B56009762CE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Preferences.strings; sourceTree = "<group>"; };
46+
7C724B931FBE36A0009762CE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
47+
7C724B981FBE36A0009762CE /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
4048
7C78BD641FBBB40300735F37 /* PreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesViewController.swift; sourceTree = "<group>"; };
4149
7C78BD661FBBB6AD00735F37 /* micSwitch-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "micSwitch-Bridging-Header.h"; sourceTree = "<group>"; };
4250
7C78BD6C1FBBBA7700735F37 /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = "<group>"; };
@@ -47,7 +55,6 @@
4755
7C78BD7D1FBC50E700735F37 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4856
7C78BD7E1FBC50E700735F37 /* Launcher.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Launcher.entitlements; sourceTree = "<group>"; };
4957
7C78BD891FBC568800735F37 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; };
50-
7C9E7FFB1FBCD1D400F93CB1 /* Preferences.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = "<group>"; };
5158
7CC187E71FB9A63D0015D41D /* micSwitch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = micSwitch.app; sourceTree = BUILT_PRODUCTS_DIR; };
5259
7CC187EA1FB9A63D0015D41D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
5360
7CC187EC1FB9A63D0015D41D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -91,6 +98,7 @@
9198
7C78BD751FBC50E700735F37 /* Launcher */ = {
9299
isa = PBXGroup;
93100
children = (
101+
7C724B941FBE36A0009762CE /* InfoPlist.strings */,
94102
7C78BD761FBC50E700735F37 /* AppDelegate.swift */,
95103
7C78BD781FBC50E700735F37 /* Assets.xcassets */,
96104
7C78BD7D1FBC50E700735F37 /* Info.plist */,
@@ -104,7 +112,7 @@
104112
isa = PBXGroup;
105113
children = (
106114
7CC187EE1FB9A63D0015D41D /* MainMenu.xib */,
107-
7C9E7FFB1FBCD1D400F93CB1 /* Preferences.xib */,
115+
7C724B8D1FBE2B36009762CE /* Preferences.xib */,
108116
);
109117
path = Views;
110118
sourceTree = "<group>";
@@ -129,6 +137,7 @@
129137
7C78BD861FBC558000735F37 /* Supporting Files */ = {
130138
isa = PBXGroup;
131139
children = (
140+
7C724B991FBE36A0009762CE /* InfoPlist.strings */,
132141
7CC187F21FB9A63D0015D41D /* micSwitch.entitlements */,
133142
7CC187F11FB9A63D0015D41D /* Info.plist */,
134143
7C78BD661FBBB6AD00735F37 /* micSwitch-Bridging-Header.h */,
@@ -247,6 +256,7 @@
247256
knownRegions = (
248257
en,
249258
Base,
259+
ru,
250260
);
251261
mainGroup = 7CC187DE1FB9A63D0015D41D;
252262
productRefGroup = 7CC187E81FB9A63D0015D41D /* Products */;
@@ -265,6 +275,7 @@
265275
buildActionMask = 2147483647;
266276
files = (
267277
7C78BD791FBC50E700735F37 /* Assets.xcassets in Resources */,
278+
7C724B921FBE36A0009762CE /* InfoPlist.strings in Resources */,
268279
7C78BD7C1FBC50E700735F37 /* MainMenu.xib in Resources */,
269280
);
270281
runOnlyForDeploymentPostprocessing = 0;
@@ -274,7 +285,8 @@
274285
buildActionMask = 2147483647;
275286
files = (
276287
7CC187ED1FB9A63D0015D41D /* Assets.xcassets in Resources */,
277-
7C9E7FFD1FBCD1D400F93CB1 /* Preferences.xib in Resources */,
288+
7C724B971FBE36A0009762CE /* InfoPlist.strings in Resources */,
289+
7C724B8B1FBE2B36009762CE /* Preferences.xib in Resources */,
278290
7CC187F01FB9A63D0015D41D /* MainMenu.xib in Resources */,
279291
);
280292
runOnlyForDeploymentPostprocessing = 0;
@@ -352,10 +364,36 @@
352364
/* End PBXSourcesBuildPhase section */
353365

354366
/* Begin PBXVariantGroup section */
367+
7C724B8D1FBE2B36009762CE /* Preferences.xib */ = {
368+
isa = PBXVariantGroup;
369+
children = (
370+
7C724B8C1FBE2B36009762CE /* Base */,
371+
7C724B8F1FBE2B56009762CE /* ru */,
372+
);
373+
name = Preferences.xib;
374+
sourceTree = "<group>";
375+
};
376+
7C724B941FBE36A0009762CE /* InfoPlist.strings */ = {
377+
isa = PBXVariantGroup;
378+
children = (
379+
7C724B931FBE36A0009762CE /* ru */,
380+
);
381+
name = InfoPlist.strings;
382+
sourceTree = "<group>";
383+
};
384+
7C724B991FBE36A0009762CE /* InfoPlist.strings */ = {
385+
isa = PBXVariantGroup;
386+
children = (
387+
7C724B981FBE36A0009762CE /* ru */,
388+
);
389+
name = InfoPlist.strings;
390+
sourceTree = "<group>";
391+
};
355392
7C78BD7A1FBC50E700735F37 /* MainMenu.xib */ = {
356393
isa = PBXVariantGroup;
357394
children = (
358395
7C78BD7B1FBC50E700735F37 /* Base */,
396+
7C724B8A1FBDECC6009762CE /* ru */,
359397
);
360398
name = MainMenu.xib;
361399
sourceTree = "<group>";
@@ -364,6 +402,7 @@
364402
isa = PBXVariantGroup;
365403
children = (
366404
7CC187EF1FB9A63D0015D41D /* Base */,
405+
7C724B891FBDECC6009762CE /* ru */,
367406
);
368407
name = MainMenu.xib;
369408
sourceTree = "<group>";
@@ -413,6 +452,7 @@
413452
isa = XCBuildConfiguration;
414453
buildSettings = {
415454
ALWAYS_SEARCH_USER_PATHS = NO;
455+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
416456
CLANG_ANALYZER_NONNULL = YES;
417457
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
418458
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -470,6 +510,7 @@
470510
isa = XCBuildConfiguration;
471511
buildSettings = {
472512
ALWAYS_SEARCH_USER_PATHS = NO;
513+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
473514
CLANG_ANALYZER_NONNULL = YES;
474515
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
475516
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* No Localized Strings */

micSwitch/Views/Preferences.xib renamed to micSwitch/Views/Base.lproj/Preferences.xib

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13196" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
2+
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
33
<dependencies>
44
<deployment identifier="macosx"/>
5-
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13196"/>
5+
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13529"/>
66
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
77
</dependencies>
88
<objects>
@@ -17,25 +17,26 @@
1717
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
1818
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
1919
<view id="EqJ-9g-rH2">
20-
<rect key="frame" x="0.0" y="0.0" width="233" height="182"/>
20+
<rect key="frame" x="0.0" y="0.0" width="232" height="183"/>
2121
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
2222
<subviews>
2323
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7hh-aa-Y5Q">
24-
<rect key="frame" x="14" y="150" width="126" height="18"/>
25-
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Mic mute shortcut:" id="UbL-zi-3DQ">
24+
<rect key="frame" x="14" y="151" width="126" height="18"/>
25+
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Mic mute shortcut:" id="UbL-zi-3DQ">
2626
<font key="font" metaFont="menuBar"/>
2727
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
2828
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
2929
</textFieldCell>
3030
</textField>
3131
<customView translatesAutoresizingMaskIntoConstraints="NO" id="mDj-lD-6tm" customClass="MASShortcutView">
32-
<rect key="frame" x="16" y="123" width="201" height="23"/>
32+
<rect key="frame" x="16" y="124" width="200" height="23"/>
3333
<constraints>
3434
<constraint firstAttribute="height" constant="23" id="1UF-Kb-8Rq"/>
35+
<constraint firstAttribute="width" constant="200" id="PP0-CU-hEM"/>
3536
</constraints>
3637
</customView>
3738
<button focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="E6I-d4-8kN">
38-
<rect key="frame" x="14" y="95" width="146" height="18"/>
39+
<rect key="frame" x="14" y="96" width="146" height="18"/>
3940
<buttonCell key="cell" type="check" title="Walkie-talkie mode" bezelStyle="regularSquare" imagePosition="left" state="on" focusRingType="none" inset="2" id="M44-Xp-CFN">
4041
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
4142
<font key="font" metaFont="menuBar"/>
@@ -45,10 +46,10 @@
4546
</connections>
4647
</button>
4748
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="TlC-33-FzL">
48-
<rect key="frame" x="0.0" y="78" width="233" height="5"/>
49+
<rect key="frame" x="0.0" y="79" width="232" height="5"/>
4950
</box>
5051
<button focusRingType="none" translatesAutoresizingMaskIntoConstraints="NO" id="PG6-Z9-td4">
51-
<rect key="frame" x="14" y="48" width="121" height="18"/>
52+
<rect key="frame" x="14" y="49" width="121" height="18"/>
5253
<buttonCell key="cell" type="check" title="Launch at login" bezelStyle="regularSquare" imagePosition="left" state="on" focusRingType="none" inset="2" id="lXX-Br-Gg3">
5354
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
5455
<font key="font" metaFont="menuBar"/>
@@ -58,7 +59,7 @@
5859
</connections>
5960
</button>
6061
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ARh-OO-pca">
61-
<rect key="frame" x="71" y="8" width="152" height="32"/>
62+
<rect key="frame" x="70" y="9" width="152" height="32"/>
6263
<constraints>
6364
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="140" id="FAv-kR-XUN"/>
6465
</constraints>
@@ -76,17 +77,23 @@
7677
<constraint firstItem="TlC-33-FzL" firstAttribute="leading" secondItem="EqJ-9g-rH2" secondAttribute="leading" id="5iv-ZN-2MK"/>
7778
<constraint firstItem="E6I-d4-8kN" firstAttribute="top" secondItem="mDj-lD-6tm" secondAttribute="bottom" constant="12" id="6OE-NS-VkT"/>
7879
<constraint firstItem="7hh-aa-Y5Q" firstAttribute="leading" secondItem="EqJ-9g-rH2" secondAttribute="leading" constant="16" id="9l4-9D-yFX"/>
79-
<constraint firstAttribute="trailing" secondItem="mDj-lD-6tm" secondAttribute="trailing" constant="16" id="Cyz-Z3-Adm"/>
80+
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="mDj-lD-6tm" secondAttribute="trailing" constant="16" id="Cyz-Z3-Adm"/>
8081
<constraint firstAttribute="trailing" secondItem="TlC-33-FzL" secondAttribute="trailing" id="E4d-0b-e0A"/>
8182
<constraint firstAttribute="trailing" secondItem="ARh-OO-pca" secondAttribute="trailing" constant="16" id="Eof-Jg-Qgy"/>
8283
<constraint firstItem="PG6-Z9-td4" firstAttribute="top" secondItem="TlC-33-FzL" secondAttribute="bottom" constant="16" id="FmT-WY-WOo"/>
83-
<constraint firstItem="mDj-lD-6tm" firstAttribute="leading" secondItem="7hh-aa-Y5Q" secondAttribute="leading" id="UuG-nl-eM5"/>
84+
<constraint firstItem="mDj-lD-6tm" firstAttribute="leading" secondItem="7hh-aa-Y5Q" secondAttribute="leading" id="Iem-Zm-Hei"/>
85+
<constraint firstItem="ARh-OO-pca" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="EqJ-9g-rH2" secondAttribute="leading" constant="16" id="RQ0-qI-WS1"/>
8486
<constraint firstItem="7hh-aa-Y5Q" firstAttribute="top" secondItem="EqJ-9g-rH2" secondAttribute="top" constant="14" id="bAp-3a-Pwm"/>
8587
<constraint firstItem="mDj-lD-6tm" firstAttribute="top" secondItem="7hh-aa-Y5Q" secondAttribute="bottom" constant="4" id="cYb-rP-UMg"/>
8688
<constraint firstItem="PG6-Z9-td4" firstAttribute="leading" secondItem="7hh-aa-Y5Q" secondAttribute="leading" id="g3r-hF-9tY"/>
89+
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="PG6-Z9-td4" secondAttribute="trailing" constant="16" id="h7e-pa-94A"/>
8790
<constraint firstItem="TlC-33-FzL" firstAttribute="top" secondItem="E6I-d4-8kN" secondAttribute="bottom" constant="16" id="kVc-RT-WfA"/>
91+
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="E6I-d4-8kN" secondAttribute="trailing" constant="16" id="tNQ-2F-DIM"/>
8892
<constraint firstItem="ARh-OO-pca" firstAttribute="top" secondItem="PG6-Z9-td4" secondAttribute="bottom" constant="14" id="v4i-6m-lSv"/>
93+
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="7hh-aa-Y5Q" secondAttribute="trailing" constant="16" id="xEf-Vu-xGF"/>
94+
<constraint firstAttribute="bottom" secondItem="ARh-OO-pca" secondAttribute="bottom" constant="16" id="xFo-Y5-qLZ"/>
8995
</constraints>
96+
<point key="canvasLocation" x="102" y="169"/>
9097
</view>
9198
</objects>
9299
</document>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* No Localized Strings */
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/* Class = "NSButtonCell"; title = "Quit micSwitch"; ObjectID = "GNY-wp-WQ0"; */
2+
"GNY-wp-WQ0.title" = "Завершить micSwitch";
3+
4+
/* Class = "NSButtonCell"; title = "Walkie-talkie mode"; ObjectID = "M44-Xp-CFN"; */
5+
"M44-Xp-CFN.title" = "Режим рации";
6+
7+
/* Class = "NSTextFieldCell"; title = "Mic mute shortcut:"; ObjectID = "UbL-zi-3DQ"; */
8+
"UbL-zi-3DQ.title" = "Сочетание клавиш\nвыключения микрофона:";
9+
10+
/* Class = "NSButtonCell"; title = "Launch at login"; ObjectID = "lXX-Br-Gg3"; */
11+
"lXX-Br-Gg3.title" = "Запуск при старте системы";
12+

0 commit comments

Comments
 (0)