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. 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. No mobile SDKs are required to manage the resource files in your Smartling project.
Our in-app review SDKs for iOS apps and Android apps let you review translations on an actual mobile device or simulator to make sure your translations fit the required space and work with your touch interface.
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.
SDKs and Integration
The mobile SDKs have been deprecated.
Smartling no longer supports these mobile SDKs. They are left available for use as-is for Smartling customers who are interested in developing their own custom solutions. We are unable to provide support on usage of the SDK or any any Smartling hosted services (api endpoints) that rely on them.
As noted above you can upload application screenshots to use as context. (3rd party tools that integrate into QA, CI/CD processes can be helpful here.) Smartling Image Context feature will perform OCR to try and automatically assign strings to the context image. Users can manually assign strings to any context image.
Users can then use image context and Smartling web based CAT tool to perform review of translations with or without context.
The Mobile SDKS are only provide some automation for producing visual context for your project and an in app review experience. The SDKs are not required to localize your app, improve the strings with visual context, or review your translations. These actions can performed in using other features in our APIs and our Dashboard and CAT tool.
Apple MacOS and iOS Localization
Smartling SDKs are not needed, and are only for additional functionality to help with context and review.
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.