diff --git a/core/js/js.js b/core/js/js.js
index f5991cfc9dd4683a6cdd22d3f12231432859ad3a..d9b3b54e0a1628104a0396d22d261f0e261d38ab 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -115,7 +115,7 @@ t.cache = {};
  */
 function n(app, text_singular, text_plural, count, vars) {
 	initL10N(app);
-	var identifier = '_' + text_singular + '__' + text_plural + '_';
+	var identifier = '_' + text_singular + '_::_' + text_plural + '_';
 	if( typeof( t.cache[app][identifier] ) !== 'undefined' ){
 		var translation = t.cache[app][identifier];
 		if ($.isArray(translation)) {
diff --git a/lib/private/l10n.php b/lib/private/l10n.php
index 2d440850459f78f540b52a3bbf1341e723522725..98665c84c55f30c28823f8d59dbf1dd8ecf9c6cb 100644
--- a/lib/private/l10n.php
+++ b/lib/private/l10n.php
@@ -262,7 +262,7 @@ class OC_L10N implements \OCP\IL10N {
 	 */
 	public function n($text_singular, $text_plural, $count, $parameters = array()) {
 		$this->init();
-		$identifier = "_${text_singular}__${text_plural}_";
+		$identifier = "_${text_singular}_::_${text_plural}_";
 		if( array_key_exists($identifier, $this->translations)) {
 			return new OC_L10N_String( $this, $identifier, $parameters, $count );
 		}
diff --git a/tests/data/l10n/cs.php b/tests/data/l10n/cs.php
index 1c5907bc148d7c83ee3afde3d6e09293a322c60e..de106ede026d346c31a0cce4896b16a0b28df471 100644
--- a/tests/data/l10n/cs.php
+++ b/tests/data/l10n/cs.php
@@ -1,5 +1,5 @@
 <?php
 $TRANSLATIONS = array(
-	"_%n window__%n windows_" => array("%n okno", "%n okna", "%n oken")
+	"_%n window_::_%n windows_" => array("%n okno", "%n okna", "%n oken")
 );
 $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;";
diff --git a/tests/data/l10n/de.php b/tests/data/l10n/de.php
index 858ec8af49c60834e5e1b377a8b55975ea6fa74c..93c9ab4209ed035f80aa0f6b6e72715f8128de28 100644
--- a/tests/data/l10n/de.php
+++ b/tests/data/l10n/de.php
@@ -1,5 +1,5 @@
 <?php
 $TRANSLATIONS = array(
-	"_%n file__%n files_" => array("%n Datei", "%n Dateien")
+	"_%n file_::_%n files_" => array("%n Datei", "%n Dateien")
 );
 $PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/tests/data/l10n/ru.php b/tests/data/l10n/ru.php
index dd46293db6cdde30cd3c704d38adb5e73499a1b6..b778e8d79af83c6b804a28b5624bc55bfa8b9f80 100644
--- a/tests/data/l10n/ru.php
+++ b/tests/data/l10n/ru.php
@@ -1,5 +1,5 @@
 <?php
 $TRANSLATIONS = array(
-	"_%n file__%n files_" => array("%n файл", "%n файла", "%n файлов")
+	"_%n file_::_%n files_" => array("%n файл", "%n файла", "%n файлов")
 );
 $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);";