使一个微调器有选择地翻译字符串

时间:2016-07-06 01:48:07

标签: java xml translate

我正在尝试创建一个微调器,我有选择地翻译页面上的字符串。我已将我的应用设置为基于区域设置语言翻译大部分页面。在下图中,语言环境语言将影响顶部字符串,但我的主页上有一个微调器,其中包含所有可用的Android语言,我希望用户能够选择其中一个微调器项,并且结果,下图中的底部字符串将被翻译成该语言。我找不到设置它的方法,到目前为止我所看到的所有建议都是如何配置应用程序来设置语言环境语言。任何方向将不胜感激!

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为您可以使用Android-LocalizationActivity

以下是其自述文件的一部分:

  

它是支持多种语言的Android应用程序的基础。是啊!它非常简单,因为android有String Resource。开发人员只需准备不同语言的文本,然后android系统将自己使用。但经常出现的问题是"准时语言变化"。因为字符串资源的设计取决于当前的设备语言。但如果我们想点击某个按钮来改变语言。它很难处理。这个问题将解决,因为我已经创建了一个新的库来处理应用程序语言。它称为" 本地化活动"库。

实现起来非常简单。只需使用Activity扩展您的LocalizationActivity即可。这里有一个带有Button的示例代码:

import android.os.Bundle;
import android.view.View;

import com.akexorcist.localizationactivity.LocalizationActivity;

public class MainActivity extends LocalizationActivity implements View.OnClickListener {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_simple);

    findViewById(R.id.btn_th).setOnClickListener(this);
    findViewById(R.id.btn_en).setOnClickListener(this);
  }

  @Override
  public void onClick(View v) {
    int id = v.getId();
    if (id == R.id.btn_en) {
      setLanguage("en");
    } else if (id == R.id.btn_th) {
      setLanguage("th");
    }
  }
}

当用户点击btn_th(泰国)时,所有语言都将翻译为泰语。所以你只需要用微调器调整它。