Localise your Apps’ Name In Android & iOS — Explained from a React Native App
To cater your app to a global Audience!
Gautham Vijayan | Lead React Native Developer
About 1.4 billion out of 7+ billion, speak and understand English around the world.
My country India 🇮🇳, has more than 22 officially recognised languages, in which I speak and understand Tamil (தமிழ்). There are more than 70+ million (7 crores) of my people speaking my language in my state/region as well residing in other parts of the world.
Adding to this, there are more than 100+ languages spoken by people around the world where they would want to use the app in their own language.
Localising your apps from top to bottom is a must to cater to a global as well as for your own region wise audiences.
In this post we will look into how you can localise your Apps’ Name in both Android & iOS platforms from a React Native project
In the subsequent posts I will explain how you can use i18n to localise the texts in your React Native app as well.
I will be directly changing the native code in Android & iOS, so this post is applicable to all the native Android & iOS projects as well as projects made with React Native and Flutter. As I am a React Native developer, I will be using an existing React Native app of mine for explaining how to do it.
Android Implementation
To localise your app in android, follow the below provided steps,
- Go to your android folder.
- Make sure you open your res folder in your app folder. I have provided a screenshot below, which shows the hierarchy.
3. Now along with the values folder create values-ar for Arabic or values-fr for french etc and in those folders create a strings.xml file and add your app name in respective languages like below.
<resources>
<string name="app_name">அபோலோஷாட்</string>
</resources>
To find out which variable/shortcode you have to use for your app’s language supports, view the below the links, and follow the above steps
Now, you have to go to your Device Setting and then change the language to the required language and rerun the app.
You can see that your app will have their languages changed from English Name to the app name you have mentioned in your language in strings.xml.
Remember, you have to change the Device settings for this work in both android and iOS. I wasted a lot of time trying to change the app’s language via i18n. I will explain i18n integration in next post.
If you have followed the above steps correctly, you should have unlocked multilingual app names support for your app and you are ready to go global.
If you want to understand the android implementation in a video format, I have made a Youtube Video explaining that.
Here is the Link:
iOS Implementation
To localise your app in iOS, follow the steps I have mentioned below.
- Open Xcode and open up your project.
- Now follow the below steps.
Click on File → New → File → Search string and select String File (Legacy) To create a InfoPlist file for multi language support.
String Catalog is recommended from Xcode 15.4 as it will allow you to localise the permissions string values which is the text which get shown when user wants to access Camera etc. But for this tutorial purpose, we will use this.
3. Make sure you name it exactly as InfoPlist or else this will not work. Add the file to your target like below.( I wasted a lot of time on this, so I do not want you guys to do the same by entering any other name)
4. Now go to the place I have shown in XCode and tap on the “+” icon.
5. Select the language you want to like below. The language you select will be added in the InfoPlist file. I have provided a Gif to explain this.
Now comes the final step, run your app and go to Device settings and change the device language to your desired language, you should be able to see your app’s name has changed to the name you have entered in info Plist.
If you want to understand the iOS implementation in a video format, I have made a Youtube Video explaining the same.
Here is the Link:
Thats it. With the help of this post, you have localised your app’s name in both Android and iOS.
About Author
👋 Hey, I am Gautham, Lead Full Stack React Native developer with 4+ years of experience in making SAAS Applications with React & React Native.
Do follow me here in medium for more posts about SAAS development & React Native in general and if you want to contact me, you can do so in Twitter (X) and here is my profile: https://x.com/gautham_vijay_
I will meet you in the next post.