Localization
This commit is contained in:
parent
4fd73e603e
commit
577dbca22e
@ -53,6 +53,8 @@
|
||||
7A530B7E24017FEE00CBFE6E /* VehicleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A530B7D24017FEE00CBFE6E /* VehicleCell.swift */; };
|
||||
7A530B802401803A00CBFE6E /* Vehicle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A530B7F2401803A00CBFE6E /* Vehicle.swift */; };
|
||||
7A530B8B240181F500CBFE6E /* RxRealm in Frameworks */ = {isa = PBXBuildFile; productRef = 7A530B8A240181F500CBFE6E /* RxRealm */; };
|
||||
7A61FF8B2575A2CD00D905D5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7A61FF892575A2CD00D905D5 /* Localizable.strings */; };
|
||||
7A61FF912575A5B300D905D5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7A61FF8F2575A5B300D905D5 /* InfoPlist.strings */; };
|
||||
7A64AE732469DFB600ABE48E /* DismissAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A64AE6F2469DFB600ABE48E /* DismissAnimationController.swift */; };
|
||||
7A64AE742469DFB600ABE48E /* MediaContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A64AE702469DFB600ABE48E /* MediaContentView.swift */; };
|
||||
7A64AE752469DFB600ABE48E /* MediaBrowserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A64AE712469DFB600ABE48E /* MediaBrowserViewController.swift */; };
|
||||
@ -144,6 +146,12 @@
|
||||
7A530B7924001D3300CBFE6E /* CheckController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckController.swift; sourceTree = "<group>"; };
|
||||
7A530B7D24017FEE00CBFE6E /* VehicleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleCell.swift; sourceTree = "<group>"; };
|
||||
7A530B7F2401803A00CBFE6E /* Vehicle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Vehicle.swift; sourceTree = "<group>"; };
|
||||
7A61FF8325759DE700D905D5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
|
||||
7A61FF8A2575A2CD00D905D5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
7A61FF8D2575A2F900D905D5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
7A61FF902575A5B300D905D5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
7A61FF932575A5B600D905D5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
7A61FF962576C16400D905D5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = "<group>"; };
|
||||
7A64AE6B2469DC6900ABE48E /* AutoCat.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AutoCat.entitlements; sourceTree = "<group>"; };
|
||||
7A64AE6F2469DFB600ABE48E /* DismissAnimationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DismissAnimationController.swift; sourceTree = "<group>"; };
|
||||
7A64AE702469DFB600ABE48E /* MediaContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediaContentView.swift; sourceTree = "<group>"; };
|
||||
@ -270,6 +278,8 @@
|
||||
7A11470923FDE7E600B424AF /* Assets.xcassets */,
|
||||
7A11470B23FDE7E600B424AF /* LaunchScreen.storyboard */,
|
||||
7A11470E23FDE7E600B424AF /* Info.plist */,
|
||||
7A61FF892575A2CD00D905D5 /* Localizable.strings */,
|
||||
7A61FF8F2575A5B300D905D5 /* InfoPlist.strings */,
|
||||
);
|
||||
path = AutoCat;
|
||||
sourceTree = "<group>";
|
||||
@ -484,6 +494,7 @@
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
ru,
|
||||
);
|
||||
mainGroup = 7A1146F423FDE7E500B424AF;
|
||||
packageReferences = (
|
||||
@ -512,8 +523,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
7A0420BA25693D2C00034941 /* dkbm.js in Resources */,
|
||||
7A61FF912575A5B300D905D5 /* InfoPlist.strings in Resources */,
|
||||
7ADF6C99250F872C00F237B2 /* RoadNumbers.otf in Resources */,
|
||||
7A11470D23FDE7E600B424AF /* LaunchScreen.storyboard in Resources */,
|
||||
7A61FF8B2575A2CD00D905D5 /* Localizable.strings in Resources */,
|
||||
7A6DD90A24329541009DE740 /* RoadNumbers2.0.otf in Resources */,
|
||||
7A11470A23FDE7E600B424AF /* Assets.xcassets in Resources */,
|
||||
7A11470823FDE7E500B424AF /* Main.storyboard in Resources */,
|
||||
@ -609,6 +622,7 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
7A11470723FDE7E500B424AF /* Base */,
|
||||
7A61FF962576C16400D905D5 /* ru */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
@ -617,10 +631,29 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
7A11470C23FDE7E600B424AF /* Base */,
|
||||
7A61FF8325759DE700D905D5 /* ru */,
|
||||
);
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7A61FF892575A2CD00D905D5 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
7A61FF8A2575A2CD00D905D5 /* Base */,
|
||||
7A61FF8D2575A2F900D905D5 /* ru */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7A61FF8F2575A5B300D905D5 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
7A61FF902575A5B300D905D5 /* Base */,
|
||||
7A61FF932575A5B600D905D5 /* ru */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@ -628,6 +661,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
@ -688,6 +722,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
@ -744,7 +779,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = AutoCat/AutoCat.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 56;
|
||||
CURRENT_PROJECT_VERSION = 57;
|
||||
DEVELOPMENT_TEAM = 46DTTB8X4S;
|
||||
INFOPLIST_FILE = AutoCat/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
@ -767,7 +802,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = AutoCat/AutoCat.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 56;
|
||||
CURRENT_PROJECT_VERSION = 57;
|
||||
DEVELOPMENT_TEAM = 46DTTB8X4S;
|
||||
INFOPLIST_FILE = AutoCat/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = "ru"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
|
||||
@ -14,35 +14,35 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
<integer>5</integer>
|
||||
</dict>
|
||||
<key>DifferenceKit (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>9</integer>
|
||||
<integer>6</integer>
|
||||
</dict>
|
||||
<key>DifferenceKit (Playground).xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>7</integer>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>5</integer>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>6</integer>
|
||||
<integer>9</integer>
|
||||
</dict>
|
||||
<key>Eureka (Playground) 3.xcscheme</key>
|
||||
<dict>
|
||||
@ -70,7 +70,7 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
<integer>7</integer>
|
||||
</dict>
|
||||
<key>GettingStarted (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
@ -112,42 +112,42 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>13</integer>
|
||||
<integer>10</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
<integer>4</integer>
|
||||
</dict>
|
||||
<key>Rx (Playground).xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 1.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>11</integer>
|
||||
<integer>12</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 2.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>12</integer>
|
||||
<integer>13</integer>
|
||||
</dict>
|
||||
<key>SwiftDate (Playground) 3.xcscheme</key>
|
||||
<dict>
|
||||
@ -175,7 +175,7 @@
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>10</integer>
|
||||
<integer>11</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
|
||||
9
AutoCat/Base.lproj/InfoPlist.strings
Normal file
9
AutoCat/Base.lproj/InfoPlist.strings
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
InfoPlist.strings
|
||||
AutoCat
|
||||
|
||||
Created by Selim Mustafaev on 01.12.2020.
|
||||
Copyright © 2020 Selim Mustafaev. All rights reserved.
|
||||
*/
|
||||
|
||||
"CFBundleDisplayName" = "AutoCat";
|
||||
7
AutoCat/Base.lproj/Localizable.strings
Normal file
7
AutoCat/Base.lproj/Localizable.strings
Normal file
@ -0,0 +1,7 @@
|
||||
/*
|
||||
Localizable.strings
|
||||
AutoCat
|
||||
|
||||
Created by Selim Mustafaev on 01.12.2020.
|
||||
Copyright © 2020 Selim Mustafaev. All rights reserved.
|
||||
*/
|
||||
@ -100,23 +100,23 @@
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="EventCell" id="QIb-Hv-tvk" customClass="EventCell" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="63"/>
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="124.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="QIb-Hv-tvk" id="Ypt-ch-fGT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="63"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="124.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="HP8-oO-yhP">
|
||||
<rect key="frame" x="8" y="8" width="359" height="47"/>
|
||||
<rect key="frame" x="8" y="8" width="359" height="108.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xcQ-Wz-gJ0">
|
||||
<rect key="frame" x="0.0" y="0.0" width="359" height="20.5"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xcQ-Wz-gJ0">
|
||||
<rect key="frame" x="0.0" y="0.0" width="359" height="50"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tQ-zM-6T9">
|
||||
<rect key="frame" x="0.0" y="28.5" width="359" height="18.5"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tQ-zM-6T9">
|
||||
<rect key="frame" x="0.0" y="58" width="359" height="50.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleSubhead"/>
|
||||
<color key="textColor" systemColor="secondaryLabelColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@ -196,26 +196,26 @@
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="VehicleCell" id="VEP-QD-i6y" customClass="VehicleCell" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="85"/>
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="64.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="VEP-QD-i6y" id="8hH-8I-XLB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="85"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="64.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Kia (JF) Optima" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AQY-7N-q8D">
|
||||
<rect key="frame" x="8" y="8" width="124" height="21"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AQY-7N-q8D">
|
||||
<rect key="frame" x="8" y="8" width="0.0" height="0.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RPA-NR-0C6">
|
||||
<rect key="frame" x="334" y="8" width="33" height="16"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RPA-NR-0C6">
|
||||
<rect key="frame" x="367" y="8" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleFootnote"/>
|
||||
<color key="textColor" systemColor="secondaryLabelColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cvf-vM-QnT" customClass="PlateView" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="8" y="37" width="317" height="40"/>
|
||||
<rect key="frame" x="8" y="16.5" width="317" height="40"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="Xoz-Iw-PCU"/>
|
||||
@ -376,21 +376,21 @@
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="AudioRecordCell" id="mzE-bt-IiX" customClass="AudioRecordCell" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="44.5"/>
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="50.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="mzE-bt-IiX" id="bqu-eN-DJP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="50.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fc7-Eb-6ms" customClass="CellProgressView" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44.5"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="50.5"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" alignment="center" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="QSJ-FJ-C4c">
|
||||
<rect key="frame" x="8" y="0.0" width="359" height="44.5"/>
|
||||
<rect key="frame" x="8" y="0.0" width="359" height="50.5"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BKm-HE-Aor">
|
||||
<rect key="frame" x="0.0" y="0.5" width="44" height="44"/>
|
||||
<rect key="frame" x="0.0" y="3.5" width="44" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="BKm-HE-Aor" secondAttribute="height" multiplier="1:1" id="Y4G-Ki-oYP"/>
|
||||
<constraint firstAttribute="height" constant="44" id="lQk-Ob-dxJ"/>
|
||||
@ -401,19 +401,19 @@
|
||||
</connections>
|
||||
</button>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="00:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bFQ-eU-5YJ">
|
||||
<rect key="frame" x="50" y="12" width="0.0" height="20.5"/>
|
||||
<rect key="frame" x="50" y="15" width="0.0" height="20.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" systemColor="systemTealColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MjS-Hy-iGH">
|
||||
<rect key="frame" x="56" y="10.5" width="253.5" height="24"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MjS-Hy-iGH">
|
||||
<rect key="frame" x="56" y="0.5" width="253.5" height="50"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="20"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jgb-TO-YHq">
|
||||
<rect key="frame" x="321.5" y="13.5" width="37.5" height="18"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jgb-TO-YHq">
|
||||
<rect key="frame" x="321.5" y="0.5" width="37.5" height="50"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="15"/>
|
||||
<color key="textColor" systemColor="secondaryLabelColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@ -505,26 +505,26 @@
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="VehicleCell" id="3ON-lr-UlV" customClass="VehicleCell" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="85"/>
|
||||
<rect key="frame" x="0.0" y="28" width="375" height="64.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="3ON-lr-UlV" id="IGw-UK-ebp">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="85"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="64.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Kia (JF) Optima" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h3N-1o-J20">
|
||||
<rect key="frame" x="8" y="8" width="123.5" height="21"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h3N-1o-J20">
|
||||
<rect key="frame" x="8" y="8" width="0.0" height="0.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rKr-3e-WYb">
|
||||
<rect key="frame" x="334" y="8" width="33" height="16"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rKr-3e-WYb">
|
||||
<rect key="frame" x="367" y="8" width="0.0" height="0.0"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleFootnote"/>
|
||||
<color key="textColor" systemColor="secondaryLabelColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VHX-o0-3BP" customClass="PlateView" customModule="AutoCat" customModuleProvider="target">
|
||||
<rect key="frame" x="8" y="37" width="317" height="40"/>
|
||||
<rect key="frame" x="8" y="16.5" width="317" height="40"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="vzo-oF-mWb"/>
|
||||
@ -763,7 +763,7 @@
|
||||
</objects>
|
||||
<point key="canvasLocation" x="199" y="143"/>
|
||||
</scene>
|
||||
<!--Title-->
|
||||
<!--Global Events Controller-->
|
||||
<scene sceneID="akP-Pw-M4Q">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="GlobalEventsController" hidesBottomBarWhenPushed="YES" id="nFZ-L6-cSY" customClass="GlobalEventsController" customModule="AutoCat" customModuleProvider="target" sceneMemberID="viewController">
|
||||
@ -785,7 +785,7 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<toolbarItems/>
|
||||
<navigationItem key="navigationItem" title="Title" id="f2h-mm-Zd0">
|
||||
<navigationItem key="navigationItem" id="f2h-mm-Zd0">
|
||||
<barButtonItem key="rightBarButtonItem" title="Close" id="hCi-F4-z7b">
|
||||
<connections>
|
||||
<action selector="close:" destination="nFZ-L6-cSY" id="to7-KD-Vec"/>
|
||||
|
||||
@ -178,14 +178,14 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
||||
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
|
||||
let vehicle = self.historyDataSource.item(at: indexPath)
|
||||
|
||||
let updateAction = UIContextualAction(style: .normal, title: "Update") { action, view, completion in
|
||||
let updateAction = UIContextualAction(style: .normal, title: NSLocalizedString("Update", comment: "")) { action, view, completion in
|
||||
self.update(vehicle: vehicle)
|
||||
completion(true)
|
||||
}
|
||||
updateAction.image = UIImage(systemName: "arrow.2.circlepath")
|
||||
updateAction.backgroundColor = .systemBlue
|
||||
|
||||
let removeAction = UIContextualAction(style: .destructive, title: "Remove") { action, view, completion in
|
||||
let removeAction = UIContextualAction(style: .destructive, title: NSLocalizedString("Remove", comment: "")) { action, view, completion in
|
||||
self.remove(vehicle: vehicle)
|
||||
}
|
||||
removeAction.image = UIImage(systemName: "trash")
|
||||
@ -203,14 +203,14 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
||||
func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
|
||||
let vehicle = self.historyDataSource.item(at: indexPath)
|
||||
return UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { _ in
|
||||
let update = UIAction(title: "Update", image: UIImage(systemName: "arrow.2.circlepath")) { action in
|
||||
let update = UIAction(title: NSLocalizedString("Update", comment: ""), image: UIImage(systemName: "arrow.2.circlepath")) { action in
|
||||
self.update(vehicle: vehicle)
|
||||
}
|
||||
let remove = UIAction(title: "Remove", image: UIImage(systemName: "trash"), attributes: [.destructive]) { action in
|
||||
let remove = UIAction(title: NSLocalizedString("Remove", comment: ""), image: UIImage(systemName: "trash"), attributes: [.destructive]) { action in
|
||||
self.remove(vehicle: vehicle)
|
||||
}
|
||||
|
||||
return UIMenu(title: "Actions", children: [update, remove])
|
||||
return UIMenu(title: NSLocalizedString("Actions", comment: ""), children: [update, remove])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -7,17 +7,17 @@ class SettingsController: FormViewController {
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
form +++ Section("Profile")
|
||||
form +++ Section(NSLocalizedString("Profile", comment: ""))
|
||||
<<< LabelRow("AutoCatAccount") { row in
|
||||
row.title = "AutoCat Account"
|
||||
row.title = NSLocalizedString("AutoCat Account", comment: "")
|
||||
row.value = Settings.shared.user.email
|
||||
}
|
||||
<<< LabelRow("GoogleAccount") { row in
|
||||
row.title = "Google"
|
||||
row.title = NSLocalizedString("Google", comment: "")
|
||||
if let jwtString = Settings.shared.user.firebaseIdToken, let jwt = JWT<FirebasePayload>(string: jwtString) {
|
||||
row.value = jwt.payload.email
|
||||
} else {
|
||||
row.value = "Log In"
|
||||
row.value = NSLocalizedString("Log In", comment: "")
|
||||
}
|
||||
row.cellUpdate { cell, _ in
|
||||
cell.accessoryType = .disclosureIndicator
|
||||
@ -30,9 +30,9 @@ class SettingsController: FormViewController {
|
||||
}
|
||||
}
|
||||
|
||||
+++ Section(header: "Plate number recognition", footer: "Recognize plate numbers in alternative form. For example 'ЕВА 123 777' instead of 'Е123ВА 777'")
|
||||
+++ Section(header: NSLocalizedString("Plate number recognition", comment: ""), footer: NSLocalizedString("Recognize plate numbers in alternative form. For example 'ЕВА 123 777' instead of 'Е123ВА 777'", comment: ""))
|
||||
<<< SwitchRow("AlternateRecognition") { row in
|
||||
row.title = "Alternative order"
|
||||
row.title = NSLocalizedString("Alternative order", comment: "")
|
||||
row.value = Settings.shared.recognizeAlternativeOrder
|
||||
}.onChange { row in
|
||||
if let val = row.value {
|
||||
@ -40,9 +40,9 @@ class SettingsController: FormViewController {
|
||||
}
|
||||
}
|
||||
|
||||
+++ Section(footer: "If enabled, app will try to recognize shortened plate numbers (without region) and add default region")
|
||||
+++ Section(footer: NSLocalizedString("If enabled, app will try to recognize shortened plate numbers (without region) and add default region", comment: ""))
|
||||
<<< SwitchRow("ShortenedNumbers") { row in
|
||||
row.title = "Shortened numbers"
|
||||
row.title = NSLocalizedString("Shortened numbers", comment: "")
|
||||
row.value = Settings.shared.recognizeShortenedNumbers
|
||||
}.onChange { row in
|
||||
if let val = row.value {
|
||||
@ -50,7 +50,7 @@ class SettingsController: FormViewController {
|
||||
}
|
||||
}
|
||||
<<< TextRow("") { row in
|
||||
row.title = "Default region"
|
||||
row.title = NSLocalizedString("Default region", comment: "")
|
||||
row.placeholder = "161"
|
||||
row.value = Settings.shared.defaultRegion
|
||||
row.hidden = Condition.function(["ShortenedNumbers"], { form in
|
||||
@ -62,9 +62,9 @@ class SettingsController: FormViewController {
|
||||
}
|
||||
}
|
||||
|
||||
+++ Section(footer: "When enabled, you will hear short sound before starting audio recording. This will only work when audio record is started via Siri") { $0.tag = "BeepRecordSection" }
|
||||
+++ Section(footer: NSLocalizedString("When enabled, you will hear short sound before starting audio recording. This will only work when audio record is started via Siri", comment: "")) { $0.tag = "BeepRecordSection" }
|
||||
<<< SwitchRow("BeepRecord") { row in
|
||||
row.title = "Beep before record"
|
||||
row.title = NSLocalizedString("Beep before record", comment: "")
|
||||
row.value = Settings.shared.recordBeep
|
||||
}.onChange{ row in
|
||||
if let val = row.value {
|
||||
@ -73,7 +73,7 @@ class SettingsController: FormViewController {
|
||||
}
|
||||
|
||||
+++ Section("")
|
||||
<<< ButtonRow("SignOut") { $0.title = "Sign Out" }.onCellSelection { cell, row in
|
||||
<<< ButtonRow("SignOut") { $0.title = NSLocalizedString("Sign Out", comment: "") }.onCellSelection { cell, row in
|
||||
self.logout()
|
||||
}
|
||||
|
||||
@ -94,14 +94,15 @@ class SettingsController: FormViewController {
|
||||
func displayLogoutSheet(for row: String) {
|
||||
guard let jwtString = Settings.shared.user.firebaseIdToken, let jwt = JWT<FirebasePayload>(string: jwtString) else { return }
|
||||
|
||||
let sheet = UIAlertController(title: jwt.payload.name, message: "You are currently signed in with email \(jwt.payload.email). It will help to gather more data about vehicles.", preferredStyle: .actionSheet)
|
||||
let msg = String.localizedStringWithFormat(NSLocalizedString("You are currently signed in with email %@. It will help to gather more data about vehicles.", comment: ""), jwt.payload.email)
|
||||
let sheet = UIAlertController(title: jwt.payload.name, message: msg, preferredStyle: .actionSheet)
|
||||
|
||||
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { _ in sheet.dismiss(animated: true, completion: nil) }
|
||||
let logout = UIAlertAction(title: "Sign Out", style: .destructive) { _ in
|
||||
let cancel = UIAlertAction(title: NSLocalizedString("Cancel", comment: ""), style: .cancel) { _ in sheet.dismiss(animated: true, completion: nil) }
|
||||
let logout = UIAlertAction(title: NSLocalizedString("Sign Out", comment: ""), style: .destructive) { _ in
|
||||
Settings.shared.user.firebaseIdToken = nil
|
||||
Settings.shared.user.firebaseRefreshToken = nil
|
||||
if let row = self.form.rowBy(tag: row) as? LabelRow {
|
||||
row.value = "Log In"
|
||||
row.value = NSLocalizedString("Log In", comment: "")
|
||||
row.reload()
|
||||
}
|
||||
}
|
||||
@ -119,7 +120,7 @@ class SettingsController: FormViewController {
|
||||
if let jwtString = Settings.shared.user.firebaseIdToken, let jwt = JWT<FirebasePayload>(string: jwtString) {
|
||||
googleRow.value = jwt.payload.email
|
||||
} else {
|
||||
googleRow.value = "Log In"
|
||||
googleRow.value = NSLocalizedString("Log In", comment: "")
|
||||
}
|
||||
googleRow.reload()
|
||||
}
|
||||
|
||||
@ -30,10 +30,10 @@ struct DateSection<T>: Differentiable, DifferentiableSection where T: Differenti
|
||||
|
||||
let date = Date(timeIntervalSince1970: timestamp)
|
||||
if date.isToday {
|
||||
self.header = "Today"
|
||||
self.header = NSLocalizedString("Today", comment: "")
|
||||
}
|
||||
else if date.isYesterday {
|
||||
self.header = "Yesterday"
|
||||
self.header = NSLocalizedString("Yesterday", comment: "")
|
||||
} else if date.isAfterDate(weekStart, granularity: .day) {
|
||||
formatter.dateFormat = "EEEE"
|
||||
self.header = formatter.string(from: date)
|
||||
|
||||
34
AutoCat/ru.lproj/InfoPlist.strings
Normal file
34
AutoCat/ru.lproj/InfoPlist.strings
Normal file
@ -0,0 +1,34 @@
|
||||
/* (No Comment) */
|
||||
"Add voice record" = "Добавить аудио запись";
|
||||
|
||||
/* InfoPlist.strings
|
||||
AutoCat
|
||||
|
||||
Created by Selim Mustafaev on 01.12.2020.
|
||||
Copyright © 2020 Selim Mustafaev. All rights reserved. */
|
||||
"CFBundleDisplayName" = "АвтоКот";
|
||||
|
||||
/* Bundle name */
|
||||
"CFBundleName" = "АвтоКот";
|
||||
|
||||
/* (No Comment) */
|
||||
"Check plate number" = "Проверить гос. номер";
|
||||
|
||||
/* Privacy - Location Always and When In Use Usage Description */
|
||||
"NSLocationAlwaysAndWhenInUseUsageDescription" = "Доступ необходим для получения координат места проверки номера";
|
||||
|
||||
/* Privacy - Location Always Usage Description */
|
||||
"NSLocationAlwaysUsageDescription" = "Доступ необходим для получения координат места проверки номера";
|
||||
|
||||
/* Privacy - Location When In Use Usage Description */
|
||||
"NSLocationWhenInUseUsageDescription" = "Доступ необходим для получения координат места проверки номера";
|
||||
|
||||
/* Privacy - Microphone Usage Description */
|
||||
"NSMicrophoneUsageDescription" = "Доступ необходим для аудио записей";
|
||||
|
||||
/* Privacy - Photo Library Additions Usage Description */
|
||||
"NSPhotoLibraryAddUsageDescription" = "Автобот требует доступ к галерее для сохранения отчетов";
|
||||
|
||||
/* Privacy - Speech Recognition Usage Description */
|
||||
"NSSpeechRecognitionUsageDescription" = "Доступ необходим для распознавания гос. номера из аудио записи";
|
||||
|
||||
1
AutoCat/ru.lproj/LaunchScreen.strings
Normal file
1
AutoCat/ru.lproj/LaunchScreen.strings
Normal file
@ -0,0 +1 @@
|
||||
|
||||
60
AutoCat/ru.lproj/Localizable.strings
Normal file
60
AutoCat/ru.lproj/Localizable.strings
Normal file
@ -0,0 +1,60 @@
|
||||
/* No comment provided by engineer. */
|
||||
"Actions" = "Действия";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Alternative order" = "Альтернативный порядок";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"AutoCat Account" = "Аккаунт в АвтоКот";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Beep before record" = "Звуковой сигнал перед записью";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Cancel" = "Отмена";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Default region" = "Регион по умолчанию";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Google" = "Аккаунт Google";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"If enabled, app will try to recognize shortened plate numbers (without region) and add default region" = "Если опция включена, приложение попытается распознавать укороченные номера (без региона) и добавлять регион по умолчанию";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Log In" = "Войти";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Plate number recognition" = "Распознавание гос. номера";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Profile" = "Профиль";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Recognize plate numbers in alternative form. For example 'ЕВА 123 777' instead of 'Е123ВА 777'" = "Распознавать гос. номер в альтернативной форме. Например 'ЕВА 123 777' вместо 'Е123ВА 777'";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Remove" = "Удалить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Shortened numbers" = "Укороченные номера";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Sign Out" = "Выйти";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Today" = "Сегодня";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Update" = "Обновить";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"When enabled, you will hear short sound before starting audio recording. This will only work when audio record is started via Siri" = "Если включено, вы услышите короткий звуковой сигнал перед началом записи аудио.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Yesterday" = "Вчера";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are currently signed in with email %@. It will help to gather more data about vehicles." = "Сейчас вы залогинены с почтой %@. Это поможет собирать больше данных для отчета";
|
||||
|
||||
54
AutoCat/ru.lproj/Main.strings
Normal file
54
AutoCat/ru.lproj/Main.strings
Normal file
@ -0,0 +1,54 @@
|
||||
/* Class = "UIBarButtonItem"; title = "Back"; ObjectID = "7QQ-Qi-qEw"; */
|
||||
"7QQ-Qi-qEw.title" = "Назад";
|
||||
|
||||
/* Class = "UITextField"; placeholder = "A001AA 777"; ObjectID = "8FU-Gy-4MU"; */
|
||||
"8FU-Gy-4MU.placeholder" = "A001AA 777";
|
||||
|
||||
/* Class = "UILabel"; text = "00:00"; ObjectID = "bFQ-eU-5YJ"; */
|
||||
"bFQ-eU-5YJ.text" = "00:00";
|
||||
|
||||
/* Class = "UIViewController"; title = "Events"; ObjectID = "DmF-8j-ae3"; */
|
||||
"DmF-8j-ae3.title" = "События";
|
||||
|
||||
/* Class = "UITextField"; placeholder = "Password"; ObjectID = "G1p-Hz-8yn"; */
|
||||
"G1p-Hz-8yn.placeholder" = "Пароль";
|
||||
|
||||
/* Class = "UITabBarItem"; title = "Search"; ObjectID = "gDG-z8-R0t"; */
|
||||
"gDG-z8-R0t.title" = "Поиск";
|
||||
|
||||
/* Class = "UIBarButtonItem"; title = "Close"; ObjectID = "hCi-F4-z7b"; */
|
||||
"hCi-F4-z7b.title" = "Закрыть";
|
||||
|
||||
/* Class = "UIButton"; normalTitle = "Sign up"; ObjectID = "hRD-Ha-MrP"; */
|
||||
"hRD-Ha-MrP.normalTitle" = "Регистрация";
|
||||
|
||||
/* Class = "UIButton"; normalTitle = "Log in"; ObjectID = "ltG-B1-UBj"; */
|
||||
"ltG-B1-UBj.normalTitle" = "Вход";
|
||||
|
||||
/* Class = "UINavigationItem"; title = "Voice records"; ObjectID = "lu2-xz-pMr"; */
|
||||
"lu2-xz-pMr.title" = "Голосовые записи";
|
||||
|
||||
/* Class = "UITabBarItem"; title = "Records"; ObjectID = "lxF-EY-z8V"; */
|
||||
"lxF-EY-z8V.title" = "Аудио";
|
||||
|
||||
/* Class = "UITabBarItem"; title = "Check"; ObjectID = "QJd-35-4OB"; */
|
||||
"QJd-35-4OB.title" = "Проверка";
|
||||
|
||||
/* Class = "UILabel"; text = "or"; ObjectID = "SXb-1Q-TxY"; */
|
||||
"SXb-1Q-TxY.text" = "или";
|
||||
|
||||
/* Class = "UINavigationItem"; title = "Filters"; ObjectID = "U4X-4i-ZJm"; */
|
||||
"U4X-4i-ZJm.title" = "Фильтры";
|
||||
|
||||
/* Class = "UITextField"; placeholder = "Email"; ObjectID = "Uey-88-eZL"; */
|
||||
"Uey-88-eZL.placeholder" = "Email";
|
||||
|
||||
/* Class = "UIButton"; normalTitle = "Check"; ObjectID = "Ync-fd-xQI"; */
|
||||
"Ync-fd-xQI.normalTitle" = "Проверить";
|
||||
|
||||
/* Class = "UITabBarItem"; title = "Settings"; ObjectID = "zEL-ph-E2f"; */
|
||||
"zEL-ph-E2f.title" = "Настройки";
|
||||
|
||||
/* Class = "UIBarButtonItem"; title = "Close"; ObjectID = "ZHH-OZ-vHc"; */
|
||||
"ZHH-OZ-vHc.title" = "Закрыть";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user