@@ -15,7 +15,7 @@ extension Struct {
1515 deploymentTarget: deploymentTarget,
1616 name: SwiftIdentifier ( name: name) ,
1717 typeReference: TypeReference ( module: . host, rawName: self . name. value) ,
18- valueCodeString: " .init(bundle: bundle, preferredLanguages: nil) "
18+ valueCodeString: " .init(bundle: bundle, preferredLanguages: nil, locale: nil ) "
1919 )
2020 }
2121
@@ -26,7 +26,18 @@ extension Struct {
2626 name: SwiftIdentifier ( name: name) ,
2727 params: [ . init( name: " bundle " , localName: nil , typeReference: . bundle, defaultValue: nil ) ] ,
2828 returnType: TypeReference ( module: . host, rawName: self . name. value) ,
29- valueCodeString: " .init(bundle: bundle, preferredLanguages: nil) "
29+ valueCodeString: " .init(bundle: bundle, preferredLanguages: nil, locale: nil) "
30+ )
31+ }
32+
33+ public func generateLocaleFunctionForString( name: String ) -> Function {
34+ Function (
35+ comments: [ ] ,
36+ deploymentTarget: deploymentTarget,
37+ name: SwiftIdentifier ( name: name) ,
38+ params: [ . init( name: " locale " , localName: nil , typeReference: . locale, defaultValue: nil ) ] ,
39+ returnType: TypeReference ( module: . host, rawName: self . name. value) ,
40+ valueCodeString: " .init(bundle: bundle, preferredLanguages: nil, locale: locale) "
3041 )
3142 }
3243
@@ -35,9 +46,12 @@ extension Struct {
3546 comments: [ ] ,
3647 deploymentTarget: deploymentTarget,
3748 name: SwiftIdentifier ( name: name) ,
38- params: [ . init( name: " preferredLanguages " , localName: nil , typeReference: . init( module: . stdLib, rawName: " [String] " ) , defaultValue: nil ) ] ,
49+ params: [
50+ . init( name: " preferredLanguages " , localName: nil , typeReference: . init( module: . stdLib, rawName: " [String] " ) , defaultValue: nil ) ,
51+ . init( name: " locale " , localName: nil , typeReference: . init( module: . stdLib, rawName: " Locale? " ) , defaultValue: " nil " )
52+ ] ,
3953 returnType: TypeReference ( module: . host, rawName: self . name. value) ,
40- valueCodeString: " .init(bundle: bundle, preferredLanguages: preferredLanguages) "
54+ valueCodeString: " .init(bundle: bundle, preferredLanguages: preferredLanguages, locale: locale ) "
4155 )
4256 }
4357}
@@ -85,10 +99,12 @@ extension StringsTable {
8599 params: [
86100 . init( name: " bundle " , localName: nil , typeReference: . bundle, defaultValue: nil ) ,
87101 . init( name: " preferredLanguages " , localName: nil , typeReference: . init( module: . stdLib, rawName: " [String]? " ) , defaultValue: " nil " ) ,
102+ . init( name: " locale " , localName: nil , typeReference: . init( module: . stdLib, rawName: " Locale? " ) , defaultValue: " nil " ) ,
88103 ] ,
89104 valueCodeString: """
90105 self.bundle = bundle
91106 self.preferredLanguages = preferredLanguages
107+ self.locale = locale
92108 """
93109 )
94110 }
@@ -131,7 +147,7 @@ extension StringsTable {
131147 VarGetter (
132148 name: name,
133149 typeReference: TypeReference ( module: . host, rawName: name. value) ,
134- valueCodeString: #".init(source: .init(bundle: bundle, tableName: " \#( tableName. escapedStringLiteral) ", preferredLanguages: preferredLanguages))"#
150+ valueCodeString: #".init(source: .init(bundle: bundle, tableName: " \#( tableName. escapedStringLiteral) ", preferredLanguages: preferredLanguages, locale: locale ))"#
135151 )
136152 }
137153
@@ -156,7 +172,7 @@ extension StringsTable {
156172 . init( name: " preferredLanguages " , localName: nil , typeReference: TypeReference ( module: . stdLib, rawName: " [String] " ) , defaultValue: nil ) ,
157173 ] ,
158174 returnType: TypeReference ( module: . host, rawName: name. value) ,
159- valueCodeString: #".init(source: .init(bundle: bundle, tableName: " \#( tableName. escapedStringLiteral) ", preferredLanguages: preferredLanguages))"#
175+ valueCodeString: #".init(source: .init(bundle: bundle, tableName: " \#( tableName. escapedStringLiteral) ", preferredLanguages: preferredLanguages, locale: locale ))"#
160176 )
161177 }
162178
0 commit comments