Translate hard-coded strings with source language other than english I building a custom module for a multi-language Drupal 7 site where the default language is not english. Now I want to translate the module. Since my source strings are not in english I cannot use t().

The i18n module provides a i18n_string() function which would seem to do the job but I can't find my strings under admin/config/regional/translate/translate? I even implemented hook_i18n_string_info() to define my own textgroup, which shows up, but the strings don't!

What am I missing? Or is there a better way to translate strings that are in an other language than english?
We also have a lot of sites with a primary language which is not english. 

After several different approaches we opted to write all user exposed string in our modules in english and translate them with the t() function. 

We then use a crawler like wget to crawl the whole site (to get all strings into the translation database).

We enable the module Translation template extractor (https://www.drupal.org/project/potx)  and export all strings from our module with this module in our languages.

The resulting language-files are edited and translations are added. 

This file is then put in a "translations" subfolder in our module file with a *.po extension.  

Uninstall and reinstall the module to activate the translations for your languages. 

It may sound like a lot of work, because it is, but this is the only method that actually worked for us.