Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
276 views
in Technique[技术] by (71.8m points)

java - Android multi language support without localization

Hi I'm working on a android project.

I want to provide multiple language support for the applciation. I researched about it but I found almost everything with localization.

Is there any way to do this without using localization?

My preference is using language support for localization or supported versions.

I mean user can switch the languages in application.

Can I do this with multiple value files?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Use this to change the language by code--

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

Write the countrycode of language in place of "en_US" whatever language you want...like for japanese--"ja_JP" For Arabic--"ar" or check this link for code of country--

http://code.google.com/apis/igoogle/docs/i18n.html

And make a folder in res/values-ja for japanese or res/values-ar for arabic..

And make string.xml file And put the languages whatever you want on your layout.. It will fetch the default language from values folder otherwise you want it manually then it will fetch from your external folder values-ar etc. like...

Its example of res/values-ar for arabic--

<?xml version="1.0" encoding="UTF-8"?>
  <resources>
     <string name="spinner_label">????? ???</string>
     <string name="app_name">2011 ???</string> 
     <string name="search">??? :</string>
  </resource>

Hope It will help you..


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...