summaryrefslogtreecommitdiffstats
path: root/lib/l10n/string.php
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-08-02 23:08:41 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-08-02 23:08:41 +0200
commite04bf0aaeb92103ef432e56f1d6d712599952cee (patch)
treea56c98211a17812379a85ea76125b47e3616c5d9 /lib/l10n/string.php
parent550b647d8a777c11b74377002d58b4806f9e97e5 (diff)
downloadnextcloud-server-e04bf0aaeb92103ef432e56f1d6d712599952cee.tar.gz
nextcloud-server-e04bf0aaeb92103ef432e56f1d6d712599952cee.zip
unit tests for plural translations added
Diffstat (limited to 'lib/l10n/string.php')
-rw-r--r--lib/l10n/string.php26
1 files changed, 22 insertions, 4 deletions
diff --git a/lib/l10n/string.php b/lib/l10n/string.php
index c78b06428d3..88c85b32e70 100644
--- a/lib/l10n/string.php
+++ b/lib/l10n/string.php
@@ -7,30 +7,48 @@
*/
class OC_L10N_String{
+ /**
+ * @var OC_L10N
+ */
protected $l10n;
+
+ /**
+ * @var string
+ */
+ protected $text;
+
+ /**
+ * @var array
+ */
+ protected $parameters;
+
+ /**
+ * @var integer
+ */
+ protected $count;
+
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();
- $localizations = $this->l10n->getLocalizations();
$text = $this->text;
if(array_key_exists($this->text, $translations)) {
if(is_array($translations[$this->text])) {
- $fn = $l10n->getPluralFormFunction();
- $id = $fn($count);
+ $fn = $this->l10n->getPluralFormFunction();
+ $id = $fn($this->count);
$text = $translations[$this->text][$id];
}
else{
$text = $translations[$this->text];
}
}
+
// Replace %n first (won't interfere with vsprintf)
$text = str_replace('%n', $this->count, $text);
return vsprintf($text, $this->parameters);