Advertisement

Dev Juice: New localization tool simplifies multi-language development

Does multi-language Cocoa or Cocoa Touch development drive you nuts? With so many strings files and a need for high precision, you're not alone. A new application called Linguan may help simplify your work.

Linguan ($4.99), from Drobnik KG, transforms the way you edit localization files. Instead of selecting individual translations from your lproj folders, Linguan allows you to open your entire .xcodeproj project at once. It provides a unified interface for managing localization tasks across your project.

The developers, including Oliver Drobnik and BytePoets, have done a terrific job in analyzing exactly how you get your job done. Linguan tries to help you translate everything, and translate that precisely just once.

Linguan checks to make sure you have provided translations for each localizable token across all supported languages. If your PRINT_BUTTON_LABEL appears in the French and English localizations but not the Swedish one, Linguan alerts you.

Another thing this app checks for is duplicate tokens. This occurs for many reasons. You may use similar items on multiple screens and enter duplicate names by accident. Or when you use the NSLocalizedString macro, some developers are confused by the role of the second parameter, the comment. The comment is used solely for self documentation and does not differentiate two otherwise identical tokens. Linguan catches these duplicates regardless of why they were inserted.

Because you'll likely want to contract out for translations, Linguan allows you to add these custom comments to each of your tokens. This does two things. First, it provides self-documentation as to how you're using each token in the application, and second, it allows you to better communicate that usage to your translator. When you export your tokens, you can include both the comments and a source language translation, (e.g. DEL_CONF, Deletion Confirmation, "Do you want to delete this item?") so the translator receives the best possible summary of the token usage.

Linguan also has a few more tricks up its sleeves. It allows you to add new tokens to existing translations when you update your app with more features. There is a search box, where you can enter any token or translation word and it will search across all its source files. This returns tokens that match either in translation or token name. If you're working with many translations at once, Linguan's Wizard mode will simplify your workspace to display just one source and one destination language.

Finally (and importantly) it presents all its tokens as a single list, regardless of the file that token originated from. Since most apps provide support in multiple files including Info.plist localizations, and localizations for Game Center, etc. this allows you to use consistent translations throughout your project.

I asked Drobnik about support for localized images. He replied that he'll be adding support for these in future versions but he wanted to focus on text for his 1.0 release.

Linguan is currently available for $4.99 at the Mac App Store.