diff --git a/.tx/config b/.tx/config index ea248d1..30bf937 100644 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://www.transifex.com -[ulogger-android.strings-php] +[ulogger.strings-php] file_filter = ./lang/.php minimum_perc = 0 source_file = ./lang/en.php diff --git a/README.md b/README.md index 0669d5e..8400b2e 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,12 @@ Together with a dedicated [μlogger mobile client](https://github.com/bfabiszews - improve interface on mobile devices ## Translations -- translations may be contributed via [Transifex](https://www.transifex.com/bfabiszewski/ulogger-android/). +- translations may be contributed via [Transifex](https://www.transifex.com/bfabiszewski/ulogger/). + +## Donate +[![Donate paypal](https://img.shields.io/badge/donate-paypal-green.svg)](https://www.paypal.me/bfabiszewski) +![Donate bitcoin](https://img.shields.io/badge/donate-bitcoin-green.svg) `bc1qt3uwhze9x8tj6v73c587gprhufg9uur0rzxhvh` +![Donate ethereum](https://img.shields.io/badge/donate-ethereum-green.svg) `0x100C31C781C8124661413ed6d1AA9B1e2328fFA2` ## License - GPL diff --git a/helpers/lang.php b/helpers/lang.php index d405587..b3cbeca 100644 --- a/helpers/lang.php +++ b/helpers/lang.php @@ -30,14 +30,16 @@ * @var array */ private static $languages = [ - "en" => "English", - "pl" => "Polski", + "cs" => "Čeština", "de" => "Deutsch", - "hu" => "Magyar", + "en" => "English", + "es" => "Español", "fr" => "Français", "it" => "Italiano", - "es" => "Español", + "hu" => "Magyar", "nl" => "Nederlands", + "pl" => "Polski", + "ru" => "Русский", "zh" => "中文" ]; @@ -112,4 +114,4 @@ } - ?> \ No newline at end of file + ?> diff --git a/index.php b/index.php index 4e4d05d..140f9d4 100644 --- a/index.php +++ b/index.php @@ -30,7 +30,6 @@ $lang = (new uLang(uConfig::$lang))->getStrings(); $langsArr = uLang::getLanguages(); - asort($langsArr); $auth = new uAuth(); if ($action == "auth") { diff --git a/lang/cs.php b/lang/cs.php new file mode 100644 index 0000000..2f12781 --- /dev/null +++ b/lang/cs.php @@ -0,0 +1,127 @@ +. + */ + +// default language for translations + +// strings only used in setup +$langSetup["dbconnectfailed"] = "Připojení k databázi se nezdařilo."; +$langSetup["serversaid"] = "Server reaguje: %s"; // substitutes server error message +$langSetup["checkdbsettings"] = "Zkontrolujte prosím nastavení databáze v souboru 'config.php'."; +$langSetup["dbqueryfailed"] = "Databázový dotaz selhal"; +$langSetup["dbtablessuccess"] = "Databázové tabulky byly úspěšně vytvořeny!"; +$langSetup["setupuser"] = "Nyní si nastavte uživatele µlogger ."; +$langSetup["congratulations"] = "Gratulujeme"; +$langSetup["setupcomplete"] = "Nastavení je nyní dokončeno. Nyní můžete přejít na hlavní stránku a přihlásit se pomocí nového uživatelského účtu"; +$langSetup["disablewarn"] = "DŮLEŽITÉ! MUSÍTE VYPNOUT 'setup.php' SCRIPT NEBO JEJ ODSTRANIT ZE SERVERU."; +$langSetup["disabledesc"] = "Hlavní bezpečnostní riziko představuje ponechání skriptu přístupného z prohlížeče. Ten jej bude moci spustit, smazat databázi a nastavit nový uživatelský účet. Odstraňte soubor nebo jej zakažte nastavením hodnoty %s zpět na %s."; // substitutes variable name and value +$langSetup["setupfailed"] = "Bohužel se něco pokazilo. Můžete se pokusit najít více informací ve svých logech webserveru."; +$langSetup["welcome"] = "Vítejte v µloggeru. "; +$langSetup["disabledwarn"] = "Z bezpečnostních důvodů je tento skript ve výchozím nastavení zakázán. Pro jeho aktivaci musíte upravit soubor 'scripts/setup.php' v textovém editoru a nastavit %s proměnnou na začátku souboru na %s."; // substitutes variable name and value +$langSetup["lineshouldread"] = "Řádek: %s by měl číst: %s"; +$langSetup["passfuncwarn"] = "Vaše verze PHP nepodporuje funkce hesla, které jsou dodávány s PHP 5.5. Musíte zahrnout knihovnu password_compat."; +$langSetup["passfunchack"] = "Upravte soubor 'helpers/user.php' a řádek s příkazy včetně 'helpers/password.php'."; +$langSetup["dorestart"] = "Po dokončení skriptu restartujte tento skript."; +$langSetup["createconfig"] = "Vytvořte soubor 'config.php' v kořenové složce. Můžete začít zkopírováním z 'config.default.php'. Ujistěte se, že jste nastavili konfigurační hodnoty tak, aby odpovídaly vašim potřebám a nastavení vaší databáze."; +$langSetup["nodbsettings"] = "Musíte zadat své údaje databáze v souboru 'config.php' (%s)."; // substitutes variable names +$langSetup["scriptdesc"] = "Tento skript nastaví tabulky potřebné pro µlogger (%s). Budou vytvořeny ve vaší databázi s názvem %s. Upozorňujeme, že pokud tabulky již existují, budou zrušeny a znovu vytvořeny, jejich obsah bude zničen."; // substitutes table names and db name +$langSetup["scriptdesc2"] = "Po dokončení skriptu budete vyzváni k zadání uživatelského jména a hesla pro uživatele µloggeru ."; +$langSetup["startbutton"] = "Stiskněte pro spuštění"; +$langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "Možnost konfigurace PHP %s musí být nastavena na %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Požadované rozšíření PHP %s není k dispozici."; // substitutes extension name + + +// application strings +$lang["title"] = "• μlogger •"; +$lang["private"] = "Pro přístup na tuto stránku potřebujete login a heslo."; +$lang["authfail"] = "Chybné uživatelské jméno nebo heslo"; +$lang["user"] = "Uživatel"; +$lang["track"] = "Trasa"; +$lang["latest"] = "poslední pozice"; +$lang["autoreload"] = "automatické obnovení"; +$lang["reload"] = "Znovu načíst"; +$lang["export"] = "Export trasy"; +$lang["chart"] = "Graf výšek"; +$lang["close"] = "zavřít"; +$lang["time"] = "Čas"; +$lang["speed"] = "Rychlost"; +$lang["accuracy"] = "Přesnost"; +$lang["altitude"] = "Výška"; +$lang["ttime"] = "Celkový čas"; +$lang["aspeed"] = "Průměrná rychlost"; +$lang["tdistance"] = "Celková vzdálenost"; +$lang["pointof"] = "Bod %d z %d"; // e.g. Point 3 of 10 +$lang["summary"] = "Shrnutí výletu"; +$lang["suser"] = "vybrat uživatele"; +$lang["logout"] = "Odhlásit"; +$lang["login"] = "Přihlášení"; +$lang["username"] = "Uživatelské jméno"; +$lang["password"] = "Heslo"; +$lang["language"] = "Jazyk"; +$lang["newinterval"] = "Zadejte novou hodnotu intervalu (sekundy)"; +$lang["api"] = "Map API"; +$lang["units"] = "Jednotky"; +$lang["metric"] = "Metrický"; +$lang["imperial"] = "Imperiální / US"; +$lang["nautical"] = "Námořní"; +$lang["adminmenu"] = "Administrace"; +$lang["passwordrepeat"] = "Opakovat heslo"; +$lang["passwordenter"] = "Zadejte heslo"; +$lang["usernameenter"] = "Zadat uživatelské jméno"; +$lang["adduser"] = "Přidat uživatele"; +$lang["userexists"] = "Uživatel již existuje"; +$lang["cancel"] ="Zrušit"; +$lang["submit"] = "Odeslat"; +$lang["oldpassword"] = "Staré heslo"; +$lang["newpassword"] = "Nové heslo"; +$lang["newpasswordrepeat"] = "opakujte nové heslo"; +$lang["changepass"] = "Změnit heslo"; +$lang["gps"] = "GPS"; +$lang["network"] = "Síť"; +$lang["deluser"] = "Odstranit uživatele"; +$lang["edituser"] = "Upravit uživatele"; +$lang["servererror"] = "Chyba serveru"; +$lang["allrequired"] = "Všechna pole jsou povinná"; +$lang["passnotmatch"] = "Hesla neodpovídají"; +$lang["actionsuccess"] = "Akce úspěšně dokončena"; +$lang["actionfailure"] = "Něco se pokazilo"; +$lang["userdelwarn"] = "Upozornění:\n\nTrvale smažete uživatele %s spolu se všemi jeho trasami a pozicemi.\n\nJste si jist?"; // substitutes user login +$lang["editinguser"] = "Upravujete uživatele %s"; // substitutes user login +$lang["selfeditwarn"] = "Pomocí tohoto nástroje nemůžete upravovat vlastního uživatele"; +$lang["apifailure"] = "Litujeme, nelze načíst %s API"; // substitutes api name (gmaps or openlayers) +$lang["trackdelwarn"] = "Upozornění: \n\nTrvale smažete trasu %s a všechny její pozice. \n\nJste si jist?"; // substitutes track name +$lang["editingtrack"] = "Upravujete trasu %s"; // substitutes track name +$lang["deltrack"] = "Odstranit trasu"; +$lang["trackname"] = "Název trasy"; +$lang["edittrack"] = "Upravit trasu"; +$lang["passlenmin"] = "Heslo musí být alespoň %d znaků"; // substitutes password minimum length +$lang["passrules_1"] = "Mělo by obsahovat alespoň jedno malé písmeno, jedno velké písmeno"; +$lang["passrules_2"] = "Mělo by obsahovat alespoň jedno malé písmeno, jedno velké písmeno a jednu číslici"; +$lang["passrules_3"] = "Mělo by obsahovat alespoň jedno malé písmeno, jedno velké písmeno, jednu číslici a jeden nealfanumerický znak"; +$lang["owntrackswarn"] = "Můžete upravovat pouze své vlastní trasy"; +$lang["gmauthfailure"] = "Na této stránce může být problém s klíčem API služby Mapy Google"; +$lang["gmapilink"] = "Další informace o klíčích API můžete najít na tomto webu Google "; +$lang["import"] = "Importovat trasu"; +$lang["iuploadfailure"] = "Nahrávání se nezdařilo"; +$lang["iparsefailure"] = "Parsování selhalo"; +$lang["idatafailure"] = "Žádné údaje o trase v importovaném souboru"; +$lang["isizefailure"] = "Velikost nahraného souboru by neměla překročit %d bajtů"; // substitutes number of bytes +$lang["imultiple"] = "Všimněte si, že bylo importováno více tras (%d)"; // substitutes number of imported tracks +$lang["allusers"] = "Všichni uživatelé"; +?> diff --git a/lang/de.php b/lang/de.php index 5eb76e3..36e5e37 100644 --- a/lang/de.php +++ b/lang/de.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "This script will set up tables needed for µlogger ( $langSetup["scriptdesc2"] = "When done the script will ask you to provide user name and password for your µlogger user."; $langSetup["startbutton"] = "Press to start"; $langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/es.php b/lang/es.php index 20b17e0..306325b 100644 --- a/lang/es.php +++ b/lang/es.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "This script will set up tables needed for µlogger ( $langSetup["scriptdesc2"] = "When done the script will ask you to provide user name and password for your µlogger user."; $langSetup["startbutton"] = "Press to start"; $langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/fr.php b/lang/fr.php index 4751a8d..7e2b2f1 100644 --- a/lang/fr.php +++ b/lang/fr.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "This script will set up tables needed for µlogger ( $langSetup["scriptdesc2"] = "When done the script will ask you to provide user name and password for your µlogger user."; $langSetup["startbutton"] = "Press to start"; $langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/hu.php b/lang/hu.php index f55df06..48a9f74 100644 --- a/lang/hu.php +++ b/lang/hu.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "This script will set up tables needed for µlogger ( $langSetup["scriptdesc2"] = "When done the script will ask you to provide user name and password for your µlogger user."; $langSetup["startbutton"] = "Press to start"; $langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/it.php b/lang/it.php index 7cf864c..d877a05 100644 --- a/lang/it.php +++ b/lang/it.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "Questo script creerà le tabelle necessarie per µlo $langSetup["scriptdesc2"] = "Quando lo script avrà completato la sua esecuzione dovrai creare l'utente µlogger."; $langSetup["startbutton"] = "Clicca per cominciare"; $langSetup["restartbutton"] = "Riavvia"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/nl.php b/lang/nl.php index 4363612..4c362e5 100644 --- a/lang/nl.php +++ b/lang/nl.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "This script will set up tables needed for µlogger ( $langSetup["scriptdesc2"] = "When done the script will ask you to provide user name and password for your µlogger user."; $langSetup["startbutton"] = "Press to start"; $langSetup["restartbutton"] = "Restart"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings diff --git a/lang/pl.php b/lang/pl.php index 3cd8df4..21acd65 100644 --- a/lang/pl.php +++ b/lang/pl.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "Ten skrypt utworzy tablice niezbędne do działania $langSetup["scriptdesc2"] = "Następnie skrypt poprosi o utworzenie konta do logowania w aplikacji µlogger."; $langSetup["startbutton"] = "Naciśnij, aby rozpocząć"; $langSetup["restartbutton"] = "Uruchom ponownie"; +$langSetup["optionwarn"] = "Opcja %s w ustawieniach PHP musi mieć wartość %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Wymagane rozszerzenie PHP %s jest niedostępne."; // substitutes extension name // application strings diff --git a/lang/ru.php b/lang/ru.php new file mode 100644 index 0000000..6170ee5 --- /dev/null +++ b/lang/ru.php @@ -0,0 +1,127 @@ +. + */ + +// default language for translations + +// strings only used in setup +$langSetup["dbconnectfailed"] = "Ошибка подключения к базе данных"; +$langSetup["serversaid"] = "Ответ сервера: %s"; // substitutes server error message +$langSetup["checkdbsettings"] = "Пожалуйста проверьте настройки базы данных в 'config.php'."; +$langSetup["dbqueryfailed"] = "Ошибка запроса базы данных"; +$langSetup["dbtablessuccess"] = "Таблицы в базе данных успешно созданы!"; +$langSetup["setupuser"] = "Теперь настройте пользователя µlogger."; +$langSetup["congratulations"] = "Поздравляем!"; +$langSetup["setupcomplete"] = "Настройка завершена. Теперь вы можете открыть главную страницу используя ваш логин и пароль."; +$langSetup["disablewarn"] = "ВНИМАНИЕ! ВЫ ДОЛЖНЫ ОТКЛЮЧИТЬ, ИЛИ УДАЛИТЬ 'setup.php' С ВАШЕГО СЕРВЕРА."; +$langSetup["disabledesc"] = "Оставлять скрипт доступным из вне является критическим риском безопасности. Любой желающий сможет запустить его и удалить вашу базу данных, а также настроить новых пользователей. Удалите этот скрипт, или выключите в настройках для этого поменяйте значение %s обратно в %s."; // substitutes variable name and value +$langSetup["setupfailed"] = "К сожалению что-то пошло не так. Проверьте логи вашего вэб-сервера."; +$langSetup["welcome"] = "Добро пожаловать в µlogger!"; +$langSetup["disabledwarn"] = "По соображениям безопасности этот скрипт отключен по умолчанию. Чтобы включить его вы должны отредактировать файл 'scripts/setup.php' и задать значение переменной %s в начале файла как %s."; // substitutes variable name and value +$langSetup["lineshouldread"] = "Строка: %s должна читать: %s"; +$langSetup["passfuncwarn"] = "Установленная версия PHP не поддерживает функции паролей доступные с PHP 5.5. Вы должны включить password_compat библиотеку."; +$langSetup["passfunchack"] = "Пожалуйста измените файл 'helpers/user.php' так, чтобы включить 'helpers/password.php'."; +$langSetup["dorestart"] = "Пожалуйста перезапустите этот скрипт, когда закончите."; +$langSetup["createconfig"] = "Пожалуйста создайте файл 'config.php' в корневой директории. Вы можете просто скопировать его с 'config.default.php' и задать ваши параметры для доступа к вашей базе данных."; +$langSetup["nodbsettings"] = "Вам нужно сконфигурировать доступ к вашей базе данных в 'config.php' (%s)."; // substitutes variable names +$langSetup["scriptdesc"] = "Этот скрипт создаст нужные таблицы для µlogger (%s). Они будут созданы в вашей базе данных %s. Внимание, если таблицы уже существуют, то они будут пересозданы и вся текущая информация в них будет уничтожена."; // substitutes table names and db name +$langSetup["scriptdesc2"] = "Когда все будет готово, скрипт потребует вас предоставь имя пользователя и пароль для вашего µlogger пользователя."; +$langSetup["startbutton"] = "Нажми для старта"; +$langSetup["restartbutton"] = "Перезапуск"; +$langSetup["optionwarn"] = "Опция %s в конфигурации PHP должна иметь значение %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Необходимый модуль PHP %s не найден."; // substitutes extension name + + +// application strings +$lang["title"] = "• μlogger •"; +$lang["private"] = "Вам необходимо имя пользователя и пароль чтобы посетить эту страницу"; +$lang["authfail"] = "Неправильное имя пользователя, или пароль"; +$lang["user"] = "Пользователь"; +$lang["track"] = "Трек"; +$lang["latest"] = "Последняя известная позиция"; +$lang["autoreload"] = "Автоматическое обновление"; +$lang["reload"] = "Обновить сейчас"; +$lang["export"] = "Экспортировать трек"; +$lang["chart"] = "График высот"; +$lang["close"] = "закрыть"; +$lang["time"] = "Время"; +$lang["speed"] = "Скорость"; +$lang["accuracy"] = "Точность"; +$lang["altitude"] = "Высота"; +$lang["ttime"] = "Общее время"; +$lang["aspeed"] = "Среднее время"; +$lang["tdistance"] = "Общая дистанция"; +$lang["pointof"] = "Точка %d из %d"; // e.g. Point 3 of 10 +$lang["summary"] = "Статистика поездки"; +$lang["suser"] = "выберите пользователя"; +$lang["logout"] = "Выход"; +$lang["login"] = "Войти"; +$lang["username"] = "Имя пользователя"; +$lang["password"] = "Пароль"; +$lang["language"] = "Язык"; +$lang["newinterval"] = "Введите значение нового интервала (в секундах)"; +$lang["api"] = "API карт"; +$lang["units"] = "Единицы измерения"; +$lang["metric"] = "Метрическая система единиц"; +$lang["imperial"] = "Английская система единиц"; +$lang["nautical"] = "Естественные системы единиц"; +$lang["adminmenu"] = "Администрирование"; +$lang["passwordrepeat"] = "Повторите пароль"; +$lang["passwordenter"] = "Введите пароль"; +$lang["usernameenter"] = "Введите имя пользователя"; +$lang["adduser"] = "Добавить пользователя"; +$lang["userexists"] = "Пользователь существует"; +$lang["cancel"] ="Отмена"; +$lang["submit"] = "Отправить"; +$lang["oldpassword"] = "Текущий пароль"; +$lang["newpassword"] = "Новый пароль"; +$lang["newpasswordrepeat"] = "Повторите новый пароль"; +$lang["changepass"] = "Изменить пароль"; +$lang["gps"] = "GPS"; +$lang["network"] = "Сеть"; +$lang["deluser"] = "Удалить пользователя"; +$lang["edituser"] = "Редактировать пользователя"; +$lang["servererror"] = "Серверная ошибка"; +$lang["allrequired"] = "Все поля необходимы для заполнения"; +$lang["passnotmatch"] = "Пароли не совпадают"; +$lang["actionsuccess"] = "Выполнено успешно"; +$lang["actionfailure"] = "Что-то пошло не так"; +$lang["userdelwarn"] = "Внимание!\n\nВы хотите безвозвратно удалить пользователя %s, вместе со всеми его треками и локациями.\n\nВы уверены?"; // substitutes user login +$lang["editinguser"] = "Вы редактируете пользователя %s"; // substitutes user login +$lang["selfeditwarn"] = "Вы не можете редактировать ваших собственных пользователей при помощи этого инструмента"; +$lang["apifailure"] = "Извините, не могу загрузить %s API"; // substitutes api name (gmaps or openlayers) +$lang["trackdelwarn"] = "Внимание!\n\nВы хотите безвозвратно удалить трек %s, вместе со всеми его локациями.\n\nВы уверены?"; // substitutes track name +$lang["editingtrack"] = "Вы редактируете трек %s"; // substitutes track name +$lang["deltrack"] = "Удалить трек"; +$lang["trackname"] = "Имя трека"; +$lang["edittrack"] = "Редактировать трек"; +$lang["passlenmin"] = "Длина пароля должна быть минимум %dсимволов."; // substitutes password minimum length +$lang["passrules_1"] = "Он должен содержать по меньшей мере один маленький символ, один большой символ"; +$lang["passrules_2"] = "Он должен содержать по меньшей мере один маленький символ, один большой символ и одну цифру"; +$lang["passrules_3"] = "Он должен содержать по меньшей мере один маленький символ, один большой символ, одну цифру и один специальный символ."; +$lang["owntrackswarn"] = "Вы можете редактировать только свои собственные треки"; +$lang["gmauthfailure"] = "Возможна проблема с ключём API от Google Maps."; +$lang["gmapilink"] = "Вы сможете найти больше информации о ключах API на справочной странице Google"; +$lang["import"] = "Импортировать трек"; +$lang["iuploadfailure"] = "Ошибка выгрузки"; +$lang["iparsefailure"] = "Ошибка анализа"; +$lang["idatafailure"] = "Импортированный трек не содержит данных"; +$lang["isizefailure"] = "Размер выгружаемого файла не может превышать %d байт "; // substitutes number of bytes +$lang["imultiple"] = " Уведомление, несколько треков импортированы (%d)"; // substitutes number of imported tracks +$lang["allusers"] = "Все пользователи"; +?> diff --git a/lang/zh.php b/lang/zh.php index 6c77838..302530d 100644 --- a/lang/zh.php +++ b/lang/zh.php @@ -43,6 +43,8 @@ $langSetup["scriptdesc"] = "這個腳本將會為ulogger建起其所需的數據 $langSetup["scriptdesc2"] = "執行完成後腳本會請您新建一個µlogger的賬戶,您需要為其設置用戶名和密碼。"; $langSetup["startbutton"] = "開始執行"; $langSetup["restartbutton"] = "重新啟動"; +$langSetup["optionwarn"] = "PHP configuration option %s must be set to %s."; // substitutes option name and value +$langSetup["extensionwarn"] = "Required PHP extension %s is not available."; // substitutes extension name // application strings