Nói chung tôi biết cách thực hiện bản địa hóa ứng dụng iOS, điều duy nhất là chọn giữa các cách có sẵn và thực hiện đúng cách. Vì vậy, tôi muốn hỏi bạn về cách tiếp cận l10n của bạn cho các dự án của bạn.Bản địa hóa cho ứng dụng iPhone - cách tiếp cận của bạn là gì?
Dưới đây là đầu vào của tôi:
- Tôi có 15 XIB file (đóng gói với rất nhiều cửa hàng IB không được tổng hợp như tài sản, nhưng sẽ phải được bản địa hoá).
- Rất có thể ứng dụng của tôi sẽ có 3-5 phiên bản ngôn ngữ, nhưng có thể tôi thậm chí sẽ sử dụng 10 ngôn ngữ trong tương lai.
- Trong tương lai gần, tôi dự định thêm mục tiêu mới có thể thay đổi thiết kế giao diện người dùng (phiên bản trả tiền/miễn phí).
Tôi thấy hai cách tôi có thể đi:
Lựa chọn A: địa hoá mỗi tập tin nib bằng cách làm cho XIBs thể bản địa hóa và bổ sung thêm phiên bản ngôn ngữ:
- Tôi lo sợ rằng với 15 XIBs và 3 -5 ngôn ngữ nó sẽ được bảo trì kinh dị sẽ đi ra khỏi kiểm soát của tôi khi tôi sẽ mở rộng nội địa hóa đến ~ 10 ngôn ngữ và giới thiệu mục tiêu mới (bảo trì kinh dị không phải là về SCM, tôi đang sử dụng git btw).
- Tôi cần đồng bộ hóa tất cả các phiên bản của XIB có thể ảnh hưởng đến quy trình yêu cầu thay đổi đau đớn.
- Tôi cũng lo ngại rằng gói ứng dụng của tôi sẽ phát triển lớn (hiện tại XIB sử dụng ~ 1,1 MB và chuyển thành ~ 120 kB tệp NIB).
- khi tôi quyết định thực hiện phiên bản iPad, số lượng XIB sẽ tăng trở lại.
Lựa chọn B: làm nội địa hóa trong mã bằng dây lên tất cả các cửa hàng cần tổng hợp chúng để tài sản và thiết lập nhãn/tiêu đề một cách chính xác:
- tôi sợ rằng ứng dụng của bộ nhớ dấu chân của tôi sẽ là thực sự lớn. Hoặc, xem xét MGMt mem thích hợp, tôi có nên xem xét vấn đề này không?
Tôi muốn chọn tùy chọn thứ 2 vì tôi thấy ít bị khuyết điểm hơn và có thể cho phép mọi thứ ở một nơi được kiểm soát trong mỗi bộ điều khiển chế độ xem, nhưng tôi muốn biết lựa chọn của bạn là gì? Cách nào hoạt động tốt hơn cho bạn?
CHỈNH SỬA: Tôi biết rằng ibtool
có thể đơn giản hóa quy trình trong Gói A, nhưng tôi vẫn chưa thuyết phục được điều đó.
bạn sẽ chọn tùy chọn B nếu XIB của bạn có 25 IBOutlets trung bình? Dây điện lên tất cả chúng, tổng hợp và chăm sóc quản lý bộ nhớ âm thanh tẻ nhạt với tôi. Bạn có lý do gì để chọn Tùy chọn B? – matm
25 IBOutlets trong một XIB đơn lẻ? Điều đó có vẻ là một giao diện người dùng rất đông đúc. Screams cho thiết kế giao diện người dùng nâng cao;) Nhưng nói chung, tôi không thấy lý do không sử dụng tệp chuỗi. Xử lý nhiều XIB đó và điều chỉnh mọi thứ theo cách thủ công cho từng ngôn ngữ là một rắc rối lớn hơn nhiều. Nếu bạn biết cách quản lý bộ nhớ, không có nhược điểm nào. – Kerni
Tôi cũng sẽ chọn tùy chọn B, vì bạn thường có một lối thoát cho một phần tử giao diện người dùng. Ngoại trừ các nhãn có thể là textFields, nhưng điều đó nghe có vẻ không quá nhiều. – GorillaPatch