@@ -104,7 +104,7 @@ extension StringsTable {
104104 // only functions with named parameters
105105 let functions = strings
106106 . filter { $0. params. contains { $0. name != nil } }
107- . map { $0. generateFunction ( ) }
107+ . flatMap { [ $0. generateFunctionBlank ( ) , $0 . generateFunctionPreferredLanguages ( ) ] }
108108
109109 let comments = [ " This ` \( qualifiedName. value) ` struct is generated, and contains static references to \( vargetters. count) localization keys. " ]
110110
@@ -311,24 +311,33 @@ private struct StringWithParams {
311311 let values : [ ( LocaleReference , String ) ]
312312 let developmentLanguage : String ?
313313
314- func generateFunction ( ) -> Function {
314+ func generateFunctionBlank ( ) -> Function {
315315 let parameters : [ Function . Parameter ] = zip ( params. indices, params) . map { ( ix, p) in
316316 . init( name: p. name ?? " _ " , localName: " value \( ix + 1 ) " , typeReference: p. spec. typeReference, defaultValue: nil )
317317 }
318- let languages : Function . Parameter = . init( name: " preferredLanguages " , localName: nil , typeReference: TypeReference ( module: . stdLib, rawName: " [String]? " ) , defaultValue: " nil " )
319318 let arguments = parameters. map { $0. localName ?? $0. name } . joined ( separator: " , " )
320319 return Function (
321320 comments: self . comments,
322321 name: SwiftIdentifier ( name: key) ,
322+ params: parameters,
323+ returnType: . string,
324+ valueCodeString: " String(format: \( SwiftIdentifier ( name: key) . value) , \( arguments) ) "
325+ )
326+ }
327+
328+ func generateFunctionPreferredLanguages( ) -> Function {
329+ let parameters : [ Function . Parameter ] = zip ( params. indices, params) . map { ( ix, p) in
330+ . init( name: p. name ?? " _ " , localName: " value \( ix + 1 ) " , typeReference: p. spec. typeReference, defaultValue: nil )
331+ }
332+ let languages : Function . Parameter = . init( name: " preferredLanguages " , localName: nil , typeReference: TypeReference ( module: . stdLib, rawName: " [String] " ) , defaultValue: nil )
333+ let arguments = parameters. map { $0. localName ?? $0. name } . joined ( separator: " , " )
334+ return Function (
335+ comments: self . comments,
336+ deprecated: " Use R.string(preferredLanguages:).*.* instead " ,
337+ name: SwiftIdentifier ( name: key) ,
323338 params: parameters + [ languages] ,
324339 returnType: . string,
325- valueCodeString: """
326- if let preferredLanguages = preferredLanguages {
327- return String(format: \( SwiftIdentifier ( name: key) . value) , preferredLanguages: preferredLanguages, \( arguments) )
328- } else {
329- return String(format: \( SwiftIdentifier ( name: key) . value) , \( arguments) )
330- }
331- """
340+ valueCodeString: " String(format: \( SwiftIdentifier ( name: key) . value) , preferredLanguages: preferredLanguages, \( arguments) ) "
332341 )
333342 }
334343
0 commit comments