@@ -156,17 +156,19 @@ enum SwiftCodeGeneratorConstants {
156156 return formatter
157157 } ( )
158158
159- static let rootObjectHeader = """
160- // Generated using POEditorParser
161- // DO NOT EDIT
162- // Generated: \( SwiftCodeGeneratorConstants . dateFormatter. string ( from: Date ( ) ) )
163-
164- // swiftlint:disable all
159+ static func rootObjectHeader( accessModifier: AccessModifier = . public) -> String {
160+ """
161+ // Generated using POEditorParser
162+ // DO NOT EDIT
163+ // Generated: \( SwiftCodeGeneratorConstants . dateFormatter. string ( from: Date ( ) ) )
164+
165+ // swiftlint:disable all
165166
166- import Foundation
167-
168- enum Literals {
169- """
167+ import Foundation
168+
169+ \( accessModifier. rawValue) enum Literals {
170+ """
171+ }
170172 static let rootObjectFooter = " \n } \n // swiftlint:enable all \n "
171173
172174 static let methodOrVariableHeader = " \n "
@@ -181,7 +183,7 @@ class StringCodeGenerator: SwiftCodeGenerator {
181183 var generatedResult = " "
182184
183185 func generateCode( translations: [ Translation ] ) {
184- generatedResult += SwiftCodeGeneratorConstants . rootObjectHeader
186+ generatedResult += SwiftCodeGeneratorConstants . rootObjectHeader ( )
185187
186188 for t in translations {
187189 generatedResult += SwiftCodeGeneratorConstants . methodOrVariableHeader
@@ -195,13 +197,18 @@ class StringCodeGenerator: SwiftCodeGenerator {
195197public class FileCodeGenerator : SwiftCodeGenerator {
196198
197199 let fileHandle : FileHandle
198- public init ( fileHandle: FileHandle ) {
200+ let accessModifier : AccessModifier
201+ public init (
202+ fileHandle: FileHandle ,
203+ access: String
204+ ) {
199205 self . fileHandle = fileHandle
206+ self . accessModifier = AccessModifier ( accessString: access)
200207 }
201208
202209 // TODO: Generalize!!! += (same code as in string)
203210 public func generateCode( translations: [ Translation ] ) {
204- fileHandle += SwiftCodeGeneratorConstants . rootObjectHeader
211+ fileHandle += SwiftCodeGeneratorConstants . rootObjectHeader ( )
205212
206213 for t in translations {
207214 fileHandle += SwiftCodeGeneratorConstants . methodOrVariableHeader
@@ -365,6 +372,15 @@ enum TranslationValueParser {
365372}
366373
367374
375+ enum AccessModifier : String {
376+ case `public`, `private`, `open`, `internal`
377+
378+ init ( accessString: String ) {
379+ self = AccessModifier ( rawValue: accessString) ?? . public
380+ }
381+ }
382+
383+
368384extension String {
369385 var first : String {
370386 return String ( prefix ( 1 ) )
0 commit comments