支持不同的语言不同、语言

2023-09-06 16:44:49 作者:深巷里的喵喵

我的TextView和ListView。我做了支持langugage在列表视图列表

I have textView and ListView. i made a list of supporting langugage in listview

当我点击的TextView文本需要改变任何语言

when i click any language Textview text needs to change

code

   String lang[] = new String[]{"English","French"};
        ListView listView = (ListView) findViewById(android.R.id.list);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lang);

        listView.setAdapter(adapter);

        TextView text = (TextView)findViewById(R.id.textbox);

    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        TextView tv = (TextView)v;
        String selected_lang = tv.getText().toString();
        Toast.makeText(this, selected_lang, Toast.LENGTH_LONG).show();
    }

请注意:   需要从一种语言翻译成另一种语言不化妆的strings.xml和GoogleApi

Note: Need to Translate From one language to another language without make strings.xml and GoogleApi

有人知道谷歌如何翻译一种语言到其他语言?

Anybody Know How the Google Translate one language into other language ?

推荐答案

靠近你的目录值来创建新的目录值-FR与文件的strings.xml和内容类似

Create near your directory values new directory values-fr with file strings.xml and content like

<resources>
    <string name="some_string_vith_localization">French translation</string>
</resources>

和在code

String lang[] = new String[]{"en","fr"};
        ListView listView = (ListView) findViewById(R.id.my_list_id);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,lang);

        listView.setAdapter(adapter);

        TextView text = (TextView)findViewById(R.id.textbox);

    }
            @Override
            protected void onListItemClick(ListView l, View v, int position, long id) {
                TextView tv = (TextView)view.findViewById(R.id.text_view_to_change);
                String selected_lang = tv.getText().toString();

                Locale locale2 = new Locale(selected_lang);
                Locale.setDefault(locale2);
                Configuration config2 = new Configuration();
                config2.locale = locale2;
                getBaseContext().getResources().updateConfiguration(config2,
                        getBaseContext().getResources().getDisplayMetrics());
                tv.setText(getResources().getString(R.string.some_string_vith_localization));

            }