improve i18n

This commit is contained in:
mercury
2023-04-20 23:16:49 +04:00
parent 3463044471
commit aad0b4597a
2 changed files with 184 additions and 100 deletions
+2 -6
View File
@@ -112,11 +112,7 @@ class Bot
case preg_match('~^/menu (?P<type>addpeer) (?P<arg>(?:-)?\d+)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>wg) (?P<arg>(?:-)?\d+)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>client) (?P<arg>\d+(?:_(?:-)?\d+)?)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>pac)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>adguard)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>config)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>ss)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>lang)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>pac|adguard|config|ss|lang)$~', $this->input['callback'], $m):
case preg_match('~^/menu (?P<type>subzoneslist|reverselist|includelist|excludelist) (?P<arg>(?:-)?\d+)$~', $this->input['callback'], $m):
$this->menu(type: $m['type'] ?? false, arg: $m['arg'] ?? false);
break;
@@ -1749,7 +1745,7 @@ DNS-over-HTTPS with IP:
public function i18n(string $menu): string
{
return $this->i18n[$this->language][$menu] ?: 'no translate';
return $this->i18n[$menu][$this->language] ?: 'no translate';
}
public function menu($type = false, $arg = false, $return = false)
+182 -94
View File
@@ -1,100 +1,188 @@
<?php
$i = [
'en' => [
'wg_title' => 'Wireguard',
'sh_title' => 'Shadowsocks',
'ad_title' => 'AdGuard',
'config' => 'config',
'pac' => 'PAC',
'chat' => 'discussion group',
'back' => 'back',
'import' => 'import',
'export' => 'export',
'delete' => 'delete',
'add' => 'add',
'donate' => 'donate',
'admin' => 'admin',
'menu' => 'Menu',
'update status' => 'update status',
'add peer' => 'add peer',
'all traffic' => 'all traffic',
'subnet' => 'subnet',
'proxy ip' => 'proxy ip',
'rename' => 'rename',
'show QR' => 'show QR',
'download config' => 'download config',
'install domain' => 'install domain',
'renew SSL' => 'renew SSL',
'delete SSL' => 'delete SSL',
'Letsencrypt SSL' => 'Letsencrypt SSL',
'Self SSL' => 'Self SSL',
'change password' => 'change password',
'reset settings' => 'reset settings',
'add upstream' => 'add upstream',
'check DNS' => 'check DNS',
'update' => 'update',
'self list' => 'self list',
'reverse list' => 'reverse list',
'subzones' => 'subzones',
'check url' => 'check url',
'blacklist exclude' => 'blacklist exclude',
'lang' => 'language',
'adguard web' => 'web interface',
'domain explain' => 'Some clients require a valid certificate when connecting, such as windows 11 DoH or ShadowSocks Android (PAC url), this requires a domain',
'self list explain' => ' - domains that will work through a proxy',
'reverse list explain' => ' - domains that will work without a proxy, all others through a proxy',
'timer' => 'set timer',
'reset nginx' => 'reset nginx',
'set internal dns' => 'set internal dns',
'delete internal dns' => 'delete internal dns',
'wg_title' => [
'en' => 'Wireguard',
'ru' => 'Wireguard',
],
'ru' => [
'wg_title' => 'Wireguard',
'sh_title' => 'Shadowsocks',
'ad_title' => 'AdGuard',
'config' => 'настройки',
'pac' => 'PAC',
'chat' => 'чат поддержки',
'back' => 'назад',
'import' => 'импорт',
'export' => 'экспорт',
'delete' => 'удалить',
'add' => 'добавить',
'donate' => 'донат',
'admin' => 'админа',
'menu' => 'Меню',
'update status' => 'обновить статус',
'add peer' => 'добавить клиента',
'all traffic' => 'весь трафик',
'subnet' => 'подсеть',
'proxy ip' => 'айпи прокси',
'rename' => 'переименовать',
'show QR' => 'показать QR',
'download config' => 'скачать настройки',
'install domain' => 'установить домен',
'renew SSL' => 'обновить SSL',
'delete SSL' => 'удалить SSL',
'Letsencrypt SSL' => 'Letsencrypt SSL',
'Self SSL' => 'Собственный SSL',
'change password' => 'изменить пароль',
'reset settings' => 'сбросить настройки',
'add upstream' => 'добавить DNS',
'check DNS' => 'проверить DNS',
'update' => 'обновить',
'self list' => 'собственный список',
'reverse list' => 'обратный список',
'subzones' => 'поддомены',
'check url' => 'проверить домен',
'lang' => 'язык',
'blacklist exclude' => 'список исключений из блэклиста',
'adguard web' => 'вебморда адгварда',
'domain explain' => 'Некоторым клиентам требуется валидный сертификат при подключении, например Windows 11 DoH или ShadowSocks Android (URL-адрес PAC), для этого требуется домен',
'self list explain' => ' - домены, которые будут работать через прокси',
'reverse list explain' => ' - домены которые будут работать без прокси, все остальные через прокси',
'timer' => 'установить время действия',
'reset nginx' => 'сбросить nginx',
'set internal dns' => 'установить внутренний dns',
'delete internal dns' => 'удалить внутренний dns',
'sh_title' => [
'en' => 'Shadowsocks',
'ru' => 'Shadowsocks',
],
'ad_title' => [
'en' => 'AdGuard',
'ru' => 'AdGuard',
],
'config' => [
'en' => 'config',
'ru' => 'настройки',
],
'pac' => [
'en' => 'PAC',
'ru' => 'PAC',
],
'chat' => [
'en' => 'discussion group',
'ru' => 'чат поддержки',
],
'back' => [
'en' => 'back',
'ru' => 'назад',
],
'import' => [
'en' => 'import',
'ru' => 'импорт',
],
'export' => [
'en' => 'export',
'ru' => 'экспорт',
],
'delete' => [
'en' => 'delete',
'ru' => 'удалить',
],
'add' => [
'en' => 'add',
'ru' => 'добавить',
],
'donate' => [
'en' => 'donate',
'ru' => 'донат',
],
'admin' => [
'en' => 'admin',
'ru' => 'админа',
],
'menu' => [
'en' => 'Menu',
'ru' => 'Меню',
],
'update status' => [
'en' => 'update status',
'ru' => 'обновить статус',
],
'add peer' => [
'en' => 'add peer',
'ru' => 'добавить клиента',
],
'all traffic' => [
'en' => 'all traffic',
'ru' => 'весь трафик',
],
'subnet' => [
'en' => 'subnet',
'ru' => 'подсеть',
],
'proxy ip' => [
'en' => 'proxy ip',
'ru' => 'айпи прокси',
],
'rename' => [
'en' => 'rename',
'ru' => 'переименовать',
],
'show QR' => [
'en' => 'show QR',
'ru' => 'показать QR',
],
'download config' => [
'en' => 'download config',
'ru' => 'скачать настройки',
],
'install domain' => [
'en' => 'install domain',
'ru' => 'установить домен',
],
'renew SSL' => [
'en' => 'renew SSL',
'ru' => 'обновить SSL',
],
'delete SSL' => [
'en' => 'delete SSL',
'ru' => 'удалить SSL',
],
'Letsencrypt SSL' => [
'en' => 'Letsencrypt SSL',
'ru' => 'Letsencrypt SSL',
],
'Self SSL' => [
'en' => 'Self SSL',
'ru' => 'Собственный SSL',
],
'change password' => [
'en' => 'change password',
'ru' => 'изменить пароль',
],
'reset settings' => [
'en' => 'reset settings',
'ru' => 'сбросить настройки',
],
'add upstream' => [
'en' => 'add upstream',
'ru' => 'добавить DNS',
],
'check DNS' => [
'en' => 'check DNS',
'ru' => 'проверить DNS',
],
'update' => [
'en' => 'update',
'ru' => 'обновить',
],
'self list' => [
'en' => 'self list',
'ru' => 'собственный список',
],
'reverse list' => [
'en' => 'reverse list',
'ru' => 'обратный список',
],
'subzones' => [
'en' => 'subzones',
'ru' => 'поддомены',
],
'check url' => [
'en' => 'check url',
'ru' => 'проверить домен',
],
'blacklist exclude' => [
'en' => 'blacklist exclude',
'ru' => 'язык',
],
'lang' => [
'en' => 'language',
'ru' => 'список исключений из блэклиста',
],
'adguard web' => [
'en' => 'web interface',
'ru' => 'вебморда адгварда',
],
'domain explain' => [
'en' => 'Some clients require a valid certificate when connecting, such as windows 11 DoH or ShadowSocks Android (PAC url), this requires a domain',
'ru' => 'Некоторым клиентам требуется валидный сертификат при подключении, например Windows 11 DoH или ShadowSocks Android (URL-адрес PAC), для этого требуется домен',
],
'self list explain' => [
'en' => ' - domains that will work through a proxy',
'ru' => ' - домены, которые будут работать через прокси',
],
'reverse list explain' => [
'en' => ' - domains that will work without a proxy, all others through a proxy',
'ru' => ' - домены которые будут работать без прокси, все остальные через прокси',
],
'timer' => [
'en' => 'set timer',
'ru' => 'установить время действия',
],
'reset nginx' => [
'en' => 'reset nginx',
'ru' => 'сбросить nginx',
],
'set internal dns' => [
'en' => 'set internal dns',
'ru' => 'установить внутренний dns',
],
'delete internal dns' => [
'en' => 'delete internal dns',
'ru' => 'удалить внутренний dns',
],
];