From 2c8a557cbac8ef9276abc02bf4a97e50fa89baf7 Mon Sep 17 00:00:00 2001
From: hahn <axel.hahn@iml.unibe.ch>
Date: Fri, 22 Jul 2022 11:33:51 +0200
Subject: [PATCH] use lang code XX-XX in plugins

---
 .../deployment/classes/rollout_base.class.php   | 17 ++++++++++++++---
 .../build/tgz/{lang_de.json => lang_de-de.json} |  0
 .../build/tgz/{lang_en.json => lang_en-en.json} |  0
 .../awx/{lang_de.json => lang_de-de.json}       |  0
 .../awx/{lang_en.json => lang_en-en.json}       |  0
 .../default/{lang_de.json => lang_de-de.json}   |  0
 .../default/{lang_en.json => lang_en-en.json}   |  0
 .../ssh/{lang_de.json => lang_de-de.json}       |  0
 .../ssh/{lang_en.json => lang_en-en.json}       |  0
 9 files changed, 14 insertions(+), 3 deletions(-)
 rename public_html/deployment/plugins/build/tgz/{lang_de.json => lang_de-de.json} (100%)
 rename public_html/deployment/plugins/build/tgz/{lang_en.json => lang_en-en.json} (100%)
 rename public_html/deployment/plugins/rollout/awx/{lang_de.json => lang_de-de.json} (100%)
 rename public_html/deployment/plugins/rollout/awx/{lang_en.json => lang_en-en.json} (100%)
 rename public_html/deployment/plugins/rollout/default/{lang_de.json => lang_de-de.json} (100%)
 rename public_html/deployment/plugins/rollout/default/{lang_en.json => lang_en-en.json} (100%)
 rename public_html/deployment/plugins/rollout/ssh/{lang_de.json => lang_de-de.json} (100%)
 rename public_html/deployment/plugins/rollout/ssh/{lang_en.json => lang_en-en.json} (100%)

diff --git a/public_html/deployment/classes/rollout_base.class.php b/public_html/deployment/classes/rollout_base.class.php
index d8589874..2f022d16 100644
--- a/public_html/deployment/classes/rollout_base.class.php
+++ b/public_html/deployment/classes/rollout_base.class.php
@@ -30,13 +30,20 @@ class rollout_base implements iRolloutplugin{
      * @var type
      */
     protected $_aLang=false;
-    
+
     /**
      * set language; 2 letter code, i.e. "de"; default language is "en" ; a 
      * file "lang_en.json" is required in the plugin dir
      * @var string
      */
-    protected $_sLang = 'en';
+    protected $_sFallbackLang = 'en-en';
+
+    /**
+     * set language; 2 letter code, i.e. "de"; default language is "en" ; a 
+     * file "lang_en.json" is required in the plugin dir
+     * @var string
+     */
+    protected $_sLang = 'en-en';
     
     /**
      * string with phase of project; one of preview|stage|live
@@ -336,7 +343,7 @@ class rollout_base implements iRolloutplugin{
      * translated texts can be done with $this->_t("your_key")
      * 
      * @see _t()
-     * @param string   $sLang  language code, i.e. "de"
+     * @param string   $sLang  language code, i.e. "de-de"
      * @return boolean
      */
     public function setLang($sLang=false){
@@ -344,6 +351,10 @@ class rollout_base implements iRolloutplugin{
         
         $oReflection=new ReflectionClass($this);
         $sFile=dirname($oReflection->getFileName()) . '/lang_'.$this->_sLang.'.json';
+        if (!file_exists($sFile)){
+            $sFile=dirname($oReflection->getFileName()) . '/lang_'.$this->_sFallbackLang.'.json';
+            $this->_sLang=$this->_sFallbackLang;
+        }
         $this->_aLang=(file_exists($sFile)) ? json_decode(file_get_contents($sFile), 1) : $this->_aLang;
         return true;
     }
diff --git a/public_html/deployment/plugins/build/tgz/lang_de.json b/public_html/deployment/plugins/build/tgz/lang_de-de.json
similarity index 100%
rename from public_html/deployment/plugins/build/tgz/lang_de.json
rename to public_html/deployment/plugins/build/tgz/lang_de-de.json
diff --git a/public_html/deployment/plugins/build/tgz/lang_en.json b/public_html/deployment/plugins/build/tgz/lang_en-en.json
similarity index 100%
rename from public_html/deployment/plugins/build/tgz/lang_en.json
rename to public_html/deployment/plugins/build/tgz/lang_en-en.json
diff --git a/public_html/deployment/plugins/rollout/awx/lang_de.json b/public_html/deployment/plugins/rollout/awx/lang_de-de.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/awx/lang_de.json
rename to public_html/deployment/plugins/rollout/awx/lang_de-de.json
diff --git a/public_html/deployment/plugins/rollout/awx/lang_en.json b/public_html/deployment/plugins/rollout/awx/lang_en-en.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/awx/lang_en.json
rename to public_html/deployment/plugins/rollout/awx/lang_en-en.json
diff --git a/public_html/deployment/plugins/rollout/default/lang_de.json b/public_html/deployment/plugins/rollout/default/lang_de-de.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/default/lang_de.json
rename to public_html/deployment/plugins/rollout/default/lang_de-de.json
diff --git a/public_html/deployment/plugins/rollout/default/lang_en.json b/public_html/deployment/plugins/rollout/default/lang_en-en.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/default/lang_en.json
rename to public_html/deployment/plugins/rollout/default/lang_en-en.json
diff --git a/public_html/deployment/plugins/rollout/ssh/lang_de.json b/public_html/deployment/plugins/rollout/ssh/lang_de-de.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/ssh/lang_de.json
rename to public_html/deployment/plugins/rollout/ssh/lang_de-de.json
diff --git a/public_html/deployment/plugins/rollout/ssh/lang_en.json b/public_html/deployment/plugins/rollout/ssh/lang_en-en.json
similarity index 100%
rename from public_html/deployment/plugins/rollout/ssh/lang_en.json
rename to public_html/deployment/plugins/rollout/ssh/lang_en-en.json
-- 
GitLab