]> git.joonet.de Git - adminer.git/commitdiff
Use Lang::$translations instead of $translations
authorJakub Vrana <jakub@vrana.cz>
Sat, 29 Mar 2025 21:43:44 +0000 (22:43 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 31 Mar 2025 08:18:14 +0000 (10:18 +0200)
51 files changed:
adminer/include/bootstrap.inc.php
adminer/include/lang.inc.php
adminer/lang/ar.inc.php
adminer/lang/bg.inc.php
adminer/lang/bn.inc.php
adminer/lang/bs.inc.php
adminer/lang/ca.inc.php
adminer/lang/cs.inc.php
adminer/lang/da.inc.php
adminer/lang/de.inc.php
adminer/lang/el.inc.php
adminer/lang/en.inc.php
adminer/lang/es.inc.php
adminer/lang/et.inc.php
adminer/lang/fa.inc.php
adminer/lang/fi.inc.php
adminer/lang/fr.inc.php
adminer/lang/gl.inc.php
adminer/lang/he.inc.php
adminer/lang/hu.inc.php
adminer/lang/id.inc.php
adminer/lang/it.inc.php
adminer/lang/ja.inc.php
adminer/lang/ka.inc.php
adminer/lang/ko.inc.php
adminer/lang/lt.inc.php
adminer/lang/lv.inc.php
adminer/lang/ms.inc.php
adminer/lang/nl.inc.php
adminer/lang/no.inc.php
adminer/lang/pl.inc.php
adminer/lang/pt-br.inc.php
adminer/lang/pt.inc.php
adminer/lang/ro.inc.php
adminer/lang/ru.inc.php
adminer/lang/sk.inc.php
adminer/lang/sl.inc.php
adminer/lang/sr.inc.php
adminer/lang/sv.inc.php
adminer/lang/ta.inc.php
adminer/lang/th.inc.php
adminer/lang/tr.inc.php
adminer/lang/uk.inc.php
adminer/lang/uz.inc.php
adminer/lang/vi.inc.php
adminer/lang/xx.inc.php
adminer/lang/zh-tw.inc.php
adminer/lang/zh.inc.php
compile.php
externals/PhpShrink
lang.php

index fbea99b80b65cb19dff9822536dbd5cd4582d005..fbd21d4108bac9489c4d95ea67140c293238364f 100644 (file)
@@ -39,7 +39,7 @@ if ($_GET["script"] == "version") {
        exit;
 }
 
-global $translations; // allows including Adminer inside a function
+// Adminer doesn't use any global variables; they used to be declared here
 
 if (!$_SERVER["REQUEST_URI"]) { // IIS 5 compatibility
        $_SERVER["REQUEST_URI"] = $_SERVER["ORIG_PATH_INFO"];
index cf98bb34eff9275550f4f4ddc9fe83f4a07e128c..71b8171354b453a53fc9556ce0352000cc4ec274 100644 (file)
@@ -62,8 +62,7 @@ function langs(): array {
 */
 function lang(string $idf, $number = null): string {
        // this is matched by compile.php
-       global $translations;
-       $translation = ($translations[$idf] ?: $idf);
+       $translation = (Lang::$translations[$idf] ?: $idf);
        if (is_array($translation)) {
                // this is matched by compile.php
                $pos = ($number == 1 ? 0
@@ -99,7 +98,6 @@ function switch_lang(): void {
 if (isset($_POST["lang"]) && verify_token()) { // $error not yet available
        cookie("adminer_lang", $_POST["lang"]);
        $_SESSION["lang"] = $_POST["lang"]; // cookies may be disabled
-       $_SESSION["translations"] = array(); // used in compiled version
        redirect(remove_from_uri());
 }
 
@@ -130,3 +128,7 @@ if (idx(langs(), $_COOKIE["adminer_lang"])) {
 }
 
 define('Adminer\LANG', $LANG);
+
+class Lang {
+       /** @var array<literal-string, string|list<string>> */ static array $translations;
+}
index 005b70ba2601db0e8fae6bd86dfb316d8445d547..5c640223c9fe14dd29a87ca7577d7174b8d65e4f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'تسجيل الدخول',
        'Logout successful.' => 'تم تسجيل الخروج بنجاح.',
        'Invalid credentials.' => 'بيانات الدخول غير صالحة.',
index 1a79d7d68d2a2c908ad73fd0d597e7ab07d9726d..37c5443fbbfdf4e95e2d7a1c18b4e6cffdb880d3 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Система',
        'Server' => 'Сървър',
index 570516004aa99f8512d1eb2b4ac48a862a91b6a4..452d9b5c20ee8b832bf4baa7feef48060d410db9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'লগইন',
        'Logout successful.' => 'সফলভাবে লগআউট হয়েছে।',
        'Invalid credentials.' => 'ভুল পাসওয়ার্ড।',
index 47075135192de826e79872057b192ec69990ce1d..c1f7e587dfcfe9d2906f3cbaaa8de11de27ca1d2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistem',
        'Server' => 'Server',
index b7daeaedbc093f2fe1fc61b05816ca0b7af90ff0..f64607bfd4b50cba7d24db741d03bdc3e5dff11a 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Inicia la sessió',
        'Logout successful.' => 'Desconnexió correcta.',
        'Invalid credentials.' => 'Credencials invàlides.',
index 341be5c580007c249f2872aed6ac0ea512b91cfa..0973e41956b0bd0b4add5226aa925139e9bec238 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Systém',
        'Server' => 'Server',
index 51c1b5e2ddf437a79ef11ce674e4091014aba37f..2543febe68244930d03ec191270eedd47a3aa33f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'System' => 'System',
        'Server' => 'Server',
        'Username' => 'Brugernavn',
index e0dd2f4afb12484db119df80342392aba6ca748d..7fa03b8fb20a66c3551607cdc5057ff56172f7f8 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Login',
        'Logout successful.' => 'Abmeldung erfolgreich.',
        'Thanks for using Adminer, consider <a href="https://www.adminer.org/en/donation/">donating</a>.' => 'Danke, dass Sie Adminer genutzt haben. <a href="https://www.adminer.org/de/donation/">Spenden willkommen!</a>.',
index cf6c45b5e61d4adb4634171bca954cb72eb56098..98cefc1d92aa5562d5693cb344c7324cf27e9b62 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Σύστημα',
        'Server' => 'Διακομιστής',
index db318b335bac5b592edcd6c5be5433625372a5be..3dcd6355eb748fc98e4124042e61ff3e513049cc 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Too many unsuccessful logins, try again in %d minute.', 'Too many unsuccessful logins, try again in %d minutes.'),
        'Query executed OK, %d row(s) affected.' => array('Query executed OK, %d row affected.', 'Query executed OK, %d rows affected.'),
        '%d byte(s)' => array('%d byte', '%d bytes'),
index 793ecf82977d47eb9cfa1ccde2082d4d3ff2bf5d..7491c0053864b5105d6cd4310fef69b6c34f9fb1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Login',
        'Logout successful.' => 'Sesión finalizada con éxito.',
        'Invalid credentials.' => 'Usuario y/o clave de acceso incorrecta.',
index 020c8af70aea4d892d701d5b45a6f4b70dcce6b2..099194c06760cce644363624a36c036932d75dc2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Logi sisse',
        'Logout successful.' => 'Väljalogimine õnnestus.',
        'Invalid credentials.' => 'Ebakorrektsed andmed.',
index 5dc1c9b21dd5e3d1ef9f4798196c64d8bc5a6982..13586eb715a3415f4a1961c44d899bb945b1a3cc 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'سیستم',
        'Server' => 'سرور',
index 6499bcc6b963c276b37356e7ec68f490acfa1b25..bd11f9ce4c8d5e4f99948f4f99efe196912059f2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Järjestelmä',
        'Server' => 'Palvelin',
index 06e8d5946d1936c08e4b2f8612bc3af718372c1f..5f84a06562ae0da193e7ead337951186f175c576 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Authentification',
        'Logout successful.' => 'Au revoir !',
        'Invalid credentials.' => 'Authentification échouée.',
index 14a5964fd63eeafbae9f83b400d4d5c13f6e2fb7..726eea77c8c8d6a74526c32e414353c2fba6084d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Conectar',
        'Logout successful.' => 'Pechouse a sesión con éxito.',
        'Invalid credentials.' => 'Credenciais (usuario e/ou contrasinal) inválidos.',
index fb4937458447d372ccb895c2250c6113960567a2..97489126eeb98e217aacffabe37ec48efdfa35e2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'התחברות',
        'Logout successful.' => 'ההתחברות הצליחה',
        'Invalid credentials.' => 'פרטי התחברות שגויים',
index 94f0bc752b90faa89d49e446db616d5842aa06f2..881a4961a9375cb29534cfdd169bc2763673110b 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Belépés',
        'Logout successful.' => 'Sikeres kilépés.',
        'Invalid credentials.' => 'Érvénytelen adatok.',
index 378a19dbc7fdcac99a06361d120a4efaecf60696..5537b6f6179554db66f6661411e2606fb0a07ff9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistem',
        'Server' => 'Server',
index e0bc8ae80dcbfc0fb2324b859d843dcdfa2d8abf..81287e21c7d15020db62a95c7b036bcf0278b69d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Autenticazione',
        'Logout successful.' => 'Uscita effettuata con successo.',
        'Invalid credentials.' => 'Credenziali non valide.',
index 2fef6e10a43acebede7476be169b9ee445cb7e93..9cbbab2fabe579f98f62484a71b77efd992c72d1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'ログイン',
        'Logout successful.' => 'ログアウトしました。',
        'Invalid credentials.' => '不正なログインです。',
index 146d3163649d49b2e0340a87d9a778af5224dfe1..97cc9666063e286ea42b5326733f2aaf1338bff9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'შესვლა',
        'Logout successful.' => 'გამოხვედით სისტემიდან.',
        'Invalid credentials.' => 'არასწორი მომხმარებელი ან პაროლი.',
index 3e5bfab2ca965aefc61d2cd1f5b6393901335c95..28e20738b93578f731d605ce1b0da9151befc253 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        '$1-$3-$5' => '$1-$3-$5',
        '%.3f s' => '%.3f 초',
        '%d byte(s)' => '%d 바이트',
index f1d211cebb8864bc162d07499e62ad464f34fdb8..e37b2e3bd74e0386a68347726cde891c5925932b 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistema',
        'Server' => 'Serveris',
index 4ef050018a4b5cdd53197731369f14071b55acb1..72591236cd38ddd2db48e595316c0ba8869aa6fc 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Ieiet',
        'Logout successful.' => 'Jūs veiksmīgi izgājāt no sistēmas.',
        'Invalid credentials.' => 'Nepareizs lietotāja vārds vai parole.',
index 7ea30df0be7b0ba56be4e58d1c55aec9a1eab672..245d8dfd4f56b8ac186d6f79f73d7b5a3de21665 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistem',
        'Server' => 'Pelayan',
index 03580026d1a1a6d98ce1cc37ed81b2d57b293206..44428d77d3b28df8d771d4a03c6ab65c36d82274 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Aanmelden',
        'Logout successful.' => 'Successvol afgemeld.',
        'Invalid credentials.' => 'Ongeldige gebruikersgegevens.',
index 7fa87ecc6187c63db9a06f27eb9f2a35c6096686..6996a2500623f7ca4b43b8ab71b4617ac4acef54 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'System' => 'System',
        'Server' => 'Server',
        'Username' => 'Brukernavn',
index 80230290255de6dac094c6f8dc124e63e9df2bdf..b32b2c29fdda2ae45d42b8911885f3bc3b3c595e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Rodzaj bazy',
        'Server' => 'Serwer',
index 2214393bfa659109d79e71d0845b2aac6eb78e95..536315f99a643e7f9c462ef7029b41637648dee9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Entrar',
        'Logout successful.' => 'Saída bem sucedida.',
        'Invalid credentials.' => 'Identificação inválida.',
index de3e6a4f28fdf3690a7caa4f3afe1098d5b5d375..dd40fc76128bb612ed86c8918568c51b5d8329f2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Entrar',
        'Logout successful.' => 'Sessão terminada com sucesso.',
        'Invalid credentials.' => 'Identificação inválida.',
index ef9f819bb3241943b1938d4379112317dae70999..36f752121ff5724cd5bd9af65c238b768efb4132 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Intră',
        'Logout successful.' => 'Ați ieșit cu succes.',
        'Invalid credentials.' => 'Numele de utilizator sau parola este greșită.',
index 7a1a419f9673d59e33ecd1a5b48b5da6f248f365..c29ab837a5edfa4e734ba7753c55c46f9dbb973e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Войти',
        'Logout successful.' => 'Вы успешно покинули систему.',
        'Invalid credentials.' => 'Неправильное имя пользователя или пароль.',
index ec84040f313759788cad8da1fe1977e2b85e50c3..3cea57cc8f54ef2080d2798725783685338ca067 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'Prihlásiť sa',
        'Logout successful.' => 'Odhlásenie prebehlo v poriadku.',
        'Invalid credentials.' => 'Neplatné prihlasovacie údaje.',
@@ -281,7 +281,7 @@ $translations = array(
        'Warnings' => 'Varovania',
        '%d / ' => '%d / ',
        'Limit rows' => 'Limit riadkov',
-       'Adminer does not support accessing a database without a password, <a href="https://www.adminer.org/en/password/"%s>more information</a>.' => 'Adminer nepodporuje prístup k databáze bez hesla, <a href="https://www.adminer.org/cs/password/"%s>viac informácií</a>.',
+       'Adminer does not support accessing a database without a password, <a href="https://www.adminer.org/en/password/"%s>more information</a>.' => 'Adminer nepodporuje prístup k databáze bez hesla, <a href="https://www.adminer.org/en/password/"%s>viac informácií</a>.',
        'Default value' => 'Predvolená hodnota',
        'Full table scan' => 'Prechod celej tabuľky',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Príliš veľa pokusov o prihlásenie, skúste to znova za %d minutu.', 'Príliš veľa pokusov o prihlásenie, skúste to znova za %d minuty.', 'Príliš veľa pokusov o prihlásenie, skúste to znova za %d minút.'),
index d18717ecde97c950e3399ac006e91c3e1af4854e..4b20bef81d2c17bb40492b9ae358d519b48eb680 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistem',
        'Server' => 'Strežnik',
index 7b0707427cd11218a4622858418f46db97a37866..db98d24eabe18845110cb5418b0bb4c3254be1f1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Систем',
        'Server' => 'Сервер',
index 377522182d6efb9f88fd93c87f8a250226c18281..e96943dcfed7973d726062283b802edb2ea45412 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'System',
        'Server' => 'Server',
index 43a263592850ec4929abe645e310031f1d1f3d03..87cfc54bc5b10395b1293af215223954cf6e3bd7 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'நுழை',
        'Logout successful.' => 'வெற்றிக‌ர‌மாய் வெளியேறியாயிற்று.',
        'Invalid credentials.' => 'ச‌ரியான‌ விப‌ர‌ங்க‌ள் இல்லை.',
index 322250c93ba97b3a35864b4149ee3b3775cdbdb8..f278ce8fa51c61048df3f1ebff6a0e819d66d2e6 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        'Login' => 'เข้าสู่ระบบ',
        'Logout successful.' => 'ออกจากระบบเรียบร้อยแล้ว.',
        'Invalid credentials.' => 'ข้อมูลไม่ถูกต้อง.',
index 2166249e15f5c88b68d1658fb0dfdac3093f4324..54ec564568db350f9c040b3bf3dbb10f7a82f596 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Sistem',
        'Server' => 'Sunucu',
index 6f4eba18a9c55ada44f03ff1175799773b3757b5..456ad04f70247fc48566c6aed5b2addc5ec38b3d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Система Бази Даних',
        'Server' => 'Сервер',
index ab429c8214a025a4883be9546c63d369813c99f6..b87b42e5ea7bfbae997ae95b15ea2d3f4d6f18ad 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Tizim',
        'Server' => 'Server',
index 78d87388c3a52ebaa2f93e06855146f19a83fe50..2302f3796da060b6358166a94a834440f008caa6 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Hệ thống',
        'Server' => 'Máy chủ',
index 66b623c2e7fb033ecf8f2e2a48c9aa52fa6a4592..fcd6e31c719c7745f10a3532e8df54584fb58dfe 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => 'Xx',
        'Server' => 'Xx',
index 5f72e846b2267df7d4e36d4e974629d3f062707d..1bf1d2e6f6f7ecb43468904bc7a3b219257af2c0 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => '資料庫系統',
        'Server' => '伺服器',
index bcc4cfd41e3f9e442bf72561637550e0131bf135..81fcfc1329f571508b1b08f5001d7256cdda107d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 namespace Adminer;
 
-$translations = array(
+Lang::$translations = array(
        // label for database system selection (MySQL, SQLite, ...)
        'System' => '系统',
        'Server' => '服务器',
index 60d0056daefd46f671e055a4bfc728304a72c35f..8948c2470d1852eb66290ece985d8ca2942d3f43 100755 (executable)
@@ -18,9 +18,8 @@ function add_quo_slashes($s) {
 }
 
 function remove_lang($match) {
-       global $translations;
        $idf = strtr($match[2], array("\\'" => "'", "\\\\" => "\\"));
-       $s = ($translations[$idf] ?: $idf);
+       $s = (Adminer\Lang::$translations[$idf] ?: $idf);
        if ($match[3] == ",") { // lang() has parameters
                return $match[1] . (is_array($s) ? "lang(array('" . implode("', '", array_map('add_apo_slashes', $s)) . "')," : "sprintf('" . add_apo_slashes($s) . "',");
        }
@@ -167,9 +166,9 @@ function put_file_lang($match) {
        }
        $return = "";
        foreach (Adminer\langs() as $lang => $val) {
-               include __DIR__ . "/adminer/lang/$lang.inc.php"; // assign $translations
+               include __DIR__ . "/adminer/lang/$lang.inc.php";
                $translation_ids = array_flip($lang_ids); // default translation
-               foreach ($translations as $key => $val) {
+               foreach (Adminer\Lang::$translations as $key => $val) {
                        if ($val !== null) {
                                $translation_ids[$lang_ids[$key]] = implode("\t", (array) $val);
                        }
@@ -178,10 +177,14 @@ function put_file_lang($match) {
                case "' . $lang . '": $compressed = "' . add_quo_slashes(lzw_compress(implode("\n", $translation_ids))) . '"; break;';
        }
        $translations_version = crc32($return);
-       return '$translations = $_SESSION["translations"];
-if ($_SESSION["translations_version"] != ' . $translations_version . ') {
-       $translations = array();
-       $_SESSION["translations_version"] = ' . $translations_version . ';
+       return 'Lang::$translations = $_SESSION["translations"];
+if ($_SESSION["translations_version"] != LANG . ' . $translations_version . ') {
+       Lang::$translations = array();
+       $_SESSION["translations_version"] = LANG . ' . $translations_version . ';
+}
+if (!Lang::$translations) {
+       Lang::$translations = get_translations(LANG);
+       $_SESSION["translations"] = Lang::$translations;
 }
 
 function get_translations($lang) {
@@ -193,11 +196,6 @@ function get_translations($lang) {
        }
        return $translations;
 }
-
-if (!$translations) {
-       $translations = get_translations(LANG);
-       $_SESSION["translations"] = $translations;
-}
 ';
 }
 
index 0245ae4ea92f7de28c0b5633fc8ed691dbb25992..9ff1f4be6800a72e6cc866104b38a61d706b0417 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0245ae4ea92f7de28c0b5633fc8ed691dbb25992
+Subproject commit 9ff1f4be6800a72e6cc866104b38a61d706b0417
index 72b35802c6440b48f5063a3b350ea4e47d4f2633..b98747211a2aa7761e1ab545ca38e012f7f4ff96 100755 (executable)
--- a/lang.php
+++ b/lang.php
@@ -5,8 +5,7 @@ include __DIR__ . "/adminer/include/errors.inc.php";
 unset($_COOKIE["adminer_lang"]);
 $_SESSION["lang"] = $_SERVER["argv"][1]; // Adminer functions read language from session
 if (isset($_SESSION["lang"])) {
-       include __DIR__ . "/adminer/include/lang.inc.php";
-       if (isset($_SERVER["argv"][2]) || (!idx(Adminer\langs(), $_SESSION["lang"]) && $_SESSION["lang"] != "xx")) {
+       if (isset($_SERVER["argv"][2]) || !file_exists($filename)) {
                echo "Usage: php lang.php [lang]\nPurpose: Update adminer/lang/*.inc.php from source code messages.\n";
                exit(1);
        }
@@ -20,9 +19,9 @@ foreach (
                glob(__DIR__ . "/adminer/drivers/*.php"),
                glob(__DIR__ . "/editor/*.php"),
                glob(__DIR__ . "/editor/include/*.php")
-       ) as $filename
+       ) as $include
 ) {
-       $file = file_get_contents($filename);
+       $file = file_get_contents($include);
        if (preg_match_all("~lang\\(('(?:[^\\\\']+|\\\\.)*')([),])~", $file, $matches)) { // lang() always uses apostrophes
                $messages_all += array_combine($matches[1], $matches[2]);
        }
@@ -70,7 +69,7 @@ foreach (glob(__DIR__ . "/adminer/lang/" . ($_SESSION["lang"] ?: "*") . ".inc.ph
                        }
                }
        }
-       $s = "<?php\nnamespace Adminer;\n\n\$translations = array(\n$s);\n\n// run `php ../../lang.php $lang` to update this file\n";
+       $s = "<?php\nnamespace Adminer;\n\nLang::\$translations = array(\n$s\t);\n\n// run `php ../../lang.php $lang` to update this file\n";
        if ($s != $file) {
                file_put_contents($filename, $s);
                echo "$filename updated.\n";