Our DNA is written in Swift

Linguan 1.0.1 – Ginormous Hotfix Pack

My partners at BytePoets have been causing their keyboards to emit steam from walking through 26 issues that we identified on the 1.0 release just 9 days ago. Almost all had been identified as typical “oh shoot” elements, mostly items that you only find when people begin to actually use your software. Also I was able to smuggle in one or the other new feature since I consider “user confusion” also as a form of bug that you should hot fix if you can.


  • Fixed: potential crash on exporting tokens
  • Fixed: on Export Missing Tokens + Translated Tokens = All Tokens
  • Fixed: Undo bug when adding a new token
  • Fixed: Location of HUD with app running on external monitor
  • Fixed: red filename when opening a single strings file
  • Fixed: entries in recent file list get duplicated
  • Fixed: string parser did not properly deal with escaped characters
  • Fixed: Warnings window scrollbar was cut off
  • Fixed: Warnings and Errors should not be editable
  • Fixed: Potential crash on closing a window or sending app into background
  • Fixed: Problem saving files with French accent characters
  • Fixed: Problem reading certain UTF16 files
  • Fixed: Double-clicking a Warning should select the related token
  • Fixed: Order of files to select for export was different from project tree
  • Fixed: Warnings did not get flushed on revalidation
  • Fixed: Inconsistencies in Wizard mode
  • Fixed: Inconsistent handling of recent files
  • Fixed: App no longer asks if you want to save the xcodeproj (which it does not modify)
  • Fixed: you could open the same file twice
  • Fixed: Inconsistent showing of Welcome window
  • Fixed: Potential crash on reopening a file from recent file menu
  • Fixed: confusing behavior of the setting for the token order in saved files
  • Fixed: saving of files now cleans them up properly
  • Fixed: Previous button was active in Wizard even when there was no previous token
  • Changed: Error message improved when trying to import file that was not exported from Linguan
  • Added: you can now add newlines in grid view with Alt+Enter, regular enter moves to the next row

I wanted to also get in several localizations and 10 volunteers jumped forward to provide translations of the tokens. But it turns out that this is only a third of the whole app. There are also many strings in XIBS and the help file. So instead of doing an incomplete job, I did not put these into this version just yet.

In Mac apps people tend to put more text in XIBs. Probably because there you have much more screen space which leads to more labels and setting all those in code would require many more outlets. But I ordered XIB support for 1.1. Linguan is localized in English and German at present, so I’m also taking the opportunity to add a German app store description which I found you can only add if the app is not yet approved. More languages will follow in another point release.

Another thing that did not make it for 1.0.1 is support for settings bundles because Xcode 4.2 seems to be in inconsistent about importing and handling these. So that needs a bit more research to support.

One thing that was also confusing was the naming of the “Last Import” auto-folder. If you scan your sources – Linguan uses genstrings for that – you will see new tokens appear there for quick access to what you need to add translations for. So we renamed that to “Last Scan”.

There are many more things that our enthusiastic users would like us to add, but as you can see we had our hands full at polishing up the 1.0 release. New features are being planned for the 1.1 version due later this year.

It would be awfully nice of you if you could help us spread the word about Linguan, here’s the app store link. And maybe a review on the app store, preferably with 5 stars? If you need support with Linguan please e-mail us.

UPDATE Nov 23rd: Now available.

Tagged as:

Categories: Updates

1 Comment »

  1. Linguan looks nice for a normal development but our app is a white-label solution, so a level more complex than your average xcode proj. Our white-label target is “branded” at build time using a preflight script to copy a resource bundle from $SOMEWHERE_PATH replacing a placeholder in the xcproject.

    That means I need to be able to tell Linguan “Search this folder…” (not my .xcodeproj) for .strings file. Furthermore, because there will be N variations of each strings file (1 per brand) Linguan would need to handle the case of multiple files specifying alternative values for a single key (E.g. in one file TAB_ITEM_1_TEXT=”Welcome to Mc Donalds’s app – I’m lovin it” but in another file TAB_ITEM_1_TEXT=”Welcome to Burger King’s app – Have it your way”).

    And also remember the .strings are all embedded in a .bundle

    Can Linguan do that? That would be cool.