lib/xcmultilingual/templates/swift.erb in xcmultilingual-0.1.7 vs lib/xcmultilingual/templates/swift.erb in xcmultilingual-0.2.0
- old
+ new
@@ -9,27 +9,28 @@
import Foundation
struct <%= @name %> {
<% @bundle_data.each do |bundle| -%>
<% nsbundle = bundle.name ? "Multilingual.bundle(\"#{bundle.relative_path}\")" : "NSBundle.mainBundle()" -%>
-<% bundle_name = bundle.name.nil? ? "" : bundle.name.gsub(" ", "_").capitalize -%>
+<% bundle_name = bundle.name.nil? ? "" : bundle.name.safe.capitalize -%>
<% bundle.tables.each do |table| -%>
-<% class_name = bundle_name + table.name.gsub(" ", "_") -%>
+<% class_name = bundle_name + table.name.safe -%>
enum <%= class_name %>: String {
<% table.keys.each do |key| -%>
- case <%= key.gsub(" ", "_") %> = "<%= key %>"
+ case <%= key.safe %> = "<%= key %>"
<% end # keys -%>
func string() -> String {
return NSLocalizedString(rawValue, tableName: "<%= table.name %>", bundle: <%= nsbundle %>, value: "\(rawValue)", comment: "")
}
- static func keys() -> [String] {
+ static let name = "<%= table.name %>"
+
+ static var keys: [String] {
return ["<%= table.keys.join("\", \"") %>"]
}
-
- static func localizations() -> [String] {
- return <%= class_name %>.keys().map { <%= class_name %>(rawValue: $0)!.string() }
+ static var localizations: [String] {
+ return <%= class_name %>.keys.map { <%= class_name %>(rawValue: $0)!.string() }
}
}
<%- end # table -%>
<%- end # bundle -%>