(I will talk about i18nviews in this question, but I think the problem applies equally to other cases of i18n_string)
With regular Drupal t(), Drupal will always assume that the original string is in English.
With i18n_string, it is assumed that the original string is in the site default language.
Use case / problem
I have multisite with two sites, one with default language German, another with default language English.
I created a page view on the German site, with a page title "Produkte finden".
I exported this view as a feature, and want to enable this feature on the English site. On the English site, the page title should be "Find products".
I thought I can use i18nviews (which uses i18n_string) to translate the page title configured in the view.
- In the German site, Drupal thinks that the exported page title is in German.
- In the English site, Drupal thinks that the exported page title is in English.
This means that Drupal will never attempt to translate the views page title. So I would get the same, non-localized page title on each site.
I want to find a way to export a view into a feature that can be installed on sites with different default language, and have localized labels on each site.
If this can be done with i18n_string, great. If not, I am open for other suggestions.
I think to make this work, the exported feature would have to contain information about the language with which it was exported, which could then be picked up by i18n_string (which I assume it is not really capable of atm).
Or all sites would need to have default language = English.