有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使微调器选择性地转换字符串

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

enter image description here


共 (1) 个答案

  1. # 1 楼答案

    我想你可以用Android-LocalizationActivity

    以下是其自述的一部分:

    It's basic for android application to be supported multiple languages. Yeah! It's very easy because android has String Resource. Developer just had to prepare the text for different languages then android system will use itself. But frequently problem is "On-time Language Changing". Because the String Resource was designed to be depending on current device language. but if we want to change the language by click some button. It will be difficult to handle it. This problem will solved because I have created a new library to handle application language. It called "Localization Activity" library.

    实现起来很简单。只要用LocalizationActivity扩展你的Activity。下面是带有按钮的示例代码:

    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(泰国)时,所有语言都将被翻译成泰语。因此,您只需要使用微调器进行调整