Does Corona support App Name localization?

Does Corona support App Name localization and can I get some advice on what best to do here. Note Im on Pro only, not enterprise. Also I mean by support the ability to build once for IOS say and only have to upload one binary that supports the different names.

So I’m talking about actual app name and how to localise this. Well how best to maximise downloads and i guess im assuming app name/title localization should be dine. Like I’m assuming:

  • content: do that in lua inside your app
  • descriptions: put in iTunes Connect or Google Play web page
  • app title, that appears under the icon <== THIS ONE

Also I’m not sure Corona Pro actually let’s you have one code base and one binary output that gives you a custom name for each language? You might need Enterprise for this I thought I read…

hey greg,

OP from the post you linked :slight_smile: got a note about your reply here.

yes you can change the name under the icon, it takes some fussing but is do-able. you can do it with pro, you don’t need enterprise (unsure about starter, haven’t tested but i don’t see why it wouldn’t work).  you only need one binary file.

check out my tutorial post on localizing apps for corona on my blog, it should cover all of your questions:

http://lauratallardy.com/app-localization-made-easy/

good luck!! :slight_smile:

thanks - that’s a great post - will have to review carefully (was going to review immediately and give some feedback but there is a bit of content there lol) - your graphics look great by the way 

overall all though batgirl your general advice with Corona then would be go ahead and localise everything?  i.e. content in your app, the app title in the store, the app icon title (which I was asking about) and the descriptions in the app store?  i.e. all are quite important do you think?

Wow!!! A very comprehensive tutorial / review. Thank you so very much.

@batgirl717111

Great post!

hey greg,

sure thing, i hope it is helpful!  lol yeah it did get a little long… oops :stuck_out_tongue_winking_eye:

thank you for your compliments too! :smiley:

the extent you should localize is up to you.  if your game is pretty self-explanatory, like an angry birds game where the user could figure out what to do without instructions, you might not need to.  think about if you downloaded an app and it were in chinese (assuming you don’t speak chinese)- how far into your app would you be able to get?

if it’s fairly simple you could probably get away with just localizing the description. as i mention in the epic localization post, a lot of translators i hired said that english app titles in foreign markets are common, so you could do the title or not.

personally i want to leave a good impression, even at my own expense :wink: so i go through and translate all the in-game text, titles, descriptions, everything.

the other thing to keep in mind is your time and how much can you dedicate to this.  localizing into a second language takes a little while, but once you get your app set up to detect languages and swap out text and graphics as appropriate, it’s pretty easy to add in more languages.

however once you get to a certain point it can get really time consuming, especially once you get to submitting the apps and entering the metadata (and if you localize screenshots it gets worse).

if you have one app in english on ios & android, you’ll need:

-1 title

-1 description, keywords

-5-15 ios screenshots (iphone 4, iphone 5, ipad)

-5 android screenshots (optional, for 7" tablets)

-2 promo graphics (google)

and you’ll have to put everything in twice (once for apple, once for google).

if you have one app in 8 languages on ios & android (typical set, covers english-french-italian-german-spanish-chinese-japanese-korean) then you’ll need:

-8 titles

-8 descriptions, keywords

-30-120 screenshots (iphone 4, iphone 5, ipad)

-30 android screenshots (optional, for 7" tablets)

-16 promo graphics (google)

and you’ll have to put everything in sixteen times (eight times for apple, eight times for google).

like i said it is worth it to localize all the way imho, but it does take some time (think about when you get multiple apps and more than one market).  my most recent localized app was Ballet Fashion Show in 21 languages on six markets- it does very well but the localizations took FOR-EVER.

anyway let me know if you have more questions :slight_smile: good luck with the localization!

ksan and ingemar: you’re welcome! :slight_smile: hope it is helpful

@batgirl717111, thank you so much for sharing all your knowledge.  It is super helpful.

About the app title for Android version, is it enough to simply create lproj folder for each language and add InfoPlist.strings file for each language without anything special included in build.settings for Android?

Naomi

thanks batgirl - the “30-120 screenshots” really brings it home :slight_smile:   hadn’t even thought of screenshots…

Naomi, no problem!  As I think I said in the blog post, it helps me too- haha- I would never remember all these little steps on my own :wink:

I’m not sure about Android- although if you try it out please let me know what the result is.  My app was only rejected from Apple for the title not matching, so I only fixed the Apple build, haven’t tried it on Android.

greg886, ikr? haha.  you can write a script to iterate through the app and take screenshots where you want and reload in each language and run the script, depending on how your app is designed and how much time you want to sink into it.  alternatively you can take screenshots with no text and leave them with no text, or take them, photoshop out the text, and then photoshop it back in for each language.  haha i have to be careful or i’m going to talk myself out of localizing my next apps here!

@batgirl717111, thank you so much for your reply.  I saw someone else on Forum who seems to be in desperate need for help with localizing Android app title to Japanese, so I thought I’d direct this user to your blog post, – but then I thought before doing so, I should make sure…

Naomi

@naomi

The approach above is for iOS only and will not work for Android. (lproj folders and plist files are Apple specific)

It’s possible to do this for Android though, but it requires a different approach which is more hands-on and requires a bit more fiddling around with the APK.

I haven’t done this myself (yet), so I can’t verify that all steps are included below, but from what I can see you should be able to do the same thing for Android with these steps:

(Note: You *don’t* need to be Enterprise to do this)

  1. Compile the app with Corona

  2. Unpack the APK from the command line (I use apktool on Mac OSX)

  3. Create the necessary resources in the /res folder

Example: 

Japanese: /res/values-ja/strings.xml

French: /res/values-fr/strings.xml

  1. Re-pack and sign the APK

For more info on localizing for Android:

http://developer.android.com/guide/topics/resources/localization.html

@ingemar, thank you so much!  I’ll definitely keep it in mind.  I’ll also pass it along.

Naomi

EDIT: ** The approach below might not work if you are using Corona plugins as they might not survive the unpacking/packing process performed by apktool.**

I was bored and decided to take a break and have some fun with this Android stuff (…I know… I’m a nerd…)

I managed to get the app title localized more easily than I had thought on Android (it took me longer to write this post than it did to localize the app title :P ). Tested on Android 2.3.6 and Android 4.3.

Prerequisites:

  1. Android SDK installed and configured (to be able to sign and verify the APK)

  2. apktool (To unpack/pack the APKs https://code.google.com/p/android-apktool available for Mac/Win/Linux)

Step 1: Compile your app with Corona.

Step 2: Unpack the APK created by Corona. From the command line run:

apktool d your-app-name.apk

Replace ‘your-app-name’ above with the name of your APK. This will create a folder named ‘your-app-name’ in the current folder.

Step 3: Go to the /res/values folder within the folder created in step 2 (this is the folder for the default language)

Step 4: Edit strings.xml. It will contain a lot of facebook stuff, but you just need to add a line below the <resources> tag:

<string name=“apptitle”>My App Title</string>

Since this is the default language, I enter the name I want to see under my app icon in English.

Step 5: Create new folders in the /res folder for every language you want to support. 

For Japanese it would be values-ja and for French the folder name would be values-fr.

In each of these folders above create a file named strings.xml with the following content:

\<?xml version="1.0" encoding="utf-8"?\> \<resources\> \<string name="apptitle"\>My Localized App Title\</string\> \</resources\>

Replace ‘My localized App Title’ with the app name written in the desired language.

Step 6: Modify the manifest.

The manifest created by Corona needs to be modified. Open AndroidManifest.xml and search for ‘android:label’.

There are two places that need to updated. Both should be modified to read: android:label="@string/apptitle".

You might need to modify the FileContentProvider’s authorities string as well.

Search for FileContentProvider and check the authorities string on the same line. It should read “com.ansca.corona.files”. If it’s anything else, change it.

Step 7: Create a new APK.

Make sure you’re in the top-level folder (the same folder as when you ran step 2)

From the command line run:

apktool b your-app-name new.apk

IMPORTANT: Do not type ‘.apk’ after your-app-name as you want apktool to read from your modified folder.

Step 8: Sign and verify your new APK 

I have a small script that does this for me (see below. I’m on Mac OSX)

WARNING: This is a bare-bones script with minimal validation. You’ll need to replace three things for it to work

  1. /path/to/your/keystore is the path to your own Android keystore file.

  2. your-password is the password for your keystore.

  3. your-alias is the alias for your keystore.

I call my script ‘signapp’ so I run the following from the command line:

signapp new.apk

#!/bin/bash if [-z "$1"]; then echo "Please specify a file to sign" exit 1; fi jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /path/to/your/keystore -storepass your-password $1 your-alias zipalign -v 4 $1 zip-$1 rm $1 mv zip-$1 $1

Step 9: Delete your old APK and rename ‘new.apk’ to your original app name APK.

Done!   Install and test on your device

Hope this helps…

Wow.  Thank you so much, @ingemar.  It’s super helpful.

Naomi

wow, thanks for the tutorial ingemar!!! i will try this out on my next app and link up this thread to my blog post if that’s okay with you :slight_smile:

cheers and thanks again!!

batgirl717111

Thanks! I’m glad it was useful.

It’s perfectly OK to link this thread if you wish :slight_smile:

cool, just linked it up :slight_smile:  thanks again!!

hey greg,

OP from the post you linked :slight_smile: got a note about your reply here.

yes you can change the name under the icon, it takes some fussing but is do-able. you can do it with pro, you don’t need enterprise (unsure about starter, haven’t tested but i don’t see why it wouldn’t work).  you only need one binary file.

check out my tutorial post on localizing apps for corona on my blog, it should cover all of your questions:

http://lauratallardy.com/app-localization-made-easy/

good luck!! :slight_smile:

thanks - that’s a great post - will have to review carefully (was going to review immediately and give some feedback but there is a bit of content there lol) - your graphics look great by the way 

overall all though batgirl your general advice with Corona then would be go ahead and localise everything?  i.e. content in your app, the app title in the store, the app icon title (which I was asking about) and the descriptions in the app store?  i.e. all are quite important do you think?

Wow!!! A very comprehensive tutorial / review. Thank you so very much.