From 6a414b054341f09a6c1d4b9bac3d8066de344073 Mon Sep 17 00:00:00 2001
From: Philipp <admin@philipp.info>
Date: Sun, 11 Apr 2021 14:58:06 +0200
Subject: [PATCH] Fix L10n in case of empty strings array

---
 src/Core/L10n.php | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/Core/L10n.php b/src/Core/L10n.php
index 95613601b9..138fd8730b 100644
--- a/src/Core/L10n.php
+++ b/src/Core/L10n.php
@@ -287,6 +287,8 @@ class L10n
 	 */
 	public function tt(string $singular, string $plural, int $count)
 	{
+		$s = null;
+
 		if (!empty($this->strings[$singular])) {
 			$t = $this->strings[$singular];
 			if (is_array($t)) {
@@ -297,16 +299,20 @@ class L10n
 					$i = $this->stringPluralSelectDefault($count);
 				}
 
-				// for some languages there is only a single array item
-				if (!isset($t[$i])) {
+				if (isset($t[$i])) {
+					$s = $t[$i];
+				} elseif (count($t) > 0) {
+					// for some languages there is only a single array item
 					$s = $t[0];
 				} else {
-					$s = $t[$i];
+					$this->logger->warning('Found empty strings array.', ['singular' => $singular, 'plural' => $plural, 'array' => $t]);
 				}
 			} else {
 				$s = $t;
 			}
-		} elseif ($this->stringPluralSelectDefault($count)) {
+		}
+
+		if (is_null($s) && $this->stringPluralSelectDefault($count)) {
 			$s = $plural;
 		} else {
 			$s = $singular;
-- 
2.39.5