Cách Localize String Đơn Giản trong Swift

Localize String Là Gì?

"Localize String" là quá trình dịch các label, buttton, text và nội dung nói chung sang nhiều ngôn ngữ. Điều này rất quan trọng, bởi vì bạn có thể tưởng tượng, ứng dụng càng hỗ trợ nhiều ngôn ngữ thì càng có nhiều người dùng được khuyến khích tải xuống và sử dụng nó.
Hôm nay tôi sẽ giải thích làm thế nào bạn có thể thực hiện "Localize String" một cách dễ dàng và nhanh chóng.

Chuẩn bị Trước Khi Localize String

Đầu tiên, mở Xcode và tạo một dự án Xcode mới. Chọn "Single View App"
Chọn class ViewController.swift và add label với text “Hello” ở giữa màn hình.
override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        let width = UIScreen.main.bounds.width
        let height = UIScreen.main.bounds.height
        let label = UILabel(frame: CGRect(x: width / 2, y: height / 2, width: 120, height: 30))
        label.text = "Hello"
        label.center = CGPoint(x: width / 2, y: height / 2)
        label.textAlignment = .center
        self.view?.addSubview(label)
        
    }

Thực hiện

OK, Label đã sẵn sàng để hiện thị trong ứng dụng nhưng làm thế nào để ứng dụng sẽ hỗ trợ nhiều ngôn ngữ khác nhau, làm thế nào có thể thay đổi văn bản một cách linh hoạt?
Điều đầu tiên cần làm là thêm một file Strings vào dự án, file này sẽ chứa tất cả các chuỗi của ứng dụng, và đặt tên là "Localizations"
Bên trong file này chúng ta sẽ thêm các (key,value) để định nghĩa cho các text của lable:
/* 
  Localizable.strings
  StringLocalization
*/
"ViewController_Label_Hello" = "Hello";
Đến đây, ta cần thêm một ngôn ngữ khác cho ứng dụng. Chọn project và bên dưới "Localizations", nhấp chuột vào icon "+". Thêm ngôn ngữ bất kỳ cần thiết cho ứng dụng sau đó click "Finish"
Bây giờ quay lại file Localizable.string, ở phần File Inspector(thanh menu bên phải) chọn "Localize". Chọn ngôn ngữ mới vừa được add sau đó nhấp vào "Finish".
Quay lại file Localizable.strings sẽ có kết quả như ảnh
Sau đó, chọn vào file ngôn ngữ mới của bạn (Localizable.strings (tiếng Ý) trong ảnh demo) và thay đổi từ "Hello" thành "Ciao" trong tiếng ý.
Quay trở lại file ViewContoder.swift và thay thế chuỗi Hello bằng chuỗi “NSLocalizedString(“ViewController_Label_Hello”, comment: “”)”.

Kiểm tra xem

Nếu chạy ứng dụng mà không thay đổi bất cứ điều gì, chúng ta sẽ thấy thông báo Hello. Vì tiếng Anh là ngôn ngữ mặc định của ứng dụng.
Nhưng nếu bạn chỉnh ngôn ngữ theo "Settings → General → Language & Region → iPhone Language" và đổi sang Tiếng Ý. Xem thử ta sẽ có kết quả gì nhé.
Text của label đã chuyển sang "Ciao"

Kết luận

Đây là một cách đơn giản và nhanh nhóng (và cũng rất có hệ thống) giúp ứng dụng của bạn có thể thay đổi theo rất nhiều ngôn ngữ.
Theo Viblo

Nhận xét

Bài đăng phổ biến