diff --git a/adminer/lang/ar.inc.php b/adminer/lang/ar.inc.php index 1578c258..0ce2ec73 100644 --- a/adminer/lang/ar.inc.php +++ b/adminer/lang/ar.inc.php @@ -77,7 +77,7 @@ $translations = array( 'Routine has been called, %d row(s) affected.' => 'تم استدعاء الروتين, عدد الأسطر المعدلة %d.', 'Call' => 'استدعاء', 'No extension' => 'امتداد غير موجود', - 'None of the supported PHP extensions (%s) are available.' => 'إمتدادات php المدعومة غير موجودة.', + 'None of the supported PHP extensions (%s) are available.' => 'إمتدادات php (%s) المدعومة غير موجودة.', 'Session support must be enabled.' => 'عليك تفعيل نظام الجلسات.', 'Session expired, please login again.' => 'إنتهت الجلسة، من فضلك أعد تسجيل الدخول.', 'Text length' => 'طول النص', @@ -252,7 +252,7 @@ $translations = array( 'Geometry' => 'هندسة', 'File exists.' => 'الملف موجود.', 'Attachments' => 'ملفات مرفقة', - 'Item%s has been inserted.' => 'تم إدراج العنصر.', + 'Item%s has been inserted.' => '%sتم إدراج العنصر.', 'now' => 'الآن', '%d query(s) executed OK.' => array('تم تنفيذ الاستعلام %d بنجاح.', 'تم تنفيذ الاستعلامات %d بنجاح.'), 'Show only errors' => 'إظهار الأخطاء فقط', diff --git a/adminer/lang/bn.inc.php b/adminer/lang/bn.inc.php index c6c2d4f6..fc318f5b 100644 --- a/adminer/lang/bn.inc.php +++ b/adminer/lang/bn.inc.php @@ -38,7 +38,7 @@ $translations = array( 'select' => 'নির্বাচন', 'Item has been deleted.' => 'বিষয়বস্তু মুছে ফেলা হয়েছে।', 'Item has been updated.' => 'বিষয়বস্তু হালনাগাদ করা হয়েছে।', - 'Item%s has been inserted.' => 'বিষয়বস্তুসমূহ সংযোজন করা হয়েছে।', + 'Item%s has been inserted.' => 'বিষয়বস্তুসমূহ%s সংযোজন করা হয়েছে।', 'Edit' => 'সম্পাদনা', 'Insert' => 'সংযোজন', 'Save and insert next' => 'সংরক্ষন ও পরবর্তী সংযোজন করুন', diff --git a/adminer/lang/bs.inc.php b/adminer/lang/bs.inc.php index 94e15344..94ec850e 100644 --- a/adminer/lang/bs.inc.php +++ b/adminer/lang/bs.inc.php @@ -16,7 +16,7 @@ $translations = array( 'Language' => 'Jezik', 'Invalid CSRF token. Send the form again.' => 'Nevažeći CSRF kod. Proslijedite ponovo formu.', 'No extension' => 'Bez dodataka', - 'None of the supported PHP extensions (%s) are available.' => 'Nijedan od podržanih PHP dodataka nije dostupan.', + 'None of the supported PHP extensions (%s) are available.' => 'Nijedan od podržanih PHP dodataka (%s) nije dostupan.', 'Session support must be enabled.' => 'Morate omogućiti podršku za sesije.', 'Session expired, please login again.' => 'Vaša sesija je istekla, prijavite se ponovo.', '%s version: %s through PHP extension %s' => '%s verzija: %s pomoću PHP dodatka je %s', diff --git a/adminer/lang/lv.inc.php b/adminer/lang/lv.inc.php index 2e141591..1ab79314 100644 --- a/adminer/lang/lv.inc.php +++ b/adminer/lang/lv.inc.php @@ -38,7 +38,7 @@ $translations = array( 'select' => 'izvēlēties', 'Item has been deleted.' => 'Ieraksts dzests.', 'Item has been updated.' => 'Ieraksts atjaunots.', - 'Item%s has been inserted.' => 'Ieraksti tika ievietoti.', + 'Item%s has been inserted.' => 'Ieraksti%s tika ievietoti.', 'Edit' => 'Rediģēt', 'Insert' => 'Ievietot', 'Save and insert next' => 'Saglabāt un ievietot nākamo', diff --git a/adminer/lang/sr.inc.php b/adminer/lang/sr.inc.php index 3b6f10fb..877b51a7 100644 --- a/adminer/lang/sr.inc.php +++ b/adminer/lang/sr.inc.php @@ -16,7 +16,7 @@ $translations = array( 'Language' => 'Језик', 'Invalid CSRF token. Send the form again.' => 'Неважећи CSRF код. Проследите поново форму.', 'No extension' => 'Без додатака', - 'None of the supported PHP extensions (%s) are available.' => 'Ниједан од подржаних PHP додатака није доступан.', + 'None of the supported PHP extensions (%s) are available.' => 'Ниједан од подржаних PHP додатака (%s) није доступан.', 'Session support must be enabled.' => 'Морате омогућити подршку за сесије.', 'Session expired, please login again.' => 'Ваша сесија је истекла, пријавите се поново.', '%s version: %s through PHP extension %s' => '%s верзија: %s помоћу PHP додатка је %s', diff --git a/adminer/lang/ta.inc.php b/adminer/lang/ta.inc.php index bc09035b..87369484 100644 --- a/adminer/lang/ta.inc.php +++ b/adminer/lang/ta.inc.php @@ -229,7 +229,7 @@ $translations = array( 'Create sequence' => 'வ‌ரிசைமுறையை உருவாக்கு', 'User types' => 'ப‌ய‌னாள‌ர் வ‌கைக‌ள்', 'Create type' => 'வ‌கையை உருவாக்கு', - 'Item%s has been inserted.' => 'உருப்ப‌டி (Item) சேர்க்க‌ப்ப‌ட்ட‌து.', + 'Item%s has been inserted.' => 'உருப்ப‌டி (Item%s) சேர்க்க‌ப்ப‌ட்ட‌து.', 'Schema has been dropped.' => 'அமைப்புமுறை நீக்க‌ப்ப‌ட்ட‌து.', 'Schema has been created.' => 'அமைப்புமுறை உருவாக்க‌ப்ப‌ட்ட‌து.', 'Schema has been altered.' => 'அமைப்புமுறை மாற்ற‌ப்ப‌ட்ட‌து.', diff --git a/adminer/lang/vi.inc.php b/adminer/lang/vi.inc.php index 4d03cdec..228461a7 100644 --- a/adminer/lang/vi.inc.php +++ b/adminer/lang/vi.inc.php @@ -61,7 +61,7 @@ $translations = array( 'File upload' => 'Tải tệp lên', 'From server' => 'Dùng tệp trên máy chủ', - 'Webserver file %s' => 'Tệp trên máy chủ', + 'Webserver file %s' => 'Tệp trên máy chủ %s', 'Run file' => 'Chạy tệp', 'File does not exist.' => 'Tệp không tồn tại.', 'File uploads are disabled.' => 'Chức năng tải tệp lên đã bị cấm.', diff --git a/adminer/lang/xx.inc.php b/adminer/lang/xx.inc.php index d0e87c35..3cfd0759 100644 --- a/adminer/lang/xx.inc.php +++ b/adminer/lang/xx.inc.php @@ -23,6 +23,7 @@ $translations = array( 'Invalid CSRF token. Send the form again.' => 'Xx.', 'If you did not send this request from Adminer then close this page.' => 'Xx.', 'No extension' => 'Xx', + // %s contains the list of the extensions, e.g. 'mysqli, PDO_MySQL' 'None of the supported PHP extensions (%s) are available.' => 'Xx (%s).', 'Connecting to privileged ports is not allowed.' => 'Xx.', 'Disable %s or enable %s or %s extensions.' => 'Xx %s xx %s xx %s xx.', @@ -273,7 +274,7 @@ $translations = array( 'Ctrl+click on a value to modify it.' => 'Xx.', 'Use edit link to modify this value.' => 'Xx.', - // %s can contain auto-increment value + // %s can contain auto-increment value, e.g. ' 123' 'Item%s has been inserted.' => 'Xx%s.', 'Item has been deleted.' => 'Xx.', 'Item has been updated.' => 'Xx.', diff --git a/lang.php b/lang.php index ce1dc19b..7c7e1d7b 100755 --- a/lang.php +++ b/lang.php @@ -32,12 +32,12 @@ foreach (glob(__DIR__ . "/adminer/lang/" . ($_SESSION["lang"] ?: "*") . ".inc.ph $messages = $messages_all; $file = file_get_contents($filename); $file = str_replace("\r", "", $file); - preg_match_all("~^(\\s*(?:// [^'].*\\s+)?)(?:// )?(('(?:[^\\\\']+|\\\\.)*') => .*[^,\n]),?~m", $file, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); + preg_match_all("~^(\\s*(?:// [^'].*\\s+)?)(?:// )?(('(?:[^\\\\']+|\\\\.)*') => (.*[^,\n])),?~m", $file, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); $s = ""; $lang = basename($filename, ".inc.php"); $fullstop = ($lang == "bn" ? '।' : (substr($lang, 0, 2) == 'zh' ? '。' : ($lang == 'he' || $lang == 'ja' ? '' : '\.'))); foreach ($matches as $match) { - list(, list($indent), list($line, $offset), list($en)) = $match; + list(, list($indent), list($line, $offset), list($en), list($translation)) = $match; if (isset($messages[$en])) { // keep current messages $s .= "$indent$line,\n"; @@ -45,6 +45,9 @@ foreach (glob(__DIR__ . "/adminer/lang/" . ($_SESSION["lang"] ?: "*") . ".inc.ph if ($en != "','" && $fullstop && (substr($en, -2, 1) == "." xor preg_match("~$fullstop'\)?\$~", $line))) { echo "$filename:" . (substr_count($file, "\n", 0, $offset) + 1) . ":Not matching fullstop: $line\n"; } + if (preg_match('~%~', $en) xor preg_match('~%~', $translation)) { + echo "$filename:" . (substr_count($file, "\n", 0, $offset) + 1) . ":Not matching placeholder.\n"; + } } else { // comment deprecated messages $s .= "$indent// $line,\n";