diff --git a/htdocs/sql/scripts/check_lang.php b/htdocs/sql/scripts/check_lang.php
new file mode 100755
--- /dev/null
+++ b/htdocs/sql/scripts/check_lang.php
@@ -0,0 +1,61 @@
+read()) {
+ if (strpos($name, '.inc.php')) {
+ // 1.1 Checks parse errors and extra blank line
+ include '../lang/' . $name;
+ header('X-Ping: pong');
+ // 1.1 Checks "^M"
+ $content = fread(fopen('../lang/' . $name, 'r'), filesize('../lang/' . $name));
+ if ($pos = strpos(' ' . $content, "\015")) {
+ $failed[] = $name;
+ } else {
+ $passed[] = $name;
+ }
+ } // end if
+} // end while
+$languageDirectory->close();
+
+// 2. Checking results
+$start = '';
+$failed_cnt = count($failed);
+sort($failed);
+$passed_cnt = count($passed);
+sort($passed);
+echo ($failed_cnt + $passed_cnt) . ' language files were checked.
' . "\n";
+if ($failed_cnt) {
+ echo ' 1. ' . $failed_cnt . ' contain(s) some "^M":
' . "\n";
+ for ($i = 0; $i < $failed_cnt; $i++) {
+ echo ' - ' . $failed[$i] . '
' . "\n";
+ } // end for
+ if ($passed_cnt) {
+ echo '
' . "\n";
+ echo ' 2. ' . $passed_cnt . ' seems right:
' . "\n";
+ $start = ' ';
+ }
+} // end if
+if ($passed_cnt) {
+ if (!$failed_cnt) {
+ echo 'They all passed checkings:
' . "\n";
+ }
+ for ($i = 0; $i < $passed_cnt; $i++) {
+ echo $start . ' - ' . $passed[$i] . '
' . "\n";
+ } // end for
+} // end if
+?>