2011-12-13 41 views
9

Tôi đang viết một số tự động kiểm tra Android cho các ứng dụng của mình, được bản địa hóa thành 18 ngôn ngữ.Chuyển đổi ngôn ngữ lập trình trên thiết bị Android

Tôi cần khả năng chuyển ngôn ngữ trên thiết bị theo chương trình - Tôi không muốn chuyển ngôn ngữ của ứng dụng - ý tôi là chuyển ngôn ngữ thiết bị thực trong cài đặt Android, theo cách đó ứng dụng của chúng tôi cũng chuyển.

Có cách nào tôi có thể thực hiện điều này thông qua MonkeyRunner, Cầu gỡ lỗi Android hay không? Lý tưởng nhất là tôi muốn một cách hoạt động trên cả trình giả lập Android và thiết bị vật lý.

Cảm ơn.

Trả lời

4

Cuối cùng tìm ra bạn có thể làm điều này thông qua Android Debug Bridge mà tôi vừa được cài đặt trên máy tính thử nghiệm của tôi và thêm vào biến PATH cửa sổ.

Ví dụ, lệnh để chuyển đổi ngôn ngữ điện thoại sang tiếng Đức sẽ là:

adb shell "su -c 'setprop persist.sys.language de; setprop persist.sys.country de; stop; sleep 5; start' 

Bạn sẽ cần một thiết bị bắt nguồn từ trật tự để làm việc này.

1

Bạn có thể thay đổi các địa phương như thế này:

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); 
+3

Cài đặt này có phải là ngôn ngữ từ mã ứng dụng dành cho thiết bị di động không? Nếu vậy, tôi không nghĩ rằng bạn đọc câu hỏi của tôi một cách chính xác - Tôi cần phải chuyển ngôn ngữ thiết bị, từ một ứng dụng tự động hóa độc lập với mã ứng dụng di động của tôi. –

0

Bạn có thể viết tập lệnh gửi chương trình phát sóng tới ứng dụng trợ giúp như adb send broadcast và ứng dụng này thay đổi cấu hình của bạn bên trong thiết bị như ngôn ngữ của thiết bị nơi bạn có thể sử dụng mã @iSun đó.

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