Feature #5518
closedGraceful fallback for "missing translation" needed
0%
Description
Scenario: user selected a language in "My account", some plugin or core translation is missing for that language.
Current behavior: translation missing: ru, %control_code%
is displayed. Requires me to have all components translated to use a language?
Expected: display the control label from the default language (the one set in Administration/Settings/Display).
More fallback levels - if the default language translation is still missing, try en-US, and then - the first one found in plugin's /config/locales
Related issues
Updated by Enderson Maia over 14 years ago
+1
Should use the i18n gem, I'll make some tests here and report the results.
Updated by Holger Just about 14 years ago
The current I18n gem (0.4.1) provides a fallback mechanism out of the box. But I think, it it too late to move there for 1.0.
Also, I think, there are some compatibility issues with Rails 2.3.5. See #5608 for details. So either we copy some of the functionality in the i18n gem now or we wait for an update to rails 2.3.8 -> 3.0 which is still going to take significant time.
Updated by Enrique Garcia almost 14 years ago
While this is implemented, it might be useful to put Redmine in 'English-only mode'.
The easiest way I could find to do this was changing lib/redmine/i18n.rb . If there is a simpler way, please do let me know.
def set_language_if_valid(lang) # Temp fix until http://www.redmine.org/issues/5518 is resolved # if l = find_language(lang) # ::I18n.locale = l # end ::I18n.locale = 'en' end
Updated by Jean-Philippe Lang over 13 years ago
- Category changed from Translations to I18n
- Assignee deleted (
Azamat Hackimov)
Updated by Jean-Philippe Lang over 13 years ago
- Status changed from New to Closed
- Resolution set to Fixed
Fallback to en locale added in r4679.
Falling back to the application default language is not desirable IMHO. If a user uses a different language than the default one, there is no reason he'll prefer to fallback in this default language rather than in english.