Skip to content

Instantly share code, notes, and snippets.

@ukitaka
Created November 21, 2016 03:17
Show Gist options
  • Select an option

  • Save ukitaka/63aafc210b0d7371df1b5fc4d972a276 to your computer and use it in GitHub Desktop.

Select an option

Save ukitaka/63aafc210b0d7371df1b5fc4d972a276 to your computer and use it in GitHub Desktop.
struct Localizable<T> {
private let values: [LanguageCode:T]
init(values: [LanguageCode:T]) {
self.values = values
}
func value(languageCode: LanguageCode) -> T? {
return values[languageCode]
}
}
// Utils
extension Localizable {
var en: T? {
return value(languageCode: .en)
}
var ja: T? {
return value(languageCode: .ja)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment