Mobile Apps Overview
Mobile apps can require a little extra care when it comes to translation since screen real-estate is at such a high premium. In a desktop environment, elements can often stretch to accommodate a more, or less text, but on mobile devices, controlling the length of your translations can be crucial.
Keeping localized apps up to date can also be challenging. Unlike a website, mobile content is often stored directly on a user's device, and the process of releasing an update through the Android and iOS app stores can be slow.
Basic mobile app translation is available out of the box for Android and iOS. Smartling supports all standard file formats for mobile platforms. You can take advantage of our APIs to automate file upload and download, as well as integrate directly with your repository and for visually contextualizing the strings to help the translators. No SDKs are required to manage the resource files in your Smartling project.
Visual Context for Translators
Context is especially important for Mobile Apps. The quickest way to contextualize mobile strings is by uploading screenshots. Smartling uses Optical Character Recognition (OCR) to automatically match the screenshots with strings in your project. For large or ongoing projects, this whole process can be automated via our Image Context API.
Smartling now supports video as a convenient way to provide screenshots for translators. For more information see the Context from Video article.
Users can then use image context and Smartling web based CAT tool to perform review of translations with or without context.
Apple MacOS and iOS Localization
If you're using Smartling when translating apps for MacOS and iOS, you can either work with your app's native .strings files or you can use .xliff files that can be optionally generated by some versions of Xcode. The one that you choose depends on your development process.
.xliff files are not required for localization. They are simply an artifact that Xcode generates and uses to encapsulate the strings.
Apple Xcode Localization Catalog
The extension for Apple Xcode Localization Catalog is .xcloc.
Depending on the version of Xcode you are running, the Export For Localization feature will export only an .xliff file, or it will create a Localization Catalog (a folder with an .xcloc extension) that includes an .xliff file. Learn more about the Xcode Localization Catalog here.
Whether you choose to upload .strings files or .xliff files, Smartling only requires you to upload files in your app's original language. If you choose to use .xliff, when using the Xcode Export For Localization feature, select only the original language (labeled "Base Language" or "Development Language" in the Xcode UI).
When the translation is completed in Smartling, you will download the translated versions of the .xliff files which can then be imported back into your project using the Import Localizations feature. Both Export and Import are available in the UI or on the command line.
Currently, Smartling only supports plural strings in the .stringsdict format. If your application uses plural strings, you must upload the .stringsdict format. Some versions of Xcode will include the plural strings in the .xliff file, however, Smartling currently does not capture those strings as "plural" strings, and therefore you will not get the correct translations back if you only upload the .xliff file to your Smartling project.
As Smartling supports .strings file and .stringsdict files, it’s not necessary to ever use export/import in Xcode (because ultimately the app needs those files). However, if you choose to use the import/export in Xcode, then you will need to extract the .xliff and .stringsdict files, as Smartling does not support the Xcode package directly.