Sha256: 88ee4989e4574c8b72e0d57e24f4a3471180fe9a4234c065e35e17b3c3ee6338
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
// // <%= @filename %> // xcmultilingual // // Created by xcmultilingual. // // import Foundation struct <%= @name %> { <% class_for_bundle = "ClassForBundle" %> class <%= class_for_bundle %> {} <% @bundle_data.each do |bundle| -%> <% enum_prefix = bundle.name.nil? ? "" : bundle.name.safe.capitalize -%> <% bundle.tables.each do |table| -%> <% enum_name = enum_prefix + table.name.safe -%> enum <%= enum_name %>: String { <% table.keys.each do |key| -%> case <%= key.safe %> = "<%= key %>" <% end # keys -%> var value: String { return NSLocalizedString(rawValue, tableName: <%= enum_name %>.name, bundle: <%= @name %>.bundle(<%= bundle.name.nil? ? "nil" : "\"#{bundle.name}.bundle\"" %>), value: rawValue, comment: "") } static let name = "<%= table.name %>" static var keys: [String] { return ["<%= table.keys.join("\", \"") %>"] } static var localizations: [String] { return <%= enum_name %>.keys.map { <%= enum_name %>(rawValue: $0)!.value } } } <%- end # table -%> <%- end # bundle -%> } extension <%= @name %> { private static func bundle(bundleFile: String?) -> NSBundle { if let bundleFile = bundleFile { let path = NSBundle(forClass: <%= @name %>.ClassForBundle.self).resourcePath!.stringByAppendingPathComponent(bundleFile) return NSBundle(path: path)! } return NSBundle(forClass: ClassForBundle.self) } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xcmultilingual-0.3.1 | lib/xcmultilingual/templates/swift.erb |