Việc ứng dụng của bạn hỗ trợ đa ngôn ngữ theo mình là cần thiết trong xu thế toàn cầu như ngày nay. Mình thấy thiết lập này không hề khó khăn gì lắm, chỉ vài thao tác đơn giản là ứng dụng bạn đã có thể hỗ trợ ngôn ngữ bạn mong muốn. Nay mình sẽ giới thiệu cách mình hay dùng để thiết lập hỗ trợ đa ngôn ngữ trong app.
1. Thêm file Localizable.strings để lưu trữ các string File -> New -> Strings file
2. Thêm file Localizations cho ngôn ngữ bạn muốn hỗ trợ. Ví dụ này mình thêm Tiếng Việt (Vietnamese)
スクリーンショット 2018-04-17 16.40.50
3. Sau khi thêm ngôn ngữ bạn muốn hỗ trợ xong, bạn sẽ thêm file Localizable.string(Vietnamese) và thêm strings bạn muốn hỗ trợ đa ngôn ngữ vào đó.
スクリーンショット 2018-04-17 16.45.17
4. Thêm đoạn extension sau vào String.

public extension String {
    func localized() -> String {
         let lang = Lang.shared.getLangCode()
         let path = Bundle.main.path(forResource: lang, ofType: "lproj")
         let bundle = Bundle(path: path!)

        return NSLocalizedString(self, tableName: nil, bundle: bundle!, value: "", comment: "")
    }
}

Hàm getLangCode() lấy ra mã code của ngôn ngữ hiện tại device đang sử dụng, các bạn tự viết hàm này nhé. Lúc sử dụng thì bạn chỉ cần gọi hàm trên là được. Ví dụ: label.text = “huuthangit”.localized() Còn đối với các file xib, storyboard. Bạn chỉ cần check chọn ngôn ngữ bạn muốn hỗ trợ ở File Inspector là sẽ tự động sinh ra file tương ứng để bạn thêm ngôn ngữ tương ứng cho các object.