2011-06-24 63 views
30

thể trùng lặp:
Change language programatically in AndroidLàm thế nào tôi có thể thay đổi ngôn ngữ của ứng dụng của tôi

Tôi mới vào Android. Trong người dùng ứng dụng của tôi có thể chọn một ngôn ngữ từ ba ngôn ngữ. Dựa trên ngôn ngữ được người dùng chọn, toàn bộ ngôn ngữ của ứng dụng sẽ thay đổi. Tôi có thể làm cái này như thế nào?

+0

Sử dụng này để thay đổi ngôn ngữ theo chương trình: 'mã' Locale locale = new Locale ("en_US"); Locale.setDefault (ngôn ngữ); Configuration config = new Configuration(); config.locale = locale; context.getApplicationContext(). GetResources(). UpdateConfiguration (config, null); setContentView (R.layout.activity_main); 'mã' –

Trả lời

6

Bạn có thể đặt ngôn ngữ.

Resources res = context.getResources(); 
    // Change locale settings in the app. 
    DisplayMetrics dm = res.getDisplayMetrics(); 
    android.content.res.Configuration conf = res.getConfiguration(); 
    conf.locale = new Locale(language_code.toLowerCase()); 
    res.updateConfiguration(conf, dm); 

Nếu bạn có nội dung theo ngôn ngữ cụ thể - bạn có thể thay đổi điều đó dựa trên cài đặt. cho biết thêm chi tiết bạn có thể thấy Locale this also

49

Sử dụng này để thay đổi ngôn ngữ lập trình:

Locale locale = new Locale("en_US"); 
Locale.setDefault(locale); 
Configuration config = new Configuration(); 
config.locale = locale; 
context.getApplicationContext().getResources().updateConfiguration(config, null); 

Viết mã quốc gia của ngôn ngữ ở vị trí của "en_US" cho bất cứ ngôn ngữ nào bạn muốn. Ví dụ: đối với tiếng Nhật, ja_JP; cho tiếng Ả Rập, ar. Hãy kiểm tra this link để biết danh sách.

Và chắc một thư mục trong res/values-ja cho Nhật hay res/values-ar cho tiếng Ả Rập ..

Và tạo một tập tin string.xml, và đặt bất cứ điều gì ngôn ngữ mà bạn muốn trên bố trí của bạn. Nó sẽ lấy ngôn ngữ mặc định từ thư mục các giá trị khác nếu bạn muốn nó bằng tay, sau đó nó sẽ lấy từ thư mục bên ngoài của bạn values-ar vv

Một ví dụ về res/values-ar cho tiếng Ả Rập:

<?xml version="1.0" encoding="UTF-8"?> 
    <resources> 
    <string name="label">حسب</string> 
    <string name="name">بحث</string> 
    <string name="search">بحث :</string> 
</resource> 
+0

nơi để gọi mã của bạn!? – MBH

+0

Gọi nơi bạn cần. – Hulk

+1

sẽ gọi nó một lần là đủ để áp dụng nó cho toàn bộ ứng dụng? hoặc từng hoạt động? – MBH

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