我要把事情弄清楚。我有一个Android应用程序,支持英语和法语。
由此,应用程序知道手机上使用的语言,并在必要时更改其语言。但在我的应用程序中,我解析了URL中的信息,我想更改此URL的值与应用程序(或手机)的语言相比。
法语:
String QUERY_URL = "https://api.immotoolbox.com/xml/2.0/MCRE/produits/?search[typeTransaction]=Vente&_locale=en";
对于英语:
str = "This website is <a href='www.google.com'>Google</a>, some other website is <a href='www.facebook.com'>Facebook</a>"
style_to_add = "style='text-decoration:none;'"
有什么想法吗?
谢谢:)
答案 0 :(得分:2)
在query
和/values/strings.xml
资源中定义名为/values-fr/strings.xml
的字符串:
/values/strings.xml:
<string name="query">your query in english</string>
/values-fr/strings.xml:
<string name="query">your query in french</string>
在您的应用中只需使用以下内容即可获取字符串:
String query = getActivity().getString(R.string.query);
如果您在非活动或非片段类中使用它,请执行以下操作:
使用构造函数将任何上下文传递给您的类:
public YourClassName(Context context)
{
this.context=context;
}
然后:context.getResources().getString(R.string.query_url);
答案 1 :(得分:1)
您可以使用Locale.getDefault().getLanguage()
为您提供语言代码,然后您可以将其附加到您的查询中。
Uri.Builder builder = new Uri.Builder();
String lang = Locale.getDefault().getLanguage()
if(!lang.equals("fr") && !lang.equals("en"))
lang = "en";
builder.appendQueryParameter("local", lang);
String query = builder.build().getEncodedQuery();
URL url = new URL(url+"?"+query);