diff options
author | Jakob Sack <mail@jakobsack.de> | 2013-07-07 20:06:14 +0200 |
---|---|---|
committer | Jakob Sack <mail@jakobsack.de> | 2013-07-07 20:06:14 +0200 |
commit | 560839195e97abdaca4f8c144a6a760a0ab90c19 (patch) | |
tree | 04088ce598b21692d8fdcab52c0bef3e8c1db342 /lib/l10n | |
parent | e13d1d0cf2548c172e3c670ef7fe1b35befbb755 (diff) | |
download | nextcloud-server-560839195e97abdaca4f8c144a6a760a0ab90c19.tar.gz nextcloud-server-560839195e97abdaca4f8c144a6a760a0ab90c19.zip |
make l10n libs capable of handling plural translations
Diffstat (limited to 'lib/l10n')
-rw-r--r-- | lib/l10n/string.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/l10n/string.php b/lib/l10n/string.php index 8eef10071e6..1bef7330945 100644 --- a/lib/l10n/string.php +++ b/lib/l10n/string.php @@ -8,18 +8,23 @@ class OC_L10N_String{ protected $l10n; - public function __construct($l10n, $text, $parameters) { + public function __construct($l10n, $text, $parameters, $count = 1) { $this->l10n = $l10n; $this->text = $text; $this->parameters = $parameters; + $this->count = $count; } public function __toString() { $translations = $this->l10n->getTranslations(); + + $text = $this->text; if(array_key_exists($this->text, $translations)) { - return vsprintf($translations[$this->text], $this->parameters); + $text = $translations[$this->text]; } - return vsprintf($this->text, $this->parameters); + // Replace %n first (won't interfere with vsprintf) + $text = str_replace('%n', $this->count, $text); + return vsprintf($text, $this->parameters); } } |