Localization Suite » Features http://www.loc-suite.org Blog for the Localition Suite Thu, 05 Mar 2015 15:38:02 +0000 en-US hourly 1 http://wordpress.org/?v=3.4.1 Automatic Resizing http://www.loc-suite.org/2010/05/automatic-resizing/ http://www.loc-suite.org/2010/05/automatic-resizing/#comments Mon, 10 May 2010 20:28:26 +0000 max http://www.loc-suite.org/blog/?p=111 Hello all, it’s time again for a roundup on what’s happening to Loc-Suite these days. Very busy days. Very busy days. Basically, I completed my Beleg (like a Bachelor Thesis) about automatic application of layout during localizations. What this means? You will never-ever-ever-again have to manually resize a nib file after localization. Okay, it’s not never, but hopefully many-times ;-)

I have invested lots of time into this particular feature, which I think is the major (technical) problem of Mac localization. From the preview I showed in in this post, there were like a zillion of problems to be solved. Things became more complex that I imagined. However, finally it seems to work pretty well on some examples.

Here is one of these working examples:

This is a preview of an interface in one of my test tools. Basically this is what you’ll also see in the Manager or Localizer. So now, let’s put in some German dummy-text:

The interface has now been adjusted to fit all texts as good as possible. The former Cancel button had to extend in width and hence the Yes button had to do so, too. The approach will work with more complex windows as well, but this simple example shows the effects already quite well.

One of the things I’ve (thought of for weeks but) implemented just today is the red box you see there. I defined an arbitrary fixed width for the window. Without this definition, it would have extended in width.

I will eventually publish my work (maybe also here) and disclose the full details of how this process works. For now there’s only the user’s view. If you like, you can download a nightly build of a layout-enabled Localization Manager. As always – just go here and grab the “Localization Manager Layout”.

Next up will be to make the process ready for the big stage. There are some essential things still missing or buggy. If this is done, I will merge the layout into the main branch, publishing it to all developers.

I am pretty excited, and would love to hear some feedback.
Have fun, Max

PS: Is someone of you going to WWDC this year? I’ll be there. Maybe we can meet…

]]>
http://www.loc-suite.org/2010/05/automatic-resizing/feed/ 2
Editing the Reference Language http://www.loc-suite.org/2010/02/editing-the-reference-language/ http://www.loc-suite.org/2010/02/editing-the-reference-language/#comments Sun, 21 Feb 2010 00:18:39 +0000 max http://www.loc-suite.org/blog/?p=102 Up to some weeks ago I have always been convinced that it is absolutely not necessary to be able to edit the reference language from within the Localization Manager. This makes the process very clear: “We create all localizations from the reference files and only read those. We won’t touch them even if you’d want us to.”

However, this has changed. Some users came up to me and requested the ability to edit the english (reference) strings from the outside. They have their localizations sent to a professional agency and they tend to find typos in the english strings. Instead of them having to go into each file and look for the occurrence, they wanted to be able to import a mono-lingual strings file that came from the agency and automatically have their typos fixed.

Only very few may know, that solving this issue is quite an issue. The problem was that the Loc-Suite had only one dirty state for the reference language. But now we’d need two: when the contents in the file were modified, imported and need to be written to all other languages and when the reference language was changed in the database. As you might imagine, from a developers experience, splitting such a fundamental and central state is a very sensitive change. Luckily it was not overly much code to change, but still it was a lot of code to check that it worked right. Luckily I got unit tests ;)

The short message is: it’s in there. From the next nightly build on, you will be able to edit the reference language right from the Localization Manager. This function is not yet in the Localizer. Makes few sense there, I think — send me a message if you feel you need this.

When you now have a look at the change status of your files in the manager, you might get a a little cumbersome picture:

This means that the reference language was changed in two ways: the file was modified and the changes have been imported (thus the “Reference”) and the developer edited some of the strings in the Manager (thus the “English”). What will happen now? As the reference changed, first all other languages will be written. After that is finished, the reference file will be updated and immediately rescanned again. The rescan is more or less a security and convenience concern.

That’s it for today. Have a nice weekend!
Max

]]>
http://www.loc-suite.org/2010/02/editing-the-reference-language/feed/ 0
Dictionary Integration http://www.loc-suite.org/2010/02/dictionary-integration/ http://www.loc-suite.org/2010/02/dictionary-integration/#comments Sat, 20 Feb 2010 14:06:39 +0000 max http://www.loc-suite.org/blog/?p=98 Just today, I have finished a great series of nice new features around dictionaries in the Localization Manager. So here it goes:

  • First, of course, you can open and load dictionaries and files like it’s in Localizer. This is needed for the following features.
  • Trivially, this enables support for automatic translation. While the best place to do this is still the Localizer, you are now able to automatically translate files in the Manager as well. This may come in quite handy when you split up a interface file and want to transfer the strings from one to the other.
  • Next up are embedded dictionaries. Having loaded dictionaries in the manager enables the ability to include tailored — embedded — dictionaries in exported Localizer files. This reduces the need to ship dictionaries separately and comes in handy especially when the developer wants to ensure consistency. So embedding the system glossaries and the one of your old version will ensure maximum consistency. Additionally, these embedded dictionary will contain keys that match only. This has two benefits: first the dictionary will be smaller and thus the file, and second, you do not transfer your complete knowledge base. The translator could “steal” (i.e. copy it and keep it as his own) the dictionary, so you will want to keep it as small as possible.
  • One thing else that can be done when having dictionaries, is calculating statistics. I am very proud to present the (like version 2.0) updated statistics panel:

    Not only that the sections are collapsible and nicely animated (yay), the major new thing is the third part. As you can see, there are detailed statistics about the selected keys in relation to your knowledge base. This is especially interesting for professional translators to estimate their work and calculate the price for a translation. Counts are being given in key pairs and words.

That’s the main thing. I also fixed several bugs (see commit log for details) and added export and import facilities to the Localizer. This enables Localizers to save their work done to a dictionary in order to not loose any data. And this allows agencies to work on Localizer files, but to export the actual translation work to XLIFF and reimport it later. Flexibility as it ought to be (at least in my opinion)!

I’d love to get some feedback.
BTW: These things are online right now. Have a look in the nightly trunk.

]]>
http://www.loc-suite.org/2010/02/dictionary-integration/feed/ 0
Segmentation http://www.loc-suite.org/2010/02/segmentation/ http://www.loc-suite.org/2010/02/segmentation/#comments Thu, 18 Feb 2010 17:18:19 +0000 max http://www.loc-suite.org/blog/?p=93 Today I can proudly announce another nice new feature in the Loc-Suite: Segmentation. Basically this is the process of splitting a longer string into multiple parts. Examples for segmentation are paragraphs, sentences or words. I’ve implemented this functionality in form of an engine in the frameworks.

Currently there are two usages: First, the matching. While this piece of functionality used to have it’s own (admittedly quite limited) segmentation, it is now using the new one from the framework. This changed nothing when looking at the features, except that the code is now well-tested and more reliable.

The second usage is in Localizer. Splitting longer strings into shorter ones eases the localization process and also increases the probability of finding matching strings. Thus, Localizer now features a filter setting for segmentation by either sentences and paragraphs.

Segmentation in Localizer will be available in tomorrow’s nightly build.

]]>
http://www.loc-suite.org/2010/02/segmentation/feed/ 0
New logging facility http://www.loc-suite.org/2009/05/new-logging-facility/ http://www.loc-suite.org/2009/05/new-logging-facility/#comments Wed, 20 May 2009 11:55:56 +0000 max http://www.loc-suite.org/blog/?p=21 Hey,

the Loc-Suite now features a new Logging facility. This means we no longer have the regular text log that is also written to a file, but now a tree-based logging with error levels. Just like the Xcode compile log, each action log can consist of multiple inner log items. Each of these items has a level (none, warning, error) that is propagated upwards. Now here come the nice things:

- Using these levels I can express ibtools error and warning messages!
- When a warning appears, the window will automatically open!
- Even the string parsing can easily be verified by the user: Warnings and errors will pop up.

I hope you find it as useful a I do. I’d love to get some feedback!
Max

]]>
http://www.loc-suite.org/2009/05/new-logging-facility/feed/ 0