# I18n-tasks to manage translations with static analysis

**URL:** <https://www.ruby-forum.com/t/i18n-tasks-to-manage-translations-with-static-analysis/240002>\
**Category:** Rails I18n\
**Created:** [March 24, 2014, 12:26pm UTC](https://www.ruby-forum.com/t/i18n-tasks-to-manage-translations-with-static-analysis/240002 "2014-03-24T12:26:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [March 24, 2014, 12:26pm UTC](https://www.ruby-forum.com/t/i18n-tasks-to-manage-translations-with-static-analysis/240002/1 "2014-03-24T12:26:29Z")

</div>

i18n-tasks is a gem to find and manages missing and unused translations  
in your  
application.

The default approach to locale data management with gems such as i18n is  
flawed. If you use a key that does not exist, this will only blow up at  
runtime. Keys left over from removed code accumulate in the resource  
files and introduce unnecessary overhead on the translators. Translation  
files can quickly turn to disarray.

i18n-tasks improves this by using static analysis. It scans calls such  
as I18n.t(‘some.key’) and provides reports on key usage, missing, and  
unused keys. It can also can pre-fill missing keys, including from  
Google Translate, and it can remove unused keys as well.

i18n-tasks can be used with any project using i18n (default in Rails),  
or similar, even if it isn’t ruby.

See i18n-tasks on Github: [GitHub - glebm/i18n-tasks: Manage translation and localization with static analysis, for Ruby i18n](https://github.com/glebm/i18n-tasks)  
Blog post:  
[Internationalization made easier with static analysis on Gleb's Notes](http://blog.glebm.com/2014/02/27/i18n-made-easier-with-static-analysis.html)
