2012-03-16 20 views
10

Tôi cần đặt một đoạn văn bản động vào một chuỗi được bản địa hóa nhưng nó phải đi vào các vị trí khác nhau tùy thuộc vào ngôn ngữ.Làm cách nào để đặt thông số vào chuỗi được bản địa hóa trong Android?

Ví dụ, tôi cần hai chuỗi như:

tiếng Anh: Thời gian hiện tại là HH: mm: ss Ngôn ngữ khác: HH: mm: ss là thời gian hiện tại

tôi có thể nghĩ đến một phương pháp tiếp cận, là để có một chuỗi được bản địa hóa trước và postDate trong đó postDate rỗng trong tiếng Anh và preDate rỗng trong Other. Điều này sẽ làm việc nhưng không có vẻ rất thanh lịch hoặc có thể mở rộng.

Có cách nào tốt hơn để thực hiện việc này không?

Trả lời

33

Tôi sử dụng điều này trong tài nguyên chuỗi của mình.

<string name="duration"><xliff:g id="minutes" example="42" >%s</xliff:g> mins <xliff:g id="seconds" example="28" >%s</xliff:g> secs</string> 

nào in xx phút giây yy khi bạn gọi:

getString(R.string.duration, minutes, seconds); 

Trong ngôn ngữ khác, bạn có thể dịch nó bằng cách thay đổi vị trí của phút và giây. Nó nên in, ví dụ: phút xx giây yy

Một schema nên bao gồm ít tiêu đề:

<resources xmlns:xliff="rn:oasis:names:tc:xliff:document:1.2"> 
+0

Trông đầy hứa hẹn, nhưng khi tôi dán vào strings.xml của tôi, tôi nhận được lỗi này: 'lỗi: Lỗi phân tích cú pháp XML: cởi ra prefix' – brianestey

+3

Bạn có thể muốn bao gồm xmlns: xliff ở tiêu đề. – Calvin

+0

Điều đó đã xảy ra. Tôi đã chấp nhận câu trả lời khác nhưng tôi đã cho bạn một upvote quá. – brianestey

0

Tôi nghĩ rằng bạn đang làm đúng cách.

khác soln không tốt như vậy là nếu bạn đặt các chuỗi định dạng toàn bộ tài nguyên như

tiếng Anh: Thời gian hiện tại là% d:% d:% d Một Ngôn Ngữ:% d:% d:% d là thời gian hiện tại

Tôi thường không thích phương pháp này vì mã định dạng của bạn được chia thành hai vị trí.

27

Đúng android định dạng chuỗi xml là <string name="tst">string %1$s integer %2$d</string>

+2

Tôi đã thử điều này và nó hoạt động như một sự quyến rũ! Cảm ơn. – brianestey

+0

Làm việc một cách hoàn hảo, cảm ơn bạn rất nhiều vì sự khác biệt về chuỗi và số nguyên –

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