第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

支持多國語言

支持多國語言

慕斯王 2023-05-10 15:16:04
我正在嘗試在我的應(yīng)用程序中實(shí)現(xiàn)多語言(英語和希伯來語)。我已經(jīng)創(chuàng)建了 2 個(gè)字符串文件并實(shí)現(xiàn)了應(yīng)該支持多語言功能的所有方法。但是,當(dāng)我運(yùn)行該應(yīng)用程序并在對(duì)話框中選擇“希伯來語”時(shí),布局從左到右變?yōu)閺挠业阶螅ㄏ2畞碚Z應(yīng)該如此),但語言沒有改變。誰能幫我解決這個(gè)問題?    import android.app.Activity;    import android.content.Context;    import android.content.DialogInterface;    import android.content.Intent;    import android.content.SharedPreferences;    import android.content.res.Configuration;    import android.os.Bundle;    import android.os.Vibrator;    import android.support.v7.app.AlertDialog;    import android.support.v7.app.AppCompatActivity;    import android.view.View;    import android.widget.Button;    import java.util.Locale;    public class MainActivity extends AppCompatActivity {        private Button btn_chooseBoard;        private Button btn_store;        private Button btn_language;        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            loadLocale();            setContentView(R.layout.lay_main);            Constants instance = Constants.getInstance();            instance.getAllPlayers();            instance.getAllBoards();            btn_chooseBoard = (Button) findViewById(R.id.btn_startGame);            btn_store = (Button) findViewById(R.id.btn_popup_store);            btn_language = (Button) findViewById(R.id.btn_language);            btn_chooseBoard.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View view) {                    Intent intent = new Intent(MainActivity.this, ChooseBoard.class);                    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);                    startActivity(intent);                    ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(20);                }            });
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

Android 有自己的 API 來處理不同的語言環(huán)境。用戶在 Android 系統(tǒng)設(shè)置中設(shè)置他的語言環(huán)境。您不需要向用戶詢問他的語言環(huán)境。

只需將英文字符串放入 res/values/strings.xml,將希伯來語字符串放入 res/values-iw/strings.xml。也可以通過使用開始/結(jié)束而不是左/右來處理布局 xml 中的 ltr/rtl。

編輯:我不知道是否可以像在 setLocale() 中那樣更改應(yīng)用程序的語言環(huán)境。

您應(yīng)該關(guān)閉您的應(yīng)用程序并將其從應(yīng)用程序堆棧中刪除。然后在 Android 設(shè)置中將語言更改為希伯來語并重新打開您的應(yīng)用程序。

如果您現(xiàn)在擁有在布局 .xml 中定義的 rtl 布局,但沒有希伯來語字符串,那么您的 strings.xml 可能有問題。

您的 strings.xml 可能沒有正確的路徑 (res/values-iw/strings.xml)。或者 strings.xml 的內(nèi)容可能是錯(cuò)誤的??赡芘c您的英文 strings.xml 中的字符串 ID 不同。

您還可以打印出您當(dāng)前的語言環(huán)境,看看它是否設(shè)置為“iw”


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

本地化步驟:

1)從您擁有的每個(gè)文本中創(chuàng)建一個(gè)字符串??旖莘绞绞寝D(zhuǎn)到文本,單擊文本,左側(cè)會(huì)出現(xiàn)一個(gè)黃色燈泡。單擊它并單擊Extract Resource,它將為您的文本生成一個(gè)名稱以添加到 Strings.xml。對(duì)每個(gè)文本都這樣做。

2)轉(zhuǎn)到 Res > Values 文件夾中的 Strings.xml 文件。右上角應(yīng)該有藍(lán)色文字,你可以點(diǎn)擊Open Editor點(diǎn)擊它。

3)單擊左上角的小世界圖標(biāo)。找到希伯來語。選擇它。點(diǎn)擊確定?,F(xiàn)在您已經(jīng)成功地為希伯來語語言創(chuàng)建了一個(gè)單獨(dú)的 Strings.xml。

4)返回到您的英文 Strings.xml 文件,Open Editor再次單擊,您將看到所有已存儲(chǔ)為字符串的文本。單擊一個(gè)字符串,在底部你會(huì)看到“Key”,它是字符串的 id 名稱,Default Value 是英文版本,以及 Translation,你必須手動(dòng)輸入要翻譯的英文單詞的希伯來語翻譯。為您想要翻譯的所有內(nèi)容執(zhí)行此操作。請(qǐng)注意,無論您在翻譯字段中輸入什么,都會(huì)自動(dòng)添加到 strings.xml(iw) 文件中。

5)第 4 步的替代方法是轉(zhuǎn)到希伯來文 Strings.xml 并在那里手動(dòng)輸入信息,但您必須確保“密鑰”(字符串的 ID 名稱)與英文相同。因此,根據(jù)我的經(jīng)驗(yàn),第 4 步使它變得更容易。

6)您可以打開 Hebrew Strings.XML 手動(dòng)編輯您放入其中的翻譯,以防您想要更改已經(jīng)放入的較長(zhǎng)文本。

所以它看起來像這樣:

字符串.xml

<resources>
    <string name="app_name">KotlinKennyGame</string>
    <string name="test">This is a test.</string>
</resources>

activity_main.xml

<TextView android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:text="@string/test"
            />

字符串.xml(iw)

<resources>
    <string name="app_name">KotlinKennyGame</string>
    <string name="test">?? ????</string>
</resources>


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

嘗試改變

Configuration configuration = new Configuration();

Configuration configuration = getBaseContext().getResources().getConfiguration();


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 3 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)