summaryrefslogtreecommitdiffstats
path: root/inc/dictionary.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2016-05-10 16:57:06 +0200
committerSimon Rettberg2016-05-10 16:57:06 +0200
commit2fa2bb665d8ca5e837147f85267f865f1b8b0503 (patch)
treeb2e49bb825e1cc421597a681351d04b97c91834c /inc/dictionary.inc.php
parentMessage string editing works now (diff)
downloadslx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.tar.gz
slx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.tar.xz
slx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.zip
Translating module strings and custom sections works
Diffstat (limited to 'inc/dictionary.inc.php')
-rw-r--r--inc/dictionary.inc.php30
1 files changed, 22 insertions, 8 deletions
diff --git a/inc/dictionary.inc.php b/inc/dictionary.inc.php
index 72139601..0dafe9d9 100644
--- a/inc/dictionary.inc.php
+++ b/inc/dictionary.inc.php
@@ -68,13 +68,26 @@ class Dictionary
return self::$stringCache[$file] = $json;
}
- public static function translate($module, $path, $string)
+ public static function translateFileModule($moduleId, $path, $tag)
{
- $strings = self::getArray($module, $path);
- if (!isset($strings[$string])) {
+ $strings = self::getArray($moduleId, $path);
+ if (!isset($strings[$tag])) {
return false;
}
- return $strings[$string];
+ return $strings[$tag];
+ }
+
+ public static function translateFile($path, $tag)
+ {
+ return self::translateFileModule(Page::getModule()->getIdentifier(), $path, $tag);
+ }
+
+ public static function translate($tag)
+ {
+ $string = self::translateFile('module', $tag);
+ if ($string !== false)
+ return $string;
+ return self::translateFileModule('main', 'global-tags', $tag);
}
public static function getMessage($id)
@@ -82,7 +95,7 @@ class Dictionary
if (!preg_match('/^(\w+)\.(.+)$/', $id, $out)) {
return 'Invalid Message ID format: ' . $id;
}
- $string = self::translate($out[1], 'messages', $out[2]);
+ $string = self::translateFileModule($out[1], 'messages', $out[2]);
if ($string === false) {
return "($id) ({{0}}, {{1}}, {{2}}, {{3}})";
}
@@ -97,15 +110,16 @@ class Dictionary
if (!preg_match('/^(\w+)\.(\w+)$/', $category, $out)) {
return 'Invalid Category ID format: ' . $category;
}
- $string = self::translate($out[1], 'categories', $out[2]);
+ $string = self::translateFileModule($out[1], 'categories', $out[2]);
if ($string === false) {
- return '!!' . $category . '!!';
+ return "!!{$category}!!";
}
return $string;
}
/**
- * Get all supported languages as array
+ * Get all supported languages as array.
+ *
* @param boolean $withName true = return assoc array containinc cc and name of all languages;
* false = regular array containing only the ccs
* @return array List of languages