do I need to localize via the "strings.xml" approach google play defines?

Do I need to localize via the “strings.xml” approach google play defines?   Or are there any negatives to not using the Google Play defined approach for localizing text within your app?

I’m assuming no for us, but just checking.

Reference:

* Google Play doco:  http://developer.android.com/distribute/googleplay/publish/localizing.html

* In particular how they describe to use strings.xml

I have built my app and translated it into all the languages only to find when I upload the binary to google play, under APK details, it doesn’t list my languages. Did you ever figure this out?

There’s nothing that breaks if you have your own translation method. If fact if you release for both iOS and Android I’d recommend to have your own, as strings.xml is Android only.

Personally I’ve written a PO library to handle standard po files for translation. The benefit is that many translators use po-edit to handle po files, so it’s easy to get things translated. Just send them the po files and when you get them back it’s a just a matter of drag-and-drop replacement. No extra editing required.

To tell the various App Stores which languages your app supports you can add a CFBundleLocalizations entry (for iOS) in build.settings and specify every language the app supports. For Android I’m not sure if anything can be added as a Pro subscriber.

If you want to localize the app name you’ll still need to use the strings.xml approach on Android. 

I have a short post about localizing the app title on Android here:

http://www.swipeware.com/android-localize-app-title-with-corona-sdk/

This is quite an old post, and as en Enterprise user I don’t need to do it this way anymore. I think this approach (though rather lengthy) is still valid though.

Laura Tallardy has also written a post about localization here:

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

Thanks for the detailed reply. This confirms what I’ve done in the end.
The thing that worries me is; without an equivalent to the iphone plist CFBundleLocalizations table, android wont know what localisations my app has. When I upload the apk to google play it lists three languages associated to the binary ( ‘es’, ‘he’, ‘iw’ ) two of which I don’t even support. Essentially I support all the languages available in itunes connect and worry that even though I’ve opted in to the regions and added metadata for google plus, they wont list my app in any other countries. Is this the case? I contacted google and they couldn’t help apart from suggesting strings.xml.

On a separate issue, have you managed to support both ‘Simplified Chinese’ and ‘Traditional Chinese’ for iOS?

I’ve added the following ISO 639.1 codes to CFBundleLocalizations but only appear to get ‘Chinese’ showing up under Binary details i iTunes connect :
 

zh-hans, zh-hant, da, nl, en-ca, en-gb, en-us, fi, fr, fr-ca, de, el, id, it, ja, ko, ms, nb, pt-br, pt, ru, es, es-la, es-mx, sv, th, tr, vi

Am I correct in thinking ‘zh-hans’ and  ‘zh-hant’ represent ‘Simplified Chinese’ and ‘Traditional Chinese’ respectively?

Yes, zh-Hans = Simplified, and zh-Hant = Traditional.

I’ve only implemented Simplified Chinese (zh-Hans), so not sure how they’d show up when you specify both.

I believe the ‘es’, ‘he’ and ‘iw’ come from Corona’s Facebook integration. Even if you don’t use Facebook, the localization strings get included in your code.

Your app should automatically be listed in all countries you opted in for. However when you provide metadata (app description etc) for specific countries you should get a better download rate.

I have built my app and translated it into all the languages only to find when I upload the binary to google play, under APK details, it doesn’t list my languages. Did you ever figure this out?

There’s nothing that breaks if you have your own translation method. If fact if you release for both iOS and Android I’d recommend to have your own, as strings.xml is Android only.

Personally I’ve written a PO library to handle standard po files for translation. The benefit is that many translators use po-edit to handle po files, so it’s easy to get things translated. Just send them the po files and when you get them back it’s a just a matter of drag-and-drop replacement. No extra editing required.

To tell the various App Stores which languages your app supports you can add a CFBundleLocalizations entry (for iOS) in build.settings and specify every language the app supports. For Android I’m not sure if anything can be added as a Pro subscriber.

If you want to localize the app name you’ll still need to use the strings.xml approach on Android. 

I have a short post about localizing the app title on Android here:

http://www.swipeware.com/android-localize-app-title-with-corona-sdk/

This is quite an old post, and as en Enterprise user I don’t need to do it this way anymore. I think this approach (though rather lengthy) is still valid though.

Laura Tallardy has also written a post about localization here:

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

Thanks for the detailed reply. This confirms what I’ve done in the end.
The thing that worries me is; without an equivalent to the iphone plist CFBundleLocalizations table, android wont know what localisations my app has. When I upload the apk to google play it lists three languages associated to the binary ( ‘es’, ‘he’, ‘iw’ ) two of which I don’t even support. Essentially I support all the languages available in itunes connect and worry that even though I’ve opted in to the regions and added metadata for google plus, they wont list my app in any other countries. Is this the case? I contacted google and they couldn’t help apart from suggesting strings.xml.

On a separate issue, have you managed to support both ‘Simplified Chinese’ and ‘Traditional Chinese’ for iOS?

I’ve added the following ISO 639.1 codes to CFBundleLocalizations but only appear to get ‘Chinese’ showing up under Binary details i iTunes connect :
 

zh-hans, zh-hant, da, nl, en-ca, en-gb, en-us, fi, fr, fr-ca, de, el, id, it, ja, ko, ms, nb, pt-br, pt, ru, es, es-la, es-mx, sv, th, tr, vi

Am I correct in thinking ‘zh-hans’ and  ‘zh-hant’ represent ‘Simplified Chinese’ and ‘Traditional Chinese’ respectively?

Yes, zh-Hans = Simplified, and zh-Hant = Traditional.

I’ve only implemented Simplified Chinese (zh-Hans), so not sure how they’d show up when you specify both.

I believe the ‘es’, ‘he’ and ‘iw’ come from Corona’s Facebook integration. Even if you don’t use Facebook, the localization strings get included in your code.

Your app should automatically be listed in all countries you opted in for. However when you provide metadata (app description etc) for specific countries you should get a better download rate.