Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit f420831

Browse files
committed
Add StringResource for localizations
1 parent 0710af2 commit f420831

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

Diff for: Library/Core/StringResource.swift

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//
2+
// StringResource.swift
3+
// R.swift.Library
4+
//
5+
// Created by Tom Lokhorst on 2016-04-23.
6+
// Copyright © 2016 Mathijs Kadijk. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
public protocol StringResourceType {
12+
13+
/// Key for the string
14+
var key: String { get }
15+
16+
/// File in containing the string
17+
var tableName: String { get }
18+
19+
/// Locales of the a localizable string
20+
var locales: [String] { get }
21+
}
22+
23+
public struct StringResource: StringResourceType {
24+
25+
/// Key for the string
26+
public let key: String
27+
28+
/// File in containing the string
29+
public let tableName: String
30+
31+
/// Locales of the a localizable string
32+
public let locales: [String]
33+
34+
public init(key: String, tableName: String, locales: [String]) {
35+
self.key = key
36+
self.tableName = tableName
37+
self.locales = locales
38+
}
39+
}

Diff for: R.swift.Library.xcodeproj/project.pbxproj

+6
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@
6565
E24720CA1C96B4D100DF291D /* ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22D43661C95EEA100692FFF /* ColorResource.swift */; };
6666
E250BE941CCBCEB100CC71DE /* ColorResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE931CCBCEB100CC71DE /* ColorResource+UIKit.swift */; };
6767
E250BE951CCBF58200CC71DE /* ColorResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE931CCBCEB100CC71DE /* ColorResource+UIKit.swift */; };
68+
E250BE971CCBF60300CC71DE /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; };
69+
E250BE991CCBF7E900CC71DE /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; };
6870
/* End PBXBuildFile section */
6971

7072
/* Begin PBXContainerItemProxy section */
@@ -119,6 +121,7 @@
119121
E20F34A61C92B44100338F81 /* NSData+FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSData+FileResource.swift"; sourceTree = "<group>"; };
120122
E22D43661C95EEA100692FFF /* ColorResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorResource.swift; sourceTree = "<group>"; };
121123
E250BE931CCBCEB100CC71DE /* ColorResource+UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ColorResource+UIKit.swift"; sourceTree = "<group>"; };
124+
E250BE961CCBF60300CC71DE /* StringResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringResource.swift; sourceTree = "<group>"; };
122125
/* End PBXFileReference section */
123126

124127
/* Begin PBXFrameworksBuildPhase section */
@@ -188,6 +191,7 @@
188191
D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */,
189192
D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */,
190193
D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */,
194+
E250BE961CCBF60300CC71DE /* StringResource.swift */,
191195
D53F19231C229D7200AE2FAD /* Validatable.swift */,
192196
);
193197
path = Core;
@@ -438,6 +442,7 @@
438442
806E69AB1C42BDDA00DE3A8B /* Identifier.swift in Sources */,
439443
806E69B01C42BDDA00DE3A8B /* Validatable.swift in Sources */,
440444
806E69B31C42BDE000DE3A8B /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */,
445+
E250BE991CCBF7E900CC71DE /* StringResource.swift in Sources */,
441446
D5728B321C4D541500E38168 /* NSBundle+FileResource.swift in Sources */,
442447
E250BE951CCBF58200CC71DE /* ColorResource+UIKit.swift in Sources */,
443448
806E69B91C42BDE000DE3A8B /* UITableView+ReuseIdentifierProtocol.swift in Sources */,
@@ -479,6 +484,7 @@
479484
D543F9BF1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift in Sources */,
480485
D543F9C81C14995800D16A0C /* UIViewController+NibResource.swift in Sources */,
481486
D5E435A91C3CFB460091090C /* NibResource+UIKit.swift in Sources */,
487+
E250BE971CCBF60300CC71DE /* StringResource.swift in Sources */,
482488
D543F9CF1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */,
483489
E250BE941CCBCEB100CC71DE /* ColorResource+UIKit.swift in Sources */,
484490
D543F9C41C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift in Sources */,

0 commit comments

Comments
 (0)