【问题标题】:make a spinner selectively translate strings使微调器有选择地翻译字符串
【发布时间】:2016-11-07 23:46:12
【问题描述】:

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

【问题讨论】:

  • 显示您的代码以便更好地理解

标签: java xml translate


【解决方案1】:

我觉得你可以用Android-LocalizationActivity

这里是它的自述文件的一部分:

android 应用程序支持多种语言是基本的。是的!这很容易,因为 android 有字符串资源。开发人员只需为不同的语言准备文本,然后 android 系统将自行使用。但经常出现的问题是“按时更改语言”。因为字符串资源被设计为依赖于当前的设备语言。但是如果我们想通过单击某个按钮来更改语言。处理起来会很困难。这个问题将得到解决,因为我创建了一个新的库来处理应用程序语言。它称为“Localization Activity”库。

实现起来非常简单。只需使用LocalizationActivity 扩展您的Activity。这里是一个带有 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(泰国)时,所有语言都会被翻译成泰语。所以你只需要用微调器来调整它。

【讨论】:

  • 不客气。这可以作为答案接受吗?..:)
  • 是的,当然可以!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多