Skip to content

Commit

Permalink
✨ Use Xcode string catalogs for localization
Browse files Browse the repository at this point in the history
  • Loading branch information
igorkulman committed Jan 13, 2024
1 parent edf76b7 commit 6ea4a33
Show file tree
Hide file tree
Showing 13 changed files with 302 additions and 190 deletions.
50 changes: 6 additions & 44 deletions Sources/iOSSampleApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
F33474FA244F67270034B1C2 /* RxSwiftExt in Frameworks */ = {isa = PBXBuildFile; productRef = F33474F9244F67270034B1C2 /* RxSwiftExt */; };
F33A1F4124C9866F008ED2BD /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = F33A1F4024C9866F008ED2BD /* Log.swift */; };
F33EB3FE1FBDD81F0050560D /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F33EB3FD1FBDD81F0050560D /* UIViewController+Extensions.swift */; };
F3520E74206017000011EF40 /* Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3520E73206017000011EF40 /* Strings.swift */; };
F35BD6392065111F000AE4E8 /* AppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F35BD6382065111F000AE4E8 /* AppUITests.swift */; };
F3651D22203C1B0D0082A73A /* DataService.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3651D21203C1B0D0082A73A /* DataService.swift */; };
F3651D26203C1B3A0082A73A /* SettingsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3651D25203C1B3A0082A73A /* SettingsService.swift */; };
F3659D2F2B52A18000029D22 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = F3659D2E2B52A18000029D22 /* Localizable.xcstrings */; };
F376423625A4689800C58CE5 /* Nuke in Frameworks */ = {isa = PBXBuildFile; productRef = F376423525A4689800C58CE5 /* Nuke */; };
F37781152085E14C00146DBE /* Optional+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F37781142085E14C00146DBE /* Optional+Extensions.swift */; };
F38CD1BD1F8382950050056C /* RssSourceViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F38CD1BC1F8382950050056C /* RssSourceViewModel.swift */; };
Expand Down Expand Up @@ -83,8 +83,6 @@
F3CBB19621CCFFA00023EE18 /* RxSwift+WKWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3CBB19521CCFFA00023EE18 /* RxSwift+WKWebView.swift */; };
F3D6865C1F9B761E00879154 /* TestExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3D6865B1F9B761E00879154 /* TestExtensions.swift */; };
F3D7D14B2441C599001695B9 /* DebugUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3D7D14A2441C599001695B9 /* DebugUtils.swift */; };
F3D9327C21628CDE00EA1E91 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F3D9327E21628CDE00EA1E91 /* Localizable.strings */; };
F3D9328521628D2300EA1E91 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F3D9328321628D2300EA1E91 /* Localizable.strings */; };
F3EEA696234A3BE800A2FCB5 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3EEA695234A3BE800A2FCB5 /* SnapshotHelper.swift */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -113,12 +111,12 @@
F3208A911F84EAF400B57B0E /* CustomSourceViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomSourceViewModelTests.swift; sourceTree = "<group>"; };
F33A1F4024C9866F008ED2BD /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = "<group>"; };
F33EB3FD1FBDD81F0050560D /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Extensions.swift"; sourceTree = "<group>"; };
F3520E73206017000011EF40 /* Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = "<group>"; };
F35BD6362065111F000AE4E8 /* iOSSampleAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iOSSampleAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
F35BD6382065111F000AE4E8 /* AppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUITests.swift; sourceTree = "<group>"; };
F35BD63A2065111F000AE4E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F3651D21203C1B0D0082A73A /* DataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataService.swift; sourceTree = "<group>"; };
F3651D25203C1B3A0082A73A /* SettingsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsService.swift; sourceTree = "<group>"; };
F3659D2E2B52A18000029D22 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
F37781142085E14C00146DBE /* Optional+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Optional+Extensions.swift"; sourceTree = "<group>"; };
F38CD1BC1F8382950050056C /* RssSourceViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RssSourceViewModel.swift; sourceTree = "<group>"; };
F38CD1BF1F8384490050056C /* Bundle+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+Extensions.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -175,8 +173,6 @@
F3CBB19521CCFFA00023EE18 /* RxSwift+WKWebView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RxSwift+WKWebView.swift"; sourceTree = "<group>"; };
F3D6865B1F9B761E00879154 /* TestExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestExtensions.swift; sourceTree = "<group>"; };
F3D7D14A2441C599001695B9 /* DebugUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUtils.swift; sourceTree = "<group>"; };
F3D9327F21628CE200EA1E91 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
F3D9328421628D2300EA1E91 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = "<group>"; };
F3EEA695234A3BE800A2FCB5 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapshotHelper.swift; path = ../../fastlane/SnapshotHelper.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -560,9 +556,7 @@
F3A813141F837EDD00A09AAB /* Resources */ = {
isa = PBXGroup;
children = (
F3520E73206017000011EF40 /* Strings.swift */,
F3D9328221628CF900EA1E91 /* sk */,
F3D9328121628CF000EA1E91 /* en */,
F3659D2E2B52A18000029D22 /* Localizable.xcstrings */,
);
path = Resources;
sourceTree = "<group>";
Expand Down Expand Up @@ -602,22 +596,6 @@
path = Mocks;
sourceTree = "<group>";
};
F3D9328121628CF000EA1E91 /* en */ = {
isa = PBXGroup;
children = (
F3D9327E21628CDE00EA1E91 /* Localizable.strings */,
);
name = en;
sourceTree = "<group>";
};
F3D9328221628CF900EA1E91 /* sk */ = {
isa = PBXGroup;
children = (
F3D9328321628D2300EA1E91 /* Localizable.strings */,
);
name = sk;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand Down Expand Up @@ -777,9 +755,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F3D9327C21628CDE00EA1E91 /* Localizable.strings in Resources */,
F3D9328521628D2300EA1E91 /* Localizable.strings in Resources */,
F3A4B2171FC432CA00787BCE /* Licenses.plist in Resources */,
F3659D2F2B52A18000029D22 /* Localizable.xcstrings in Resources */,
F3A812C21F83740E00A09AAB /* LaunchScreen.storyboard in Resources */,
F38CD1C21F8385450050056C /* sources.json in Resources */,
F3A812BF1F83740E00A09AAB /* Assets.xcassets in Resources */,
Expand Down Expand Up @@ -853,7 +830,6 @@
F3C5F3632962C56300257080 /* FormFieldView.swift in Sources */,
F3C5F35E2961EADD00257080 /* UIEdgeInsets+Extensions.swift in Sources */,
F38CD22F1F83A2B90050056C /* CustomSourceViewController.swift in Sources */,
F3520E74206017000011EF40 /* Strings.swift in Sources */,
F39064951F84D4D8003C0C12 /* FeedViewModel.swift in Sources */,
F38CD1CD1F8386A00050056C /* RssSourceCell.swift in Sources */,
F390649B1F84DC7A003C0C12 /* RssItem.swift in Sources */,
Expand Down Expand Up @@ -898,22 +874,6 @@
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
F3D9327E21628CDE00EA1E91 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
F3D9327F21628CE200EA1E91 /* Base */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
F3D9328321628D2300EA1E91 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
F3D9328421628D2300EA1E91 /* sk */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
Expand Down Expand Up @@ -1039,6 +999,7 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
Expand Down Expand Up @@ -1101,6 +1062,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand Down
26 changes: 0 additions & 26 deletions Sources/iOSSampleApp/Resources/Base.lproj/Localizable.strings

This file was deleted.

Loading

0 comments on commit 6ea4a33

Please sign in to comment.