@@ -111,24 +111,30 @@ public struct Translation {
111
111
return rawKey. capitalized. replacingOccurrences ( of: " _ " , with: " " )
112
112
}
113
113
114
- func swiftCode( accessModifier: AccessModifier = . public) -> String {
114
+ func swiftCode( accessModifier: AccessModifier = . public, bundleModifier : BundleModifier = . main ) -> String {
115
115
if variables. isEmpty {
116
- return generateVariableLessSwiftCode ( accessModifier: accessModifier)
116
+ return generateVariableLessSwiftCode ( accessModifier: accessModifier, bundleModifier : bundleModifier )
117
117
} else {
118
- return generateVariableSwiftCode ( accessModifier: accessModifier)
118
+ return generateVariableSwiftCode ( accessModifier: accessModifier, bundleModifier : bundleModifier )
119
119
}
120
120
}
121
121
122
- private func generateVariableLessSwiftCode( accessModifier: AccessModifier = . public) -> String {
122
+ private func generateVariableLessSwiftCode(
123
+ accessModifier: AccessModifier ,
124
+ bundleModifier: BundleModifier
125
+ ) -> String {
123
126
/*
124
127
static var Welcome: String {
125
128
return NSLocalizedString()
126
129
}
127
130
*/
128
- return " \t \( accessModifier. rawValue) static var \( prettyKey) : String { \n \t \t return \( localizedStringFunction) ( \" \( rawKey) \" , comment: \" \" ) \n \t } \n "
131
+ return " \t \( accessModifier. rawValue) static var \( prettyKey) : String { \n \t \t return \( localizedStringFunction) ( \" \( rawKey) \" , bundle: \( bundleModifier . rawValue ) , comment: \" \" ) \n \t } \n "
129
132
}
130
133
131
- private func generateVariableSwiftCode( accessModifier: AccessModifier = . public) -> String {
134
+ private func generateVariableSwiftCode(
135
+ accessModifier: AccessModifier ,
136
+ bundleModifier: BundleModifier
137
+ ) -> String {
132
138
/*
133
139
static func ReadBooksKey(readNumber: Int) -> String {
134
140
return ""
@@ -141,7 +147,7 @@ public struct Translation {
141
147
. map { $0. parameterKey }
142
148
. map { $0. snakeCased ( ) }
143
149
. joined ( separator: " , " )
144
- return " \t \( accessModifier. rawValue) static func \( prettyKey) ( \( parameters) ) -> String { \n \t \t return String(format: \( localizedStringFunction) ( \" \( rawKey) \" , comment: \" \" ), \( localizedArguments) ) \n \t } "
150
+ return " \t \( accessModifier. rawValue) static func \( prettyKey) ( \( parameters) ) -> String { \n \t \t return String(format: \( localizedStringFunction) ( \" \( rawKey) \" , bundle: \( bundleModifier . rawValue ) , comment: \" \" ), \( localizedArguments) ) \n \t } "
145
151
}
146
152
147
153
}
@@ -182,12 +188,15 @@ public class FileCodeGenerator: SwiftCodeGenerator {
182
188
183
189
let fileHandle : FileHandle
184
190
let accessModifier : AccessModifier
191
+ let bundleModifier : BundleModifier
185
192
public init (
186
193
fileHandle: FileHandle ,
187
- access: String
194
+ access: String ,
195
+ bundle: String
188
196
) {
189
197
self . fileHandle = fileHandle
190
- self . accessModifier = AccessModifier ( accessString: access)
198
+ self . accessModifier = . init( accessString: access)
199
+ self . bundleModifier = . init( bundleName: bundle)
191
200
}
192
201
193
202
// TODO: Generalize!!! += (same code as in string)
@@ -196,7 +205,7 @@ public class FileCodeGenerator: SwiftCodeGenerator {
196
205
197
206
for t in translations {
198
207
fileHandle += SwiftCodeGeneratorConstants . methodOrVariableHeader
199
- fileHandle += t. swiftCode ( accessModifier: accessModifier)
208
+ fileHandle += t. swiftCode ( accessModifier: accessModifier, bundleModifier : bundleModifier )
200
209
}
201
210
202
211
fileHandle += SwiftCodeGeneratorConstants . rootObjectFooter
@@ -364,6 +373,15 @@ enum AccessModifier: String {
364
373
}
365
374
}
366
375
376
+ enum BundleModifier : String {
377
+ case main
378
+ case module
379
+
380
+ init ( bundleName: String ) {
381
+ self = BundleModifier ( rawValue: bundleName) ?? . main
382
+ }
383
+ }
384
+
367
385
368
386
extension String {
369
387
var first : String {
0 commit comments