Localizability

Swifty and modern NSLocalizedString

Localizability is a simple Swift library to localize strings easily.

Inspired by sindresorhus/Defaults.

Install

Swift PM

Add https://github.com/Fus1onDev/Localizability in Swift Package Manager.

Features

Usage

First, add some keys and values to Localizable.strings.

"thisIsASampleText" = "This is a sample text.";

"iLikeString" = "I like %@.";

Next, declare the keys.

import Localizability

extension Localized.Keys {
    static let thisIsASampleText = Key("thisIsASampleText")
    static let iLikeString = Key("iLikeString")
}

Finally, you can access it like this:

let str = Localized[.thisIsASampleText]
print(str)

// "This is a sample text." (in your language)

String Templates

If arguments are added, the localized string is used as a template.

let str = Localized[.iLikeString, "apples"]
print(str)

// "I like apples." (in your language)

SwiftUI Supports

These SwiftUI components are also available.

var body: some View {
    LocalizedText(key: .thisIsASampleText)
    // or
    LocalizedText[.thisIsASampleText]
}

LICENSE

MIT

GitHub

View Github