Android 更改设备语言时 APK 名称是否更改?
Android APK name changed when changing device language?
当设备语言为英语时,我的应用程序出现了奇怪的行为,我的应用程序名称没问题,但是当我将语言更改为阿拉伯语[=23]时=] APK 和应用名称更改为 Awesome Image picker ?这是我在我的应用程序中用来选择多张图片的库 !!
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mtids.mat3ami">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SignInUser" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity android:name=".SignUpUser" />
<activity android:name=".Search"
android:windowSoftInputMode="stateHidden"/>
<activity android:name=".SearchByName" />
<activity android:name=".SearchByPrice"></activity>
</application>
</manifest>
strings.xml :
<resources>
<string name="app_name">Mat3ami</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
<string name="action_settings">Settings</string>
<string name="facebook_app_id">*********</string>
</resources>
任何想法,帮助将不胜感激。
根据设备的语言设置,Android 支持 Different Languages and Cultures。您可以使用不同的字符串资源实现您希望支持的语言
在您的项目中,右键单击 res/values/ 和 select 新建 -> 值资源文件。输入 "strings" 作为文件名并将源选项设置为 main。在可用的限定符中,单击“>>”按钮将 "Locale" 移动到选择的限定符部分。 Select 您希望支持的语言和 select 区域(默认为:任何区域)并左键单击 "Ok"。 Android studio 会自动生成一个新的资源文件也叫 "strings.xml".
现在保留原始字符串资源中的字符串名称,进行翻译,您就可以将您的应用程序国际化了:)。
您必须覆盖阿拉伯语资源文件 value-ar/strings.xml
,并在其中写入您想要的名称,
<string name="app_name">Mat3ami</string>
我认为发生这种情况是因为您正在使用的库之一正在覆盖 app_name。
问候。
当设备语言为英语时,我的应用程序出现了奇怪的行为,我的应用程序名称没问题,但是当我将语言更改为阿拉伯语[=23]时=] APK 和应用名称更改为 Awesome Image picker ?这是我在我的应用程序中用来选择多张图片的库 !!
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mtids.mat3ami">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SignInUser" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity android:name=".SignUpUser" />
<activity android:name=".Search"
android:windowSoftInputMode="stateHidden"/>
<activity android:name=".SearchByName" />
<activity android:name=".SearchByPrice"></activity>
</application>
</manifest>
strings.xml :
<resources>
<string name="app_name">Mat3ami</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
<string name="action_settings">Settings</string>
<string name="facebook_app_id">*********</string>
</resources>
任何想法,帮助将不胜感激。
Android 支持 Different Languages and Cultures。您可以使用不同的字符串资源实现您希望支持的语言
在您的项目中,右键单击 res/values/ 和 select 新建 -> 值资源文件。输入 "strings" 作为文件名并将源选项设置为 main。在可用的限定符中,单击“>>”按钮将 "Locale" 移动到选择的限定符部分。 Select 您希望支持的语言和 select 区域(默认为:任何区域)并左键单击 "Ok"。 Android studio 会自动生成一个新的资源文件也叫 "strings.xml".
现在保留原始字符串资源中的字符串名称,进行翻译,您就可以将您的应用程序国际化了:)。
您必须覆盖阿拉伯语资源文件 value-ar/strings.xml
,并在其中写入您想要的名称,
<string name="app_name">Mat3ami</string>
我认为发生这种情况是因为您正在使用的库之一正在覆盖 app_name。
问候。