Permalink
Browse files

Merge pull request #2295 from JayDevlin/patch-1

BUGFIX i18n module load order in i18n::include_by_locale()
  • Loading branch information...
2 parents 1bcd4c9 + 1e5679f commit 14e5c80dadca6b8593651151a0b6243a699e8bd7 @chillu chillu committed Oct 13, 2013
View
@@ -2506,7 +2506,8 @@ public static function include_by_locale($locale, $clean = false) {
$sortedModules = array();
foreach ($order as $module) {
if (isset($modules[$module])) $sortedModules[$module] = $modules[$module];
- }
+ }
+ $sortedModules = array_reverse($sortedModules, true);
// Loop in reverse order, meaning the translator with the highest priority goes first
$translators = array_reverse(self::get_translators(), true);
@@ -1,3 +1,4 @@
de:
i18nTestModule:
- OTHERENTITY: Other Entity (de)
+ PRIORITYNOTICE: High Module Priority (de)
+ OTHERENTITY: Other Entity (de)
@@ -11,5 +11,6 @@ de:
WITHNAMESPACE: Include Entity with Namespace (de)
LAYOUTTEMPLATE: Layout Template (de)
SPRINTFNAMESPACE: My replacement: %s (de)
+ PRIORITYNOTICE: Low Module Priority (de)
i18nTestModuleInclude.ss:
- SPRINTFINCLUDENAMESPACE: My include replacement: %s (de)
+ SPRINTFINCLUDENAMESPACE: My include replacement: %s (de)
View
@@ -435,6 +435,9 @@ public function testIncludeByLocale() {
$this->assertFalse($adapter->isTranslated('i18nTestModule.ENTITY', 'af'),
'Non-existing unloaded entity not available before call'
);
+
+ // set _fakewebroot module priority
+ Config::inst()->update('i18n', 'module_priority', array('subfolder','i18ntestmodule'));
i18n::include_by_locale('de');
@@ -444,6 +447,11 @@ public function testIncludeByLocale() {
$this->assertTrue($adapter->isTranslated('i18nTestTheme1.LAYOUTTEMPLATE', null, 'de'), 'Includes theme files');
$this->assertTrue($adapter->isTranslated('i18nTestModule.OTHERENTITY', null, 'de'), 'Includes submodule files');
+ // check module priority
+ $this->assertEquals($adapter->translate('i18nTestModule.PRIORITYNOTICE', 'de'),
+ 'High Module Priority (de)'
+ );
+
SS_ClassLoader::instance()->popManifest();
}

0 comments on commit 14e5c80

Please sign in to comment.