CRM-14769: fix for i18n extensions and domain changes (do not change domain if using...
authorMathieu Lutfy <mathieu@bidon.ca>
Mon, 2 Jun 2014 19:07:50 +0000 (15:07 -0400)
committerMathieu Lutfy <mathieu@bidon.ca>
Mon, 2 Jun 2014 19:07:50 +0000 (15:07 -0400)
CRM/Core/I18n.php

index f34f5f3dc82ed5ae1af027de838b86b513bdfbe4..af6c536d5518eaab19fe82c2ab17eb520a7a0179 100644 (file)
@@ -251,7 +251,7 @@ class CRM_Core_I18n {
 
     // gettext domain for extensions
     $domain_changed = FALSE;
-    if (! empty($params['domain'])) {
+    if (! empty($params['domain']) && $this->_phpgettext) {
       if ($this->setGettextDomain($params['domain'])) {
         $domain_changed = TRUE;
       }
@@ -400,6 +400,11 @@ class CRM_Core_I18n {
    * @return Boolean True if the domain was changed for an extension.
    */
   function setGettextDomain($key) {
+    /* No domain changes for en_US */
+    if (! $this->_phpgettext) {
+      return FALSE;
+    }
+
     // It's only necessary to find/bind once
     if (! isset($this->_extensioncache[$key])) {
       $config = CRM_Core_Config::singleton();