2010-09-24 30 views
5

Bản địa hóa đang hoạt động đối với các ngôn ngữ khác ngoại trừ tiếng Anh khá tốt. Mỗi lần tôi biên dịch ứng dụng, tôi thấy tên khóa thay vì chuỗi được bản địa hóa. Ví dụ:Quốc tế hóa: Chỉ tên khóa được hiển thị thay vì chuỗi được bản địa hóa trong Mô phỏng

NSLocalizedString(@"WelcomeKey", @"") 

Trong Localizable.strings tôi có các mục tương ứng:

"WelcomeKey" = "Welcome"; 

Trong mô phỏng tôi luôn luôn lấy tên chính WelcomeKey thay vì Welcome. Trên thiết bị, điều này hoạt động hoàn hảo. Trong giả lập không!

Tôi cũng phát hiện ra rằng tệp EN Localizable.strings của tôi chứa đầy "???????" biểu tượng. Vì vậy, tôi đặt trong các giá trị cũ và lưu nó trong Xcode. Tôi cũng đã thêm mục nhập theo cách thủ công thay vì sử dụng genstrings. Trong giả lập ngôn ngữ thứ hai cũng hoạt động hoàn hảo. Chỉ có tiếng Anh dường như làm cho một vấn đề. Có lẽ tôi đã xóa English.lproj và tạo một thư mục EN.lproj?

Tôi cố gắng để:

  1. Rỗng cache
  2. sạch tất cả các mục tiêu
  3. Xóa "Hỗ trợ người dùng/xxx/Library/Application/iPhone Simulator/Người dùng" thư mục
  4. Restart Mac
  5. Chuyển đổi thành UTF-16
  6. Tạo Localizable.strings mới cho EN
  7. Del ete EN.lproj thư mục và tập tin. Thực hiện bản địa hóa hoàn toàn mới.

Tôi đang thiếu gì? Tôi nghĩ rằng giả ghét tiếng Anh ...

Edit:

Vì vậy, tôi đã cố gắng để biên dịch ứng dụng này trên một máy Mac. Có nó hoạt động mà không có vấn đề trong giả lập! Vì vậy, hoặc là cài đặt trong Xcode hoặc sự cố bộ nhớ cache.

Trả lời

2

Vì vậy, trước tiên bạn phải xóa ứng dụng của mình khỏi trình mô phỏng iPhone/iPhone.

Nhấn và giữ chuột trên ứng dụng trong trình mô phỏng cho đến khi ứng dụng bắt đầu vặn. Sau đó nhấn X. Nó sẽ xóa. Sau đó nhấn nút home để làm cho các nút ngừng lắc lư.

+0

Không có workie cho tôi – jjxtra

+1

Haha cảm ơn bạn, một điều đơn giản như vậy nhưng không có hướng dẫn nào đề cập đến nó! – Denis

0

Đảm bảo mã hóa Localizable.strings của bạn là UTF-16.

+0

Làm cách nào để tôi có thể xem xét định dạng mã hóa? Tôi đã tạo tệp bằng Tệp> Tệp mới> Trong "Mac OS X" trong "Khác", chọn "Tệp trống". Làm thế nào để thay đổi mã hóa? – testing

+0

Lưu thành ... trong TextEdit. Bạn có thể chọn mã hóa cho các tệp văn bản thuần túy. – diederikh

+0

Cảm ơn, nhưng điều đó không giải quyết được vấn đề ... – testing

0

Tôi cũng có Localizable.strings đầy đủ tính năng vô nghĩa, nó đã giúp lưu tệp dưới dạng UTF-8.

0

Tùy chọn duy nhất làm việc với tôi là Đặt lại nội dung và cài đặt giả lập trong trình đơn Trình mô phỏng iOS.

0

1 - Thử xóa và tạo lại dự án.

HOẶC

2 - Đi tới thanh tra tệp Localizable.strings và bỏ chọn từ thành viên mục tiêu. Xây dựng bằng cách sử dụng các cài đặt này một lần và xóa công trình này. Bây giờ quay lại trình đơn thanh tra tệp Localizable.string và thêm thành viên đích.

HOẶC

3 - Bạn có thể có nhiều localizable.strings (ví dụ: sharekit) trong dự án của bạn. Hãy thử bỏ chọn thành viên mục tiêu cho các localizable.strings khác.

Các vấn đề liên quan