From a33310f1b13b64fa5c88b4d5f2ecbf3d9d3bb569 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 7 Jun 2022 17:09:46 +0200 Subject: [PATCH] Add debug flag to the translation checker Signed-off-by: Joas Schilling --- build/translation-checker.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/build/translation-checker.php b/build/translation-checker.php index 53c139a1d63..7bc80d53cdb 100644 --- a/build/translation-checker.php +++ b/build/translation-checker.php @@ -23,6 +23,8 @@ $directories = [ __DIR__ . '/../core/l10n', ]; +$isDebug = in_array('--debug', $argv, true) || in_array('-d', $argv, true); + $apps = new \DirectoryIterator(__DIR__ . '/../apps'); foreach ($apps as $app) { if (!file_exists($app->getPathname() . '/l10n')) { @@ -50,7 +52,7 @@ foreach ($directories as $dir) { $translations = json_encode($json['translations']); if (strpos($translations, '|') !== false) { - $errors[] = $file->getPathname() . "\n" . ' ' . 'Contains a | in the translations' . "\n"; + $errors[] = $file->getPathname() . "\n" . ' ' . 'Contains a | in the translations.' . "\n"; } if (json_last_error() !== JSON_ERROR_NONE) { @@ -58,6 +60,16 @@ foreach ($directories as $dir) { } else { $valid++; } + + if ($isDebug && $file->getFilename() === 'en_GB.json') { + $sourceStrings = json_encode(array_keys($json['translations'])); + + if (strpos($sourceStrings, '\u2019') !== false) { + $errors[] = $file->getPathname() . "\n" + . ' ' . 'Contains a unicode single quote "’" in the english source string, please replace with normal single quotes.' . "\n" + . ' ' . 'Please note that this only updates after a sync to transifex.' . "\n"; + } + } } }