{"id":3386,"date":"2021-08-26T12:16:45","date_gmt":"2021-08-26T12:16:45","guid":{"rendered":"https:\/\/infyblog.zluck.in\/?p=3386"},"modified":"2025-07-17T08:42:58","modified_gmt":"2025-07-17T08:42:58","slug":"how-to-change-app-language-in-android-programmatically","status":"publish","type":"post","link":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/","title":{"rendered":"How to Change App Language in Android Programmatically?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3386\" class=\"elementor elementor-3386\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8c4716f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8c4716f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-234e586\" data-id=\"234e586\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\n\t\t<div class=\"elementor-element elementor-element-bba86ec elementor-widget elementor-widget-text-editor\" data-id=\"bba86ec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Android 7.0 (API Level 24) provides support for multilingual users, allowing users to select multiple locales in the setting. The locale object budget represents a specific geographic, political, or cultural area.<\/p><p>Operations that require this locale to perform a task are called locale-sensitive and use that locale to generate information for the user.<\/p><h2>Step 1: Create A New Project &amp; Create Resource Files<\/h2><p>To create a new project in Android Studio.<\/p><p>In this step, we need to create a string resource file for the Gujarati language.Go to app &gt; res &gt; values &gt; right-click &gt; New &gt; Value Resource File and name it as strings.<\/p><p>Now, we have to select the qualifier as a locale from the available list and select the language as Gujarati from the drop-down list. Below is a picture of the steps.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-320186e elementor-widget elementor-widget-image\" data-id=\"320186e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"495\" src=\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/resource.png\" class=\"attachment-large size-large wp-image-3389\" alt=\"Create A New Project &amp; Create Resource Files\" srcset=\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/resource.png 851w, https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/resource-300x186.png 300w, https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/resource-768x476.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e0039a elementor-widget elementor-widget-image\" data-id=\"8e0039a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"478\" src=\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/language.png\" class=\"attachment-large size-large wp-image-3390\" alt=\"language\" srcset=\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/language.png 840w, https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/language-300x179.png 300w, https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/language-768x459.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c1a149 elementor-widget elementor-widget-text-editor\" data-id=\"8c1a149\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Now, in this resource file, strings.xml(gu-rlN) add the code given below.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5bc19dc elementor-widget elementor-widget-code-highlight\" data-id=\"5bc19dc\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><resources>\r\n    <string name=\"app_name\">Change App Language<\/string>\r\n    <string name=\"selected_language\">\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0<\/string>\r\n    <string name=\"language\">\u0a95\u0ac7\u0aae \u0a9b\u0acb<\/string>\r\n<\/resources><\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-437c363 elementor-widget elementor-widget-text-editor\" data-id=\"437c363\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>And add this line to the string.xml file, which is the default for English.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd00c55 elementor-widget elementor-widget-code-highlight\" data-id=\"bd00c55\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><resources>\r\n    <string name=\"app_name\">Change App Language<\/string>\r\n    <string name=\"selected_language\">English<\/string>\r\n    <string name=\"language\">How are you<\/string>\r\n<\/resources><\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a2a5a6 elementor-widget elementor-widget-text-editor\" data-id=\"0a2a5a6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Step 2: Create The Layout File For The Application<\/h2><p>In this step, we will create a layout for our application. Go to applications&gt; res&gt; Layout&gt; activity_main.xml and add two text views, one for the message and one for the selected language, and an image view for the drop_down icon. Below is the code snippet for the activity_main.xml file.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f47773 elementor-widget elementor-widget-code-highlight\" data-id=\"5f47773\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<LinearLayout \r\n    xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:orientation=\"vertical\"\r\n    tools:context=\".MainActivity\">\r\n\r\n    <TextView\r\n        android:id=\"@+id\/textView\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_margin=\"48dp\"\r\n        android:text=\"Welcome To InfyOm\"\r\n        android:textAlignment=\"center\" \/>\r\n\r\n    <Button\r\n        android:id=\"@+id\/btnGujarati\"\r\n        android:layout_margin=\"16dp\"\r\n        android:background=\"@color\/colorPrimary\"\r\n        android:textColor=\"#ffffff\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"Gujarati\"\/>\r\n\r\n    <Button\r\n        android:id=\"@+id\/btnEnglish\"\r\n        android:layout_margin=\"16dp\"\r\n        android:background=\"@color\/colorPrimary\"\r\n        android:textColor=\"#ffffff\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:text=\"English\"\/>\r\n\r\n<\/LinearLayout><\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-825d51d elementor-widget elementor-widget-text-editor\" data-id=\"825d51d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Step 3: Create LocaleHelper Class<\/h2><p>Now, we will create a local helper class. This class has all the functions that will help to change the language at runtime. Go to app &gt; java &gt; package &gt; right-click and create a new Java class and name it LocalHelper. Below is the code for the local helper class.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f848b66 elementor-widget elementor-widget-code-highlight\" data-id=\"f848b66\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>import android.annotation.TargetApi;\r\nimport android.content.Context;\r\nimport android.content.SharedPreferences;\r\nimport android.content.res.Configuration;\r\nimport android.content.res.Resources;\r\nimport android.os.Build;\r\nimport android.preference.PreferenceManager;\r\n\r\nimport java.util.Locale;\r\n\r\npublic class LocaleHelper {\r\n        private static final String SELECTED_LANGUAGE = \"Locale.Helper.Selected.Language\";\r\n\r\n        \/\/ the method is used to set the language at runtime\r\n        public static Context setLocale(Context context, String language) {\r\n            persist(context, language);\r\n\r\n            \/\/ updating the language for devices above android nougat\r\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {\r\n                return updateResources(context, language);\r\n            }\r\n            \/\/ for devices having lower version of android os\r\n            return updateResourcesLegacy(context, language);\r\n        }\r\n\r\n        private static void persist(Context context, String language) {\r\n            SharedPreferences preferences =                       PreferenceManager.getDefaultSharedPreferences(context);\r\n            SharedPreferences.Editor editor = preferences.edit();\r\n            editor.putString(SELECTED_LANGUAGE, language);\r\n            editor.apply();\r\n        }\r\n\r\n        \/\/ the method is used update the language of application by creating\r\n        \/\/ object of inbuilt Locale class and passing language argument to it\r\n        @TargetApi(Build.VERSION_CODES.N)\r\n        private static Context updateResources(Context context, String language) {\r\n            Locale locale = new Locale(language);\r\n            Locale.setDefault(locale);\r\n\r\n            Configuration configuration = context.getResources().getConfiguration();\r\n            configuration.setLocale(locale);\r\n            configuration.setLayoutDirection(locale);\r\n\r\n            return context.createConfigurationContext(configuration);\r\n        }\r\n\r\n        @SuppressWarnings(\"deprecation\")\r\n        private static Context updateResourcesLegacy(Context context, String language) {\r\n            Locale locale = new Locale(language);\r\n            Locale.setDefault(locale);\r\n\r\n            Resources resources = context.getResources();\r\n\r\n            Configuration configuration = resources.getConfiguration();\r\n            configuration.locale = locale;\r\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {\r\n                configuration.setLayoutDirection(locale);\r\n            }\r\n\r\n            resources.updateConfiguration(configuration, resources.getDisplayMetrics());\r\n\r\n            return context;\r\n        }\r\n    }<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30faef1 elementor-widget elementor-widget-text-editor\" data-id=\"30faef1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Step 4: Working With the MainActivity.java File<\/h2><p>In this step, we will apply Java code to switch between string.xml files to use different languages. First, we will initialize all the views and set click behavior on an Alert dialog box to choose the desired language with the help of the LocalHelper class. Below is the code is given for the MainActivity.java class.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5796186 elementor-widget elementor-widget-code-highlight\" data-id=\"5796186\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript \">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>import androidx.appcompat.app.AppCompatActivity;\r\n\r\nimport android.content.Context;\r\nimport android.content.res.Resources;\r\nimport android.os.Bundle;\r\nimport android.view.View;\r\nimport android.widget.Button;\r\nimport android.widget.TextView;\r\n\r\npublic class MainActivity extends AppCompatActivity {\r\n    TextView messageView;\r\n    Button btnGujarati, btnEnglish;\r\n    Context context;\r\n    Resources resources;\r\n\r\n    @Override\r\n    protected void onCreate(Bundle savedInstanceState) {\r\n        super.onCreate(savedInstanceState);\r\n        setContentView(R.layout.activity_main);\r\n\r\n        messageView = (TextView) findViewById(R.id.textView);\r\n        btnGujarati = findViewById(R.id.btnGujarati);\r\n        btnEnglish = findViewById(R.id.btnEnglish);\r\n\r\n        btnEnglish.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View view) {\r\n                context = LocaleHelper.setLocale(MainActivity.this, \"en\");\r\n                resources = context.getResources();\r\n                messageView.setText(resources.getString(R.string.language));\r\n            }\r\n        });\r\n\r\n        btnGujarati.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View view) {\r\n                context = LocaleHelper.setLocale(MainActivity.this, \"hi\");\r\n                resources = context.getResources();\r\n                messageView.setText(resources.getString(R.string.language));\r\n            }\r\n        });\r\n\r\n    }\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Android 7.0 (API Level 24) provides support for multilingual users, allowing users to select multiple locales in the&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"postBodyCss":"","postBodyMargin":[],"postBodyPadding":[],"postBodyBackground":{"backgroundType":"classic","gradient":""},"two_page_speed":[],"footnotes":""},"categories":[11],"tags":[105,106],"class_list":["post-3386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android-development","tag-android-programmatically","tag-app-language"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Change App Language in Android Programmatically?<\/title>\n<meta name=\"description\" content=\"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Change App Language in Android Programmatically?\" \/>\n<meta property=\"og:description\" content=\"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | InfyOm Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/infyom\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-26T12:16:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-17T08:42:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"772\" \/>\n\t<meta property=\"og:image:height\" content=\"484\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InfyOm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@InfyOm\" \/>\n<meta name=\"twitter:site\" content=\"@InfyOm\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InfyOm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\"},\"author\":{\"name\":\"InfyOm\",\"@id\":\"https:\/\/infyom.com\/blog\/#\/schema\/person\/659bfc844c333d041221e83c5f5ec754\"},\"headline\":\"How to Change App Language in Android Programmatically?\",\"datePublished\":\"2021-08-26T12:16:45+00:00\",\"dateModified\":\"2025-07-17T08:42:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\"},\"wordCount\":354,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/infyom.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png\",\"keywords\":[\"Android Programmatically\",\"App Language\"],\"articleSection\":[\"Android Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\",\"url\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\",\"name\":\"How to Change App Language in Android Programmatically?\",\"isPartOf\":{\"@id\":\"https:\/\/infyom.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png\",\"datePublished\":\"2021-08-26T12:16:45+00:00\",\"dateModified\":\"2025-07-17T08:42:58+00:00\",\"description\":\"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.\",\"breadcrumb\":{\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage\",\"url\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png\",\"contentUrl\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png\",\"width\":772,\"height\":484,\"caption\":\"How to Change App Language in Android Programmatically?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/infyom.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Change App Language in Android Programmatically?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/infyom.com\/blog\/#website\",\"url\":\"https:\/\/infyom.com\/blog\/\",\"name\":\"Blog | InfyOm Technologies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/infyom.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/infyom.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/infyom.com\/blog\/#organization\",\"name\":\"InfyOm Technologies\",\"url\":\"https:\/\/infyom.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/infyom.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/06\/InfyOm-Logo.png\",\"contentUrl\":\"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/06\/InfyOm-Logo.png\",\"width\":88,\"height\":41,\"caption\":\"InfyOm Technologies\"},\"image\":{\"@id\":\"https:\/\/infyom.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/infyom\",\"https:\/\/x.com\/InfyOm\",\"https:\/\/www.instagram.com\/infyomtechnologies\/\",\"https:\/\/in.linkedin.com\/company\/infyom-technologies\",\"https:\/\/github.com\/infyomlabs\",\"https:\/\/x.com\/infyom\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/infyom.com\/blog\/#\/schema\/person\/659bfc844c333d041221e83c5f5ec754\",\"name\":\"InfyOm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/infyom.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1ad162864d8d33c04ea9e6d0333cc483?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1ad162864d8d33c04ea9e6d0333cc483?s=96&d=mm&r=g\",\"caption\":\"InfyOm\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Change App Language in Android Programmatically?","description":"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/","og_locale":"en_US","og_type":"article","og_title":"How to Change App Language in Android Programmatically?","og_description":"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.","og_url":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/","og_site_name":"Blog | InfyOm Technologies","article_publisher":"https:\/\/www.facebook.com\/infyom","article_published_time":"2021-08-26T12:16:45+00:00","article_modified_time":"2025-07-17T08:42:58+00:00","og_image":[{"width":772,"height":484,"url":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png","type":"image\/png"}],"author":"InfyOm","twitter_card":"summary_large_image","twitter_creator":"@InfyOm","twitter_site":"@InfyOm","twitter_misc":{"Written by":"InfyOm","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#article","isPartOf":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/"},"author":{"name":"InfyOm","@id":"https:\/\/infyom.com\/blog\/#\/schema\/person\/659bfc844c333d041221e83c5f5ec754"},"headline":"How to Change App Language in Android Programmatically?","datePublished":"2021-08-26T12:16:45+00:00","dateModified":"2025-07-17T08:42:58+00:00","mainEntityOfPage":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/"},"wordCount":354,"commentCount":0,"publisher":{"@id":"https:\/\/infyom.com\/blog\/#organization"},"image":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage"},"thumbnailUrl":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png","keywords":["Android Programmatically","App Language"],"articleSection":["Android Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/","url":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/","name":"How to Change App Language in Android Programmatically?","isPartOf":{"@id":"https:\/\/infyom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage"},"image":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage"},"thumbnailUrl":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png","datePublished":"2021-08-26T12:16:45+00:00","dateModified":"2025-07-17T08:42:58+00:00","description":"Change your Android app\u2019s language programmatically, support multiple locales, resource files, context updates, and runtime switching.","breadcrumb":{"@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#primaryimage","url":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png","contentUrl":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/07\/how-to-change-app-language-in-android-programmatically-1-1-1-1-1-1-1.1.png","width":772,"height":484,"caption":"How to Change App Language in Android Programmatically?"},{"@type":"BreadcrumbList","@id":"https:\/\/infyom.com\/blog\/how-to-change-app-language-in-android-programmatically\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/infyom.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Change App Language in Android Programmatically?"}]},{"@type":"WebSite","@id":"https:\/\/infyom.com\/blog\/#website","url":"https:\/\/infyom.com\/blog\/","name":"Blog | InfyOm Technologies","description":"","publisher":{"@id":"https:\/\/infyom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/infyom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/infyom.com\/blog\/#organization","name":"InfyOm Technologies","url":"https:\/\/infyom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/infyom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/06\/InfyOm-Logo.png","contentUrl":"https:\/\/infyom.com\/blog\/wp-content\/uploads\/2024\/06\/InfyOm-Logo.png","width":88,"height":41,"caption":"InfyOm Technologies"},"image":{"@id":"https:\/\/infyom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/infyom","https:\/\/x.com\/InfyOm","https:\/\/www.instagram.com\/infyomtechnologies\/","https:\/\/in.linkedin.com\/company\/infyom-technologies","https:\/\/github.com\/infyomlabs","https:\/\/x.com\/infyom"]},{"@type":"Person","@id":"https:\/\/infyom.com\/blog\/#\/schema\/person\/659bfc844c333d041221e83c5f5ec754","name":"InfyOm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/infyom.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1ad162864d8d33c04ea9e6d0333cc483?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ad162864d8d33c04ea9e6d0333cc483?s=96&d=mm&r=g","caption":"InfyOm"}}]}},"_links":{"self":[{"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/posts\/3386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/comments?post=3386"}],"version-history":[{"count":11,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/posts\/3386\/revisions"}],"predecessor-version":[{"id":8163,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/posts\/3386\/revisions\/8163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/media\/3388"}],"wp:attachment":[{"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/media?parent=3386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/categories?post=3386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infyom.com\/blog\/wp-json\/wp\/v2\/tags?post=3386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}