The WebTranslateIt Blog

i18n news and Product Updates about WebTranslateIt

New file format supported: PHP files for the Laravel framework

By Edouard on April 25, 2014

You can now translate PHP files for the Laravel framework with WebTranslateIt.

The Laravel framework indeed supports nested arrays in translation files, so you can have things like:

<?php
# Some copyright comments
return array(
    'welcome' => 'Welcome to our application',
    'nested' => array(
        'key' => 'value',
        'nested' => array(
            'key' => 'value',
            'key2' => 'value2',
        ),
    ),
);

You can find more information about this new file format in the documentation.

Refinements to the other PHP handlers

Our other PHP handlers (the PHP Array handler and PHP Define handlers have been updated to make the PHP closing tag (?>) optional. If you don’t include it in your files on import WebTranslateIt will generate translation files without the closing tag on export.

I hope you will find these improvements useful. Thank you for using WebTranslateIt.

Updates to syncing behavior

By Edouard on April 18, 2014

We pushed an update to the way synching works via the API today. The gist is that it is no longer possible to push all your master and target files at the same time by running the wti push --all command for instance.

The wti push --all command is unreliable and can cause problems synching your files. Let’s consider the following project, whose source language is English and which is translated into 3 languages. It contains these files:

» en.yml (master)
»» de.yml
»» fr.yml
»» ru.yml

If the user runs wti push --all it will push all these files to WebTranslateIt at the same time.

On WebTranslateIt’s side files are imported by background workers and we run many background works at the same time, so WebTranslateIt will import these files at the same time depending on the server load. So en.yml, de.yml, fr.yml and ru.yml could be imported at the same time.

Importing the master file en.yml re-generates all its target files in order to add or remove segments that were added or removed in the master file. Since the target files could be importing at the exact same time this command effectively imports a file that is being updated at the same time. This causes issues such as target files not being properly imported.

That’s why we now force users to push master files and target files separately to prevent any importing issues.

WebTranslateIt client updated to 2.3.0

In order to reflect this change we also released an update to the web_translate_it client which deprecates the wti push --all command. We added a new command to replace it: wti push --target which will push all target files only.

To install web_translate_it, please refer to the gem documentation.

To upgrade web_translate_it to its latest version, type in a terminal: gem install web_translate_it.


If you were using the command wti push --all extensively on your project this command will no longer work. We broke it down into 2 commands:

  1. wti push to push your master files,
  2. wti push --target to push eventual changes of your target files.

My thanks to the awesome folks at LinguaLeo for reporting this issue

6 new features you didn’t know about

By Edouard on March 12, 2014

We pushed quite a few new features to WebTranslateIt lately. Here are 6 new ones.

1. Easily insert typographic characters

We updated our translation text highlighter and it now allows copy and pasting all kinds of typographic characters (ellipsis, quotes, currently symbols) by just clicking on the character on the source text.

These characters are difficult to type for translators, so this should make it much easier.

2. View statistics in other units

The Language & Stats tab got more useful, too. You can now choose to view the list of segments in other units too: segments, words and characters.

3. Easily e-mail your people

On the Team page managers will now find a drop-down menu to send an e-mail to some of your users: all managers, all translation teams or translation teams with or without proofreading rights.

4. Close and resolve discussions

After a while it sometimes happens that comments on a discussion are not that useful or relevant. Sometimes a discussion is about an advice or an issue and future comments are “Thanks!” or “Me too!” comments. Sometimes it would be useful to lock the discussion to prevent these comments but still keep the discussion open because it is informative and useful. You can now do so by closing the discussion.

Other times the discussion isn’t relevant anymore. For instance it can refer to a typo which has since been fixed. You can then archive the discussion.

Archived discussions are not deleted but can be found under “deleted discussions”, a new resource category under deleted resources.

5. Empty deleted resources

Deleted resources such as files, locales, segments and discussions are actually kept for a little while on our servers and are recoverable in your project settings in case a user deleted something by mistake.

It is now possible to empty and delete forever these deleted resources.

6. Tweet buttons

Are you running an open project and crowdsourcing its translation? We’ve added Tweet buttons to the Top Translators page, so it is easier than ever to spread that translation spree.

Better support for i18next JSON files

By Edouard on February 27, 2014

We’ve been improving our support for the excellent i18n javascript library i18next recently.

WebTranslateIt can now handle i18next’s plural forms:

{
  "ar": {
    "translation": {
      "key": "singular",
      "key_plural_0": "zero",
      "key_plural_2": "two",
      "key_plural_3": "few",
      "key_plural_11": "many",
      "key_plural_100": "plural"
    }
  }
}

Also, i18next’s variable placeholders should now be highlighted and their presence validated in the translation interface.

{
  "fr": {
    "ns.1": {
      "pluralTest": "singular",
      "pluralTest_plural": "plural",
      "pluralTestWithCount": "__count__item",
      "pluralTestWithCount_plural": "__count__items"
    }
  }
}

You can find more information about WebTranslateIt’s support for i18next JSON files in our documentation.

New in WebTranslateIt: Revert Batch Operations

By Edouard on February 5, 2014

Did it ever happen to run a batch operation and immediately realizing that it wasn’t running on the correct subset and wishing you could undo the damage on your project?

We added a new feature that complements batch operations: you can now revert batch operations.

You will find this new feature on the page listing the changes made by the batch operation shortly after running a batch operation.

This button will be visible to managers if the batch operation was a batch operation running on translations (that is, an operation which is one of proofread, unproofread, pretranslate, flag as to verify, translate complete matches, copy text from source or remove translation) and if it was run less than 5 hours ago. We think reverting older batch operations than that could cause problems on your project if other people were working on it at the same time.

We hope you will find this feature useful. Thank you for using WebTranslateIt.