Localization of File Browser

If you would like to help translate Blackmoon File Browser to other languages besides English, this page is for you.  I would like to thank you for your contribution to help improve this app, it is very appreciated. =)  Android allows for much more than just language translations as images and layouts can also be localized for a better fit into any market.  If you would like to change not only the language being used, but also the layout and/or images, that is an option we can discuss.

What does it take to localize the text strings in an Android app?

Besides the obvious requirement to understand both English and the language you will be translating into, it requires an editor capable of the languages in question or anything that can save in the UTF-8 format.  Microsoft Word 2007+ can be used to translate the xml files, but you will need the XML Data View transformation file in order to accomplish the task.  Without the XSLT file, you will only see half the information stored in the XML and it makes translations a bit harder.

Using MS Word to translate

MS Word will require an XSL file in order to properly translate the strings stored in XML.  You can read up on why over here. android_resource_strings.xsl is the “XML Data View” file you will need to use in conjunction with editing the strings_en.xml with MS Word. Once you have opened the “strings_en.xml”, you will need to choose a data view (XSLT) to appy.  Browse to this file and choose it.  Once
you do that, the view should change dramatically and show you two columns.  One for “String ID” and one for “String Value”.  The column you would translate is the “String Value” and the String ID should give you a good idea of where in the app it will be used (along with the English string currently being used).  Once you save the file as “strings_translated.xml”, the translation will be complete and ready to be placed into the next version of the app.

Download link: android_string_resources.xsl (zipped)

Android Market description and promotional text

The Market description text is limited in size to 4000 characters (so much more than the 325 it used to be!).

Current English Android Market text:

Browse, open, rename, manage, copy, move, delete or
even email files found on your phone. Aware of 100+
registered file extensions.

Multiple file support.

View thumbnails of image files.

Create music playlists with the Send Marked feature.

Pack/unpack Zip files.

Jump Points to any file or folder.

Thanks and enjoy!

The Promotional text is a short ad for the app.  The size limit on this text is 80 characters.

Current English Android Market Promotional text:

Small, fast, full featured file manager.


Lists of Text Items

The lists being used inside the app are mainly seen in the Settings area.  Only the items underneath the heading need to be translated.

Thumbnail Size setting menu:

Sort Order setting menu:

Font Size setting menu:

Screen Orientation setting menu:

The Screen Orientation setting menu requires a bit of an explanation.

  • “Default” is what the phone uses by default for all its apps (which may or may not result in automatic orientation detection).
  • “Auto” uses the phone’s sensor to detect what orientation it should be regardless of what the phone’s default orientation is set to use.
  • “Portrait” is the phone’s normal orientation which is taller than it is wide.
  • “Landscape” is the phone turned 90 degrees counter clockwise.
  • “Seascape” is the term used for “clockwise landscape” which is used primarily by left handed people. While this mode is available in phones with Android 2.2, I cannot programmatically change it yet.  I will be putting that feature in once Google updates the API and lets me set that orientation w/o the sensor.


Text strings

strings_en.xml contains the majority of what needs to be translated inside the app.  You can edit it directly with your favorite editor, but if you are going to use MS Word, please read this.

There’s a few technical quirks with the translations, but I will handle all that on my end so you don’t have to worry about it (like the backslashes before single and double quotes). A few of the
strings have wildcards in them like “%1$s”.  Those wildcards will need to be in the translated string as well, but will be filled in by the appropriate data where applicable.  e.g. “Version %1$s” will become “Version 5.1” when the app is running.


  • You do not have to translate every string. Partial translations are acceptable as well as using English where it is better suited.
  • <string name=”file_info_fmtstr”>%1$s, %2$tF %3$tR</string>
    This string is called a “format string” in that it shows how something will be displayed.  In this case, we have the file details.  The file’s size will go into the %1$s, the date stamp of the file will go into the %2$tF, and the time stamp will go into the %3$tR.  The result is “64Kb, 2010-1-20 16:40” or something similar.  Please note that the date and time will display based on the locale of the phone settings and will not need any translation as it is already done for us.  It is included in the list of translatable string in case it makes more sense to change the order of size/date/time or if different punctuation/spacing should be used between the size and date and time. e.g. if you would rather have it show “64Kb (16:40 on 2010-1-20)”, then you would translate the string as “%1$s (%3$tR on %2$tF)”.
  • <string name=”folder_info_fmtstr”>%1$tF %2$tR</string>
    Same as above, but folders do not have a size, so it is just displaying the date and time.



Please email all questions and submissions to me at: ryanf@blackmoonit.com
A quick list of links:

Changes from 7.7 to 7.8:

A new feature to turn off the Notification Bar has been added to the app:

Use Full Screen
Hide the Notification Bar

The feature is only available on pre-3.0 devices (most phones) since tablets and new 4.0 phones ignore this ability — they won’t let you hide the bar since the Back, Home, and Recent buttons live there and cannot be hidden.



I hope it’s fairly straightforward to translate.  It’s a heck of a lot simpler to translate an Android app than some of the commercial programs I’ve worked on in the past. If you have any questions, don’t hesitate to ask. =)

Again, thank you so much for your generosity!

Leave a Reply

Your email address will not be published. Required fields are marked *