diff options
-rw-r--r-- | .drone.yml | 8 | ||||
-rw-r--r-- | apps/comments/l10n/zh_CN.js | 2 | ||||
-rw-r--r-- | apps/comments/l10n/zh_CN.json | 2 | ||||
-rw-r--r-- | build/translation-checker.php | 69 |
4 files changed, 79 insertions, 2 deletions
diff --git a/.drone.yml b/.drone.yml index 4f2e14820de..6302736e0d6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,6 +26,13 @@ pipeline: when: matrix: TESTS: check-mergejs + translation-check: + image: nextcloudci/php7.0:php7.0-7 + commands: + - php ./build/translation-checker.php + when: + matrix: + TESTS: translation-check app-check-code: image: nextcloudci/php7.0:php7.0-7 commands: @@ -543,6 +550,7 @@ pipeline: matrix: include: - TESTS: signed-off-check + - TESTS: translation-check - TESTS: htaccess-checker - TESTS: nodb-codecov - TESTS: db-codecov diff --git a/apps/comments/l10n/zh_CN.js b/apps/comments/l10n/zh_CN.js index d67e1ebdfc7..34e57061d2e 100644 --- a/apps/comments/l10n/zh_CN.js +++ b/apps/comments/l10n/zh_CN.js @@ -14,7 +14,7 @@ OC.L10N.register( "Save" : "保存", "Allowed characters {count} of {max}" : "当前字数: {count},最大允许:{max}", "Error occurred while retrieving comment with id {id}" : "检索 id 为 {id} 的评论出错", - "Error occurred while updating comment with id {id}" : "更新 id 为 {id} 的评论出错", + "Error occurred while updating comment with id {id}" : "更新 id 为 {id} 的评论出错", "Error occurred while posting comment" : "发布评论出错", "_%n unread comment_::_%n unread comments_" : ["%n 未读评论"], "Comment" : "评论", diff --git a/apps/comments/l10n/zh_CN.json b/apps/comments/l10n/zh_CN.json index 8c9cbae140f..a1445eba465 100644 --- a/apps/comments/l10n/zh_CN.json +++ b/apps/comments/l10n/zh_CN.json @@ -12,7 +12,7 @@ "Save" : "保存", "Allowed characters {count} of {max}" : "当前字数: {count},最大允许:{max}", "Error occurred while retrieving comment with id {id}" : "检索 id 为 {id} 的评论出错", - "Error occurred while updating comment with id {id}" : "更新 id 为 {id} 的评论出错", + "Error occurred while updating comment with id {id}" : "更新 id 为 {id} 的评论出错", "Error occurred while posting comment" : "发布评论出错", "_%n unread comment_::_%n unread comments_" : ["%n 未读评论"], "Comment" : "评论", diff --git a/build/translation-checker.php b/build/translation-checker.php new file mode 100644 index 00000000000..5532fb9f65b --- /dev/null +++ b/build/translation-checker.php @@ -0,0 +1,69 @@ +<?php +/** + * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +$directories = [ + __DIR__ . '/../core/l10n', + __DIR__ . '/../settings/l10n', +]; + +$apps = new \DirectoryIterator(__DIR__ . '/../apps'); +foreach ($apps as $app) { + if (!file_exists($app->getPathname() . '/l10n')) { + continue; + } + + $directories[] = $app->getPathname() . '/l10n'; +} + +$errors = []; +foreach ($directories as $dir) { + if (!file_exists($dir)) { + continue; + } + $directory = new \DirectoryIterator($dir); + + foreach ($directory as $file) { + if ($file->getExtension() !== 'json') { + continue; + } + + $content = file_get_contents($file->getPathname()); + $json = json_decode($content, true); + + if (json_last_error() !== JSON_ERROR_NONE) { + echo '[Error] Could not parse: ' . $file->getPathname() . "\n"; + echo ' ' . json_last_error_msg() . "\n"; + $errors[] = $file->getPathname() . "\n" . ' ' . json_last_error_msg() . "\n"; + } else { + echo '[OK] ' . $file->getPathname() . "\n"; + } + } +} + +echo "\n\n"; +if (count($errors) > 0) { + echo sprintf('ERROR: There were %d errors:', count($errors)) . "\n"; + echo implode("\n", $errors) . "\n"; + exit(1); +} + +echo 'OK: all files parse' . "\n"; +exit(0); |