Огляд 7 онлайн-сервісів для локалізації ПЗ

    Напевно кожен продукт, інтерфейс якого має більш однієї мови, стикався з проблемою організації процесу локалізації.
 
Насправді це питання стосується не тільки мультимовних додатків. Далеко не завжди при проектуванні фичи заздалегідь пропрацювали всі тексти, які для неї знадобляться, тому дуже часто розробники використовують «чорнові» тексти, які потім повинні бути вивірені і, при необхідності, переведені на іншу мову. Зазвичай це виглядає так: «ну ти напиши поки що-небудь там, потім підправимо».
 
У даному огляді я опишу свої враження від тестування 7 онлайн-сервісів для локалізації ПЗ і порівняю їх за основними показниками (див. таблицю в кінці статті).
 
 Дисклеймер : даний огляд не претендує на повноту і об'єктивність. Я вирішив поділитися своїми враженнями від роботи з декількома сервісами, які я тестував в процесі виконання завдання з організації процесу переказів в конкретному Ruby on Rails-проекті. Можливо, для когось мінуси здадуться плюсами і навпаки, тут все залежить від процесу і особистих вражень. До того ж я сам не перекладач і можу упускати якісь важливі для них моменти.
 
Для кожного сервісу я опишу його ключові особливості у вільній формі, а в кінці статті зроблю невелику порівняльну табличку. Всі скріншоти клікабельні. Ну, поїхали!
 
 

localeapp.com

Оскільки наш додаток написано на Ruby on Rails, то природно в першу чергу я звернув увагу на цей сервіс з принадним слоганом «Easy localization for Rails apps». Взагалі, на цей сервіс вже є короткий огляд у статті Ruby on Rails I18n: розробник — розробляє, клієнт — заповнює. Про інше подбає сервіс , але я все ж напишу своє враження, щоб зробити огляд більш цілісним.
 
 Забігаючи вперед, відразу скажу, що у localeapp є один недолік (чи не єдиний, втім), через якого ми відмовилися від його використання. Справа в тому, що нам необхідно було не тільки перекладати, але ще й робити рев'ю нашої дефолтной локалі. А localeapp позначає всі ключі в будь-якому імпортованій файлі як «Complete». Тобто, завантаживши нашу дефолтну локаль туди, я побачив, що вона вся «Complete», і щоб помітити її для рев'ю, мені потрібно зробити це вручну для кожного ключа! Я навіть списався з цього приводу з розробниками, і вони відповіли, що таки-так: «… there is no easy way to batch-mark complete locales as incomplete». Для нас це означає, що довелося б заводити фіктивну локаль у додатку, додавати незміцненої переклади в неї, а в міру проходження рев'ю переносити їх в нормальну локаль. Ну, що тут можна сказати… прикро, що через відсутність можливості такої простої batch-операції сервіс може втрачати клієнтів. А все так добре починалося, мені цей сервіс сподобався.
 
 Інтерфейс перекладача:
 
 
 
 Основні особливості:
 
 
     
Сервіс орієнтований в першу чергу на rails-додатки (але це не означає, що перекладати можна тільки їх).
 Існує однойменний гем , який можна підключити до додатка і робити імпорт / експорт локалей однією командою. Також цей гем вміє пушіть в localeapp все missing translations автоматично при оновленні сторінки (за замовчуванням тільки в development, але можна конфігурувати). Ну і найсмачніше: гем можна запустити як daemon на staging-сервері і він буде автоматично із заданим інтервалом затягувати оновлення з localeapp і застосовувати їх на сервері, так що перекладачі зможуть відразу бачити результат своїх праць.
 Вміє затягувати і включати в список перекладів мовні ресурси з популярних бібліотек і всіх підключених гемов. Ключі з бібліотек не тарифікуються, але їх набір обмежений: devise / kaminari / rails v2.3/rails v3 + ще парочка.
 Є різні статуси ключів, але їх всього два: Complete і Incomplete. Так само в контекстному меню є функція «Mark for review», але що саме вона робить, я так і не зрозумів. Ніяких видимих ​​змін не відбулося.
 Ведеться історія змін ключів (без Версіонування текстів, тільки сам факт зміни).
 Має можливість додати в проект користувачів з ролями:
 - Developer (доступ до всіх функцій і Локаль);
 - Translator (доступ тільки до перекладів і не можуть створювати або видаляти ключі).
 Приємний, досить юзабельно інтерфейс.
 Інтерфейс дозволяє створювати нові і видаляти ключі (крім ролі Translator).
 Пошук шукає входження пошукового рядка відразу скрізь: у ключах і в самих текстах перекладів.
 Є можливість замовити платний професійний переклад.
 Є безкоштовна підтримка Open Source проектів.
 Є безкоштовний тариф для дрібних закритих проектів (до 500 ключів і до 2 локалей).
 
 Слабкі сторони:
 
 
     
Відсутня можливість залишити коментар або скріншот до перекладу.
 Не можна масово помітити переклади, що не затверджені. Це означає, що рев'ю дефолтной локалі можна робити тільки через описаний вище лайфхак з фіктивною локаллю.
 Вельми мізерні можливості інтерфейсу переказів порівняно з іншими сервісами (хоча для когось мінімалістичний інтерфейс буде скоріше плюсом).
 Найголовніший мінус для нас: офіційний гем вельми дивно Мерджі переклади при зворотному імпорті. У нас він постійно переставляв місцями рядки (навіть якщо не було змін в них), а також (що взагалі неподобство!) Пхав шматки з одних yml-файлів в інші, так що розібратися у змінах після такого імпорту було неможливо. Не виключаю, що цю проблему можна було вирішити, але писати в супорт і розбиратися вже не став, тому вирішили не використовувати цей сервіс за сукупністю причин. Так що просто майте на увазі.
 
 
 

webtranslateit.com

Функціонально дуже багатий сервіс, який підійде більшості проектів. Однак, комусь він може здатися навіть занадто перевантаженим можливостями.
 
 Інтерфейс перекладача:
 
 
 
 Основні особливості:
 
 
     
Досить багаті можливості роботи в інтерфейсі: зручні фільтри, групові операції і т.п.
 Ніякої принудиловки з дефолтной локаллю, на відміну від localeapp.com. Всі нові імпортовані ключі за умовчанням мають статус «Unproofread», тобто можна без проблем Рев'ю існуючі переклади або через групові операції помітити їх все як «Completed».
 Багато різних статусів ключів: Completed, Unproofread, Untranslated, To verify, Hidden, Obsolete. Також можна додавати теги (labels) до ключів. Мабуть, вистачить для реалізації будь-якого бізнес-процесу.
 Пошук такий же зручний, як на Localeapp: шукає відразу і скрізь (входження в ключах та вмісті). Є можливість шукати по регулярному виразу.
 До кожного ключу можуть бути прикріплені короткий супровідний текст від розробника, а також обговорення. Коментар від розробника дуже корисний, коли потрібно дати перекладачеві посилання на сторінку, де можна побачити контекст.
 Дозволяє створити власний глосарій для проекту (або скопіювати його з іншого проекту). Якщо у перекладному тексті зустрічається слово з глосарію, сервіс покаже його значення і запропонований переклад.
 Автоматично пропонує варіанти перекладу слів зі своєї Global Translation Memory. Правда, робить це якось дивно: якщо перекладається фраза, то варіант перекладу пропонується тільки на перше слово.
 Підтримка історії змін по кожному ключу (включаючи Версіонування тексту перекладу).
 Має можливість додати в проект користувачів з ролями:
 - Manager (доступ до всіх функцій і перекладам);
 - Translator (доступ тільки до перекладів на зазначені локалі і, опціонально, можливість стверджувати переклади);
 - Client (може тільки переглядати переклади і читати / писати).
 Вміє імпортувати файли з комп'ютера, по URL або через пряму вставку з буфера обміну.
 Є підтримка Евентов появи нових не переведені ключів. Можна налаштувати період перевірки на наявність нових ключів (daily / hourly) і вказати, що про це потрібно сповістити команду перекладачів. Дуже зручно, на мій погляд.
 Також є підтримка веб-хуков. Після кожного перекладу сервіс буде відправляти на вказаний URL POST-запит з інформацією про зроблене перекладі і його статусі.
 Існує кроссплатформенная утиліта WebTranslateIt Command Line Interface , яка дозволяє виконувати основні операції (pull / push і пр.) з командного рядка.
 У своїй статті Workflow Automation вони призводять сценарії реалізації автоматизованого оновлення перекладів staging-сервері. На відміну від Localeapp тут немає готового рішення, але вони пропонують взяти за основу їх утиліту web_translate_it, написану на ruby, і запиляти оновлення так, як вам треба (приклади додаються).
 В наявності присутній повноцінний REST API .
 Є можливість підключити Google Translate і Bing Translator для автоматичних переказів.
 Є безкоштовний тариф для дрібних закритих проектів (до 500 ключів).
 
 Слабкі сторони:
 
 
     
Завантаження файлів тільки вручну, немає автоматичної синхронізації з чим-небудь. Вміє розуміти веб-хукі Github і затягувати оновлення перекладів, але це підходить тільки для публічних репозиторіїв і вимагає деяких специфічних налаштувань .
 Злегка корявий інтерфейс, виробляє якесь враження неохайності. Але в цілому все інтуїтивно зрозуміло.
 Ні безкоштовної підтримки Open Source проектів.
 Немає можливості замовити платний переклад через інтерфейс сервісу.
 
 
 

lingohub.com

 
Цей сервіс не має настільки багатими можливостями в частині переказів, як webtranslateit, проте він мені здався дуже навіть гідним уваги. До того ж у нього, на мій погляд, сама зручна і гнучка реалізація синхронізації мовних ресурсів з проектом (зокрема через Github).
 
 Інтерфейс перекладача:
 
 
 
 Основні особливості:
 
 
     
Дозволяє інтегруватися з гітхабом і імпортувати всі yml-файли звідти (як вручну, так і затягувати автоматично поновлення з репозиторію при комітів у вказану гілку). Підтримує різні стратегії імпорту .
 Дозволяє пушіть зміни назад на гітхаб в обрану гілку (це проводиться тільки вручну, натисканням кнопки).
 При інтеграції з Github має набір найбільш поширених watch patterns — масок, за якими потрібно відслідковувати зміни в мовних файлах для проектів на RoR, yii, CakePHP, додатків Androis і iOS і т.д.
 Є свій гем для цілей апдейта перекладів у додатку.
 Можна додавати коментар і завантажувати скріншоти до перекладу.
 Є два види інтерфейсу редактора перекладів (класичний і оновлений). Мені більше сподобався оновлений (на скріншоті саме він). У класичному вигляді не видно самих ключів, а мене це чомусь нервує. В оновленому вигляді зручно користуватися гарячими клавішами на клавіатурі (тільки їх треба вивчити, без них складно).
 Є різні статуси ключів: Draft, Not translated, Translated, Reviewed.
 Є автоматичні LingoChecks , які допомагають знаходити помилки в перекладах. У налаштуваннях проекту можна задати наступні політики перевірок: а) перевірка, що всі плейсхолдери з вихідного тексту використовуються в перекладі; б) перевірка, що кількість переносів рядків у вихідному тексті збігається з кількістю в перекладі; в) перевірка, що кількість символів у перекладі не відрізняється від початкового тексту більш, ніж на n%, або ж що воно не більше n символів від вихідного тексту (дуже корисно, коли є обмеження по кол-ву символів на кнопочках); г) перевірка, що певні терміни з вихідного тексту зустрічаються в перекладі (наприклад, не переказуються назви) — це налаштовується. При зворотному експорті можна відразу побачити статус LingoChecks і попросити перекладачів виправити всі помилки. Мені здалося це досить цікавою фичей.
 Є можливість групової зміни статусів у ключів.
 Підтримка історії змін по кожному ключу (включаючи Версіонування тексту перекладу).
 Дозволяє додати користувачів в проект, вказавши їх ролі: Project Administrator, Developer або Translator. Для останнього можна вказати, до яких Локаль він матиме доступ (опціонально можна дати ще право Рев'ю / стверджувати переклади на цій локалі).
 Мається публічний API .
 Безкоштовний для Open Source проектів.
 
 Слабкі сторони:
 
 
     
Автоматичний пуш на гітхаб реалізований надзвичайно невиразно! Поки я намагався розібратися з настройками в інтерфейсі — напушіл купу комітів в репозиторій, сам того не знаючи, т.к. ніде немає ні підтвердження, ні індикації того, що процес пішов, нічого. Побачив тільки вже результат на гітхабе.
 перемудрили з пошуком. Мабуть хотіли зробити його потужним і гнучким , але користуватися не завжди зручно. Наприклад текст «site CMS» шукається по «site cms» і «site cm *», а за «site cm» — ні. Не всі додумаються до зірочок.
 Немає безкоштовного тарифу навіть для дрібних комерційних проектів. Зате мінімальний план від $ 4.99 на місяць.
 Немає можливості замовити платний переклад через інтерфейс сервісу.
 
 
 

transifex.com

 
Досить відомий сервіс для локалізації додатків, однак його можливості, як не дивно, поступаються аналогам. Часто його використовують для перекладу Open Source проектів.
 
 Інтерфейс перекладача:
 
 
 
 Основні особливості:
 
 
     
До перекладів можна додавати коментарі та інструкції (під «instructions» мабуть є зважаючи опис контексту).
 Можна додавати пропоновані переклади (suggestions).
 Історія змін у ключів є, але вона якась дивна. Скільки б я не міняв переклад, в історії так і залишалася висіти тільки один запис.
 Можна створити власний глосарій і система буде впізнавати в перекладному тексті терміни з нього і пропонувати вже готовий переклад.
 Є наступні статуси переказів: Untranslated, Unreviewed, Reviewed.
 Є підтримка тегів у ключів, в т.ч. пара зарезервованих тегів «notranslate» і «locked», які відповідно не дозволяють перекладачеві переводити (тільки скопіювати оригінал) і взагалі що-небудь робити з ключем.
 Можлива групова обробка ключів. При груповій обробці є функція «Find and Replace», що може бути корисно.
 Підтримуються нотифікації юзерів про які-небудь події (але от про появу нових не переведені ключів нотифікацій, схоже, немає).
 Є механізм Translation Memory, який запам'ятовує раніше перекладені слова і може пропонувати їх переклад в майбутньому. Translation Memory може бути розділяється між декількома проектами.
 Можливо додати в проект користувачів з різними ролями і об'єднувати їх в команди:
 - Organization Administrator
 - Project Maintainer
 - Team Manager
 - Language Team Coordinator
 - Reviewer
 - Translator
Докладніше про призначення ролей, можна прочитати в документації .
 Можна замовити професійний переклад у одного з двох доступних вендорів, вибравши проект і цільову мову.
 Є своя консольна утилітка , що дозволяє виконувати основні функції (pull / push / set / delete etc.).
 Підтримка зовнішніх сервісів машинного перекладу: Microsoft Translator і Google Translate.
 API також присутній .
 Безкоштовний для Open Source проектів.
 
 Слабкі сторони :
 
 
     
Тільки ручне завантаження файлів по одному, автоапдейт можливий тільки з публічного URL.
 Не можна редагувати основна мова-джерело онлайн. Прямо так і написано: «Unfortunately, you can't edit the source strings online ...».
 Я не зміг додати в інтерфейсі будь мови перекладу, крім англійської, французької, німецької, португальської та іспанської. Як додати російську я, наприклад, не зрозумів.
 Незручний редактор перекладів — основне робоче місце. Це скоріше на рівні особистих відчуттів, ніж щось об'єктивне. Начебто все є, але незручно. Мені ближче табличний вигляд «а-ля Excel», а тут потрібно вибирати фразу в списку ліворуч, а праворуч з'являється вікно перекладу з додатковими функціями. Щоб побачити ключ, якому відповідає поточний текст, потрібно кудись лізти.
 У пошуку потрібно вказувати, що я хочу шукати: текст, ключ або ще щось. За замовчуванням пошукова фраза шукається тільки за текстами перекладів. Це не зручно, звичніше просто вбити фразу і подивитися всі результати.
 Немає безкоштовного тарифу навіть для дрібних комерційних проектів.
 
 
 

oneskyapp.com

 
 Інтерфейс перекладача:
 
 
 
 Основні особливості:
 
 
     
Можна вказати «стиль перекладу» для проекту: формальний / неформальний або не вказувати явно. Можна написати коментарі за стилістикою для перекладачів. Мені ця фіча здалася цікавою, тому що для перекладу одних і тих же слів на багато мов можуть бути використані різні слова і звороти, в залежності від прийнятої стилістики подачі інформації. Крім того, напевно, це допомагає краще координувати різних перекладачів.
 Можна вказати, у скільки разів перекладена фраза може перевищувати довжину оригіналу, і чи може перекладач злегка перевищити це значення.
  Опціонально можна активувати голосування за переклади і встановити число голосів, яке має отримати переклад, щоб автоматично утвердитися. Зазвичай це практикується для Open Source проектів.
Можливо додати в проект користувачів з різними ролями:
— Translator (може перекладати і голосувати за переклад)
— Reviewer (те ж, що і Translator, але може ще стверджувати переклад)
— Moderator (те ж, що і Reviewer, але може ще змінювати і видаляти переклади).
Є наступні пари статусів переказів: Unfinalized / Finalized і Unapproved / Approved. При експорті готових перекладів в файл будуть включені тільки ключі зі статусами «Approved» і «Finalized». Перекладачі все ще можуть редагувати переклади в статусі «Approved», але вже не можуть редагувати нічого, якщо ключ перейшов в статус «Finalized». Докладніше про статуси і їх значення можна прочитати в хелпе .
Можна залишати коментарі до ключів.
Пошук нормально шукає і по ключах, і за текстами.
Можна замовити проф. переклад з наступними опціями:
— Тільки не перекладені фрази.
— Тільки не затверджені фрази.
— Фрази, оновлені з моменту останнього замовлення.
Доступний і машинний переклад (Google Translate і Bing), який, ясна річ, набагато дешевше (але все одно платний!). Також можна опціонально замовити ще ревьюеров на виконані переклади (+ $ 0.05 за слово). Можна супроводити замовлення своїми коментарями для перекладачів.
Можна створити власний глосарій, але додати переклади безпосередньо в ньому ж можна. Зате слова з глосарію будуть виділені в тексті при перекладі і якщо на них клікнути, то буде запропоновано додати переклад цього слова.
Можливість додати користувачів в проект з ролями:
— Moderator (може переводити, голосувати, затверджувати або змінювати переклади)
— Reviewer (те ж, що і Moderator, крім зміни переказів)
— Translator (тільки перекладати і голосувати).
Для кожного користувача можна вказати, до яких мовам у нього повинен бути доступ.
Проекти об'єднуються в групи (Project Group). Група проектів може включати в себе проекти з переведення різних сутностей: App Store Description, Mobile App, Website / Web App, Game, Help Desk (Freshdesk), Document. Після вибору сутності потрібно конкретизувати її тип. Наприклад, для «Website / Web App» попросять вибрати: Regular Website, Regular Web App, Facebook App, Others.
Автоматично попереджає, якщо в перекладеному тексті відсутні плейсхолдери з оригіналу. Щоб перекладачам простіше було зрозуміти, що означає цей плейсхолдер, до нього можна додати опис, який буде спливати при наведенні на текст плейсхолдера в режимі перекладу.
Змагальний момент: всі досягнення перекладачів фіксуються. Можна отримати одну з наступних ачівок в чотирьох номінаціях: Newbie, Apprentice, Expert, Master або Guru.
API, традиційно, присутній . Є готові обгортки на PHP, Python і Ruby.
Безкоштовний для Open Source проектів.
Безкоштовний для приватних комерційних проектів , що мають до 5 коллабораторов (seats). На сторінці з цінами написано, що раніше це коштувало $ 69 на місяць, а зараз «Free». Як хочете, так і розумійте.

Слабкі сторони:

Тільки ручне завантаження файлів. Ні інтеграції та автоматичних апдейтів.
Іноді дивна робота з комбінаціями пар статусів. Можна зробити переклад наприклад «Unapproved», але в той же час «Finalized». При цьому редагувати його буде не можна.
Незвично для мене реалізована можливість додавання скріншотів до ключів: якщо скрізь можна зробити це відразу при перекладі фрази (на тому ж екрані), то тут потрібно йти взагалі в окремий розділ, де можна завантажити скріншоти. Після завантаження скриншота на ньому можна відзначити області та вказати, який ключ відповідає зазначеній ділянці. Оригінальна ідея, але мені здалося незручним, тому відніс це в мінуси. Цей сервіс, до речі, не едінстенний, де практикується такий підхід.
Нескінченні підтвердження навіть оборотних дій (попап виду «Are you sure ...?") страшенно дратують. Взагалі інтерфейс не соромиться показати при кожному зручному випадку всякі там лоадери, фейдери та інші індикатори напруженої роботи, що створює враження якоїсь тормознутості сервісу. До того ж інтерфейс частенько подглючівает.


crowdin.net


Інтерфейс перекладача:



Основні особливості:

Є можливість організувати інлайн-редагування перекладів веб-додатків прямо в їх інтерфейсі. Для цього потрібно завести фіктивну локаль і вставити на сайт невеликий JS-код. Тоді при перемиканні додатка на цю локаль і логіні в CrowdIn користувач отримає можливість клікнути на будь-який рядок на сайті і ввести її переклад.
Фича «псевдолокалізаціі». Вона полягає в тому, що сервіс генерує «перекази», які повинні допомогти виявити, наскільки готове ваше додаток до локалізації. Нові рядки генеруються випадковим чином по одному з доступних пресетів (суть пресетів в емуляції використання французької, кириличного, китайського чи арабського алфавіту). При цьому можна задати, на скільки відсотків нові рядки будуть довше або коротше існуючий (щоб зрозуміти, наприклад, чи є запас по довжині рядка в проблемних місцях, типу кнопок та осередків таблиць), а також якими спеціальними символами замінити існуючі переклади (щоб перевірити, наскільки правильно ваш додаток буде відображати наприклад китайські або арабські тексти). Загалом, крута штука для тих у кого є час і бажання цим займатися.
Можливість використовувати глобальну Translation Memory у своїх проектах. Механізм Translation Memory тривіальний для такого роду сервісів: працює або кросспроектно, або всередині одного конкретного проекту. Пам'ять можна наповнювати як автоматично, по мірі перекладу, так і імпортом заздалегідь готових перекладів.
Вміє показувати пропозиції від автоматичних перекладачів (Microsoft Translator і MyMemory) в інтерфейсі перекладача.
Можна створювати свій глосарій для проекту. Опціонально можна дати можливість перекладачам поповнювати його (за умовчанням це можуть робити: власник проекту, менеджер і коректор).
Базові налаштування експорту: пропускати не переведені рядка; експортувати лише затверджені переклади; автоматично заповнювати не перекладені регіональні діалекти з мови-джерела.
Ведеться історія ревізій базових файлів з можливістю відкотитися до однієї з ревізій.
Можна додавати користувачів в проект з ролями Translator і Proofreader або запросити професійних перекладачів. У кожного перекладача є зведення його показників та активності в проекті.
Можна видалити з проекту всі дії одного конкретного перекладача: переклади, валідації або голосу — такого я більше ніде не зустрічав!
Є система внутрішніх повідомлень між учасниками проекту і можливість створювати загальні для проекту обговорення.
Є можливість знайти і замінити слово в поточному файлі або всім проекті.
Можна ховати деякі ключі від перекладачів.
Є своя утилітка crowdin-cli для роботи з командного рядка.
Підтримка веб-хуков для нотифікації зовнішніх сервісів про зміни в перекладах.
Мається публічний API .
Можливість замовити проф. переклади прямо в інтерфейсі (доступно 5 джерел).
Безкоштовний для Open Source проектів.

Слабкі сторони:

Пошук шукає тільки по тексту і перекладу, але не по ключах. Нам наприклад пошук по ключам дуже корисний, тому що перекладачі часто запитують, який ключ має той чи інший текст на сторінці.
Чомусь за замовчуванням експортується з сервісу перекладений файл має таку ж назву, як і імпортований. Тоб я для тесту завантажив en.yml, вказав, що буду перекладати його на російську, перевів його і вивантажив назад, але ім'я файлу так і залишилося «en.yml». Щоб файли іменувалися правильно, потрібно окремо в настройках задати правила іменування.
Немає безкоштовного тарифу навіть для дрібних комерційних проектів.
Завантаження скріншотів до перекладів такого ж (не зручно, имхо) типу, як у oneskyapp.com. Спочатку завантажується скріншот, потім на ньому відзначаються рядка.


phraseapp.com


Інтерфейс перекладача:



Основні особливості:

Аналогічно попередньому сервісу, є можливість інлайн-редагування перекладів в інтерфейсі вашого веб-додатки. Після налаштування цієї фічі, яка робиться досить просто, переклади можна задавати прямо в інтерфейсі сайту, просто клікаючи по кнопках «Edit» біля тексту. Подивитися в роботі цей редактор можна на демо-версії .
Є власний гем phrase .
Зручний таймлайн активності за проектом (хто коли що завантажив, переклав, затвердив і т.д.).
Можливо створювати список винятків по маскам ключів. Виключені переклади не беруть участь в імпорті / експорті і не видно в інтерфейсі перекладача. У моєму тестовому проекті в виключені автоматично потрапили такі маски, як «activemodel.errors. *», «Number.format *», «number.currency *» і т.д. Мабуть, тому що я вказав тип проекту «Ruby on Rails» при його створенні.
Можна додавати теги до ключів і згодом групувати і фільтрувати ключі по них, дивитися прогрес переказів в розрізі тегів і т.д. Тег з датою імпорту ключа додається до нього автоматично.
Можна додавати новий ключ прямо в інтерфейсі.
Для кожного ключа можна задати максимальну кількість символів, яке може мати переклад.
Можна додавати скріншоти до ключів.
Є Translation Memory, яка може поділятися між зазначеними проектами.
Стандартний набір статусів ключів: Untranslated, Unverified, Verified.
Можливість автоматично отримати машинний переклад для ключа (Google Translate).
Можна додавати в проект необмежене число користувачів, вказуючи їх посаду в проекті. Навіщо потрібна посада, я так і не зрозумів, тому що ще є опція «User is a manager», яка дає користувачеві повний доступ до функціональності.
По кожному ключу ведеться історія змін з Версіонування перекладу і можливістю відкотитися на будь-яку версію однією кнопкою.
Можна створювати керівництва за стилістикою перекладу. Таке керівництво може включати досить багато різних параметрів, що допомагають перекладачеві краще зрозуміти контекст:
— Опис вашого бізнесу і його цільової аудиторії.
— Опис «голоси» вашого бренду («voice of your brand» — на жаль не знаю, який термін тут доречний).
— Загальну стилістику перекладу (розмовна, літературна, нейтральна).
— Вимоги до форматування.
— Міні-глосарій.
Це, безсумнівно, буде корисно при розміщенні замовлення у зовнішніх перекладачів.
Можливість замовити проф. переклади прямо в інтерфейсі (через gengo), вибравши якість перекладу (Professional / Standard), а також вказавши його бажану стилістику (одне з раніше створених посібників). Є також опція, яка дозволяє відзначити платний переклад як незатверджений за замовчуванням.
Мається API .
Є безкоштовний тариф для зовсім дрібних комерційних проектів (до 150 ключів).
Безкоштовний для Open Source проектів та освітніх установ.

Слабкі сторони:

Як не дивно, але це напевно єдиний сервіс, у якого я нічого не напишу в цей розділ. Так, деяких фіч тут просто немає, але всі життєво необхідне є і досить зручно реалізовано.

Таблиця порівняння сервісів за основними показниками

localeapp.com webtranslateit.com lingohub.com transifex.com oneskyapp.com crowdin.net phraseapp.com
Безкоштовний тариф для Open Source проектів
Безкоштовний тариф для дрібних комерційних проектів
Публічний API *
Програми для роботи з командного рядка
Коментарі / скріншоти до ключів
Власний інлайн-редактор перекладів в інтерфейсі вашого застосування **
Можливість замовити проф. переклад
Варіанти імпорту ресурсних файлів — Гем localeapp
— Ручний аплоад файлів (тільки. Yml)
— Консольна утиліта wti
— Ручний аплоад файлів
— За вказаною URL
— Прямий введення тексту
— Гем lingohub
— З репозиторія Github / Bitbucket
— Ручний аплоад файлів
— Консольна утиліта tx
— Ручний аплоад файлів
— Гем i18n-one_sky
— Ручний аплоад файлів
— Прямий введення тексту
— Гем crowdin-cli
— Ручний аплоад файлів
— Створення порожнього файлу
— Гем phrase
— Ручний аплоад файлів
— Прямий введення тексту
Можливість з коробки автоматичного оновлення мовних файлів за розкладом або веб-хукам від зовнішніх сервісів
(автоапдейт з Github / Bitbucket)

(автоапдейт по URL)
Підтримка веб-хуков для нотифікацій зовнішніх сервісів про зміни в перекладах
* — Звичайно, вихідні коди гема localeapp відкриті, і можна все подивитися там, але принаймні якийсь загальнодоступною документації по API я не знайшов.
** — Щось схоже можна реалізувати у вашому Ruby-on-Rails додатку наприклад через гем i18n_viz . Він вміє виводити у фронті ключі замість перекладів, а також відразу показувати пряме посилання на редагування цього ключа в сервісі перекладів (див. опис гема).

Повний опис можливостей сервісів зайняло б дуже багато часу, тому я зупинився тільки на основних моментах. Мій невеликий огляд не претендує на об'єктивність, оскільки ми вибирали сервіс під конкретний проект і workflow, але, сподіваюся, він дозволить заощадити кому-небудь час при вирішенні аналогічної задачі.

Я розглядав сервіси більше з т.з. програміста і зручності інтеграції з ними. Хотілося б в коментарях отримати відгуки перекладачів про ці або аналогічних сервісах, щоб, так би мовити, поглянути на питання їх очима.

P.S. І так, я в курсі, що сервісів для огранізаніі онлайн-переказів насправді набагато більше, але мені не хотілося перевантажувати статтю. Такі сервіси, як наприклад ackuna.com і www.ibabbleon.com я не став включати в огляд, оскільки вони не призначені для самостійної локалізації ПЗ. У коментарях категорично вітаються посилання на цікаві сервіси, які я обійшов своєю увагою. Якщо їх набереться достатня кількість — запив другу частину огляду.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.