aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2018-10-13 18:16:56 +0000
committerMario <mario@mariovavti.com>2018-10-13 20:17:14 +0200
commiteaee27c9e4f7a533fea8e2cda7a0b2c7230a5dfb (patch)
treee86a90a27578d6dde289aa91ae5190b3e0024fef /include
parent5310f4e310f58e77cb3764c9174b627e406d7a66 (diff)
downloadvolse-hubzilla-eaee27c9e4f7a533fea8e2cda7a0b2c7230a5dfb.tar.gz
volse-hubzilla-eaee27c9e4f7a533fea8e2cda7a0b2c7230a5dfb.tar.bz2
volse-hubzilla-eaee27c9e4f7a533fea8e2cda7a0b2c7230a5dfb.zip
Merge branch 'patch-14' into 'dev'
Add date/time plurals translation in JavaScript See merge request hubzilla/core!1336 (cherry picked from commit a2575059e2a068a67cd984888422265c6888f261) 5c0d3187 Add date/time plurals translation in JavaScript 729d0d53 Update language.php f68674b3 Update js_strings.tpl 3ac4337a Update main.js e96e3dc6 Update po2php.php 54bdf59d Update js_strings.php
Diffstat (limited to 'include')
-rw-r--r--include/js_strings.php19
-rw-r--r--include/language.php26
2 files changed, 40 insertions, 5 deletions
diff --git a/include/js_strings.php b/include/js_strings.php
index d9038e838..c053e5666 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -38,6 +38,15 @@ function js_strings() {
// using the defaults set below if left untranslated, empty strings if
// translated to "NONE" and the corresponding language strings
// if translated to anything else
+ 'minutes' => tt('%d minutes', '%d minutes', '%d'),
+ 'hours' => tt('about %d hours', 'about %d hours', '%d'),
+ 'days' => tt('%d days', '%d days', '%d'),
+ 'months' => tt('%d months', '%d months', '%d'),
+ 'years' => tt('%d years', '%d years', '%d'),
+
+ // get plural function code
+ 'plural_func' => tf(),
+
'$t01' => ((t('timeago.prefixAgo') == 'timeago.prefixAgo') ? '' : ((t('timeago.prefixAgo') == 'NONE') ? '' : t('timeago.prefixAgo'))),
'$t02' => ((t('timeago.prefixFromNow') == 'timeago.prefixFromNow') ? '' : ((t('timeago.prefixFromNow') == 'NONE') ? '' : t('timeago.prefixFromNow'))),
'$t03' => ((t('timeago.suffixAgo') == 'timeago.suffixAgo') ? 'ago' : ((t('timeago.suffixAgo') == 'NONE') ? '' : t('timeago.suffixAgo'))),
@@ -46,15 +55,15 @@ function js_strings() {
// translatable main strings for jquery.timeago
'$t05' => t('less than a minute'),
'$t06' => t('about a minute'),
- '$t07' => t('%d minutes'),
+ '$t07' => ta('%d minutes'),
'$t08' => t('about an hour'),
- '$t09' => t('about %d hours'),
+ '$t09' => ta('about %d hours'),
'$t10' => t('a day'),
- '$t11' => t('%d days'),
+ '$t11' => ta('%d days'),
'$t12' => t('about a month'),
- '$t13' => t('%d months'),
+ '$t13' => ta('%d months'),
'$t14' => t('about a year'),
- '$t15' => t('%d years'),
+ '$t15' => ta('%d years'),
'$t16' => t(' '), // wordSeparator
'$t17' => ((t('timeago.numbers') != 'timeago.numbers') ? t('timeago.numbers') : '[]'),
diff --git a/include/language.php b/include/language.php
index 69a7e3004..18b942bce 100644
--- a/include/language.php
+++ b/include/language.php
@@ -255,6 +255,32 @@ function tt($singular, $plural, $count, $ctx = ''){
}
/**
+ * @brief Return slash separated string of plurals translation forms
+ *
+ * @param string $k key in translations array
+ * @return string
+ */
+function ta($k){
+
+ $t = App::$strings[$k];
+ if (is_array($t))
+ $t = implode("/", $t);
+ return ($t == "" ? $k : $t);
+}
+
+/**
+ * @brief Return string_plural_select_xx function code
+ *
+ * @return string
+ */
+
+function tf() {
+
+ $s = "plural_function_code";
+ return (x(App::$strings, $s) ? App::$strings[$s] : "return 0;");
+}
+
+/**
* @brief Provide a fallback which will not collide with a function defined in
* any language file.
*