I am using the Admin en/admin/config/regional/translate/translate tab to translate strings of a multilanguage site.

As I have quite a few languages (9), and collaborators send the translated texts in Excel, and I enter manually the strings, I was wondering if there is some way (via options, contributed modules, etc.) of detecting untranslated strings, so I could avoid reviewing different Excels sent, and could collect in a fast and easy way those original strings (English) which do not have a translation in a given language.

I understand that Drupal should go through all the files in which a t() appears, but maybe some module does do exactly that?

2 Answers 2


To my knowledge, the answer to your question is = No there is no such module. Checkout the article Drupal's multilingual problem - why t() is the wrong answer to beter understand the various challenges to be addressed with anything related to the t() function ...

Drupal's translation system consists of 2 basic components: the translation of the interface and the translation of the content of a site.

The translation of the interface is about the translation of various text strings used throughout the site, like labels used on buttons such as submit, or on tabs such as view or edit. They are the same on all sites (no matter what actual content is contained in a site). This is also what the t() function is related to.

The translation of the content is about the translation of nodes and entities. It requires a place to actually store the translated versions of the content (in multiple languages) and a system to choose which content is to be displayed where. The systems available for translation of content are:

  • Content translation (used in earlier versions of Drupal, and still available in D7), which translates entire nodes in multiple languages.
  • Entity translation (its API was first introduced in Drupal version 7, though there is no UI for it yet), which translates fields attached to the same entity.

Typical (often used) modules (in D7) related to translation of the interface (apart from the i18n module of course):

For D7 there are basically 2 alternatives available to facilitate the "management" of translation of content:

  • Translation Overview, mentioned as a recommended add-on on the i18n project page also. From its project page:

    ... provides a table listing the site's nodes and showing what's been translated into each language. It also lets you assign priorities for translating nodes into the various languages.

  • Translation Management Tool, considered as the successor of the previous module, and "the" module to move forward with in D8 also. From its project page:

    ... provides a tool set for translating content from different sources. The translation can be done by people or translation services of all kinds. It builds on and uses existing language tools and data structures in Drupal and can be used in automated workflow scenarios.

    This module does not make i18n or any other language module for Drupal obsolete. It does only facilitate the translation process.

PS: Obviously, translation of content is NOT what this question is about (at least not yet ...), but pretty sure a related challenge you 'will be' (or 'are already'?) facing in this multi-lingual site ... and which cannot be handled with the t() function. Though for the sake of completeness, I hope it's OK to add that part of my answer also ....


If you are using i18n, you can find untranslated strings here..

Administration » Configuration » Regional and language » Translate interface

  • This option includes the core and I cannot find a way of not including it, so the result is hundreds of untranslated strings. Not practical. There should be a way of distinguising between core (or even module) translations and own translation, even associate it to a given module, so you could put all the customer and specific web page translations there.
    – Cesar
    Jul 23, 2015 at 12:59
  • Using this option we can search for a particular untranslated string.
    – Abin
    Jul 23, 2015 at 13:03
  • Yes, for a particular string but not for ALL strings and also there is no way of exporting the data.
    – Cesar
    Jul 23, 2015 at 13:19
  • yes i agree. For all untranslated strings it would be difficult..
    – Abin
    Jul 23, 2015 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.