From ab78185f0839f2e9024d397f1029b00898cfd212 Mon Sep 17 00:00:00 2001 From: "s.galanskiy" Date: Thu, 17 Jul 2025 10:35:48 +0500 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D1=80=D0=BE=D1=81=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=8F=D0=B7=D1=8B=D0=BA=D0=B0=20=D1=81=D0=B8?= =?UTF-8?q?=D1=81=D1=82=D0=B5=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRV/api/v1/settings.py | 36 ++++++++++++++++- SRV/locales/en/LC_MESSAGES/messages.mo | Bin 11515 -> 11747 bytes SRV/locales/en/LC_MESSAGES/messages.po | 52 +++++++++++++++---------- SRV/locales/messages.pot | 27 ++++++++----- SRV/locales/ru/LC_MESSAGES/messages.mo | Bin 14247 -> 14575 bytes SRV/locales/ru/LC_MESSAGES/messages.po | 45 ++++++++++----------- 6 files changed, 106 insertions(+), 54 deletions(-) diff --git a/SRV/api/v1/settings.py b/SRV/api/v1/settings.py index a6d9f23..63f6b36 100644 --- a/SRV/api/v1/settings.py +++ b/SRV/api/v1/settings.py @@ -1,5 +1,6 @@ import os import logging +import subprocess from typing import Optional from fastapi import APIRouter, HTTPException, Depends, Response, Request, Body from starlette.responses import FileResponse @@ -94,7 +95,6 @@ def clear_all_data(translations: Translations = Depends(get_translations())): logger.error(f"Error clearing all data: {str(e)}") raise HTTPException(status_code=500, detail=translations.gettext("Ошибка очистки: {error}").format(error=str(e))) -DEVICE_PATH = "storage/devices/devices.json" WIFI_PATH = "storage/wifi/wifi.json" @router.post("/export_devices", response_class=FileResponse) @@ -174,4 +174,36 @@ def set_language(locale: str, response: Response, translations: Translations = D detail=translations.gettext("Язык '{locale}' не поддерживается (нет файлов переводов).").format(locale=locale) ) response.set_cookie(key="locale", value=locale, path="/", httponly=True) - return {"message": translations.gettext("Язык успешно установлен: {locale}").format(locale=locale)} \ No newline at end of file + return {"message": translations.gettext("Язык успешно установлен: {locale}").format(locale=locale)} + +@router.get("/get_system_language") +async def get_system_language(request: Request, translations: Translations = Depends(get_translations())): + """Выводит текущий язык, установленный в системе на основе locale. + + Выполняет команду 'locale' в системе и извлекает параметры LANG + + Args: + request (Request): Объект запроса для доступа к параметрам. + translations: Объект переводов текущего языка. + + Returns: + dict: Словарь с текущим языком системы. + + Raises: + HTTPException: Если не удалось извлечь системный язык (status_code=500). + """ + try: + result = subprocess.run(['locale'], capture_output=True, text=True, check=True) + output = result.stdout + lang = next((line.split('=')[1].strip() for line in output.splitlines() if line.startswith('LANG=')), None) + if lang: + return {"language": lang} + else: + logger.warning(f"No locale found: {output}") + return {"language": 'unknown'} + except subprocess.CalledProcessError as e: + logger.error(f"Error executing locale command: {e}") + raise HTTPException(status_code=500, detail=translations.gettext("Не удалось определить язык в системе")) + except Exception as e: + logger.error(f"Unexpected error getting system language: {str(e)}") + raise HTTPException(status_code=500, detail=translations.gettext("Ошибка при определении языка в системе {error}").format(error=str(e))) \ No newline at end of file diff --git a/SRV/locales/en/LC_MESSAGES/messages.mo b/SRV/locales/en/LC_MESSAGES/messages.mo index 1bdfb80613c97a46b02d3c64f3c327791af0ebd7..01b985afc2d7b9a322979d01aefa11970171f8f6 100644 GIT binary patch delta 2021 zcmZwHe@xV69Ki7pa0-$_5<$qXFW!NOqWn^mpqO%_3?|H(bLxu4-FdS+wgacFwJ)GG z9d5X8u57cEe{{Ju;krR8*^lLxMt*P8=3i`NE1Yi8R%>O$-XFhTYqi)NujhHb&-eK} z&*yobySM$;4s$BYbxio%!?%EMZ;ICb`TKglNIKO?Ov9U)jMG?(-=n^go@$%nn1wFd za~$(=6?Fr7MK+v^i!fK*6V+6I|7`9XYcz z=U9VlGwgstY@r z1oLqQb>glp(v8iifp#E6$ose(&!HRh9B9il;S6rZ!d!bHp$4lmG2BJWC#Ha2PA` zhGPm>LQ`Ii?bwMLXcV>I3~s}mLXj6SjO+0mB!;9F+3jxB3>|Phk3&f!KbsUd=+bY9 z%)`T&j6=8--@+7(JAUjqfiBuVbG(eil&h%M>o#%`WENNAA6SgbN<;`LEvVPm^i%Lq zID*=71T_;=$VV14iz=)|?bn6+{4kc`Md$e~$87dVGvjsa!R6FX;e!bx$3t!-TWQLD z3Yy|NM%Nj3A=#IM$a#^I$ac#Za?r&>-NWyY<02U>LnmH_3?*C8zIJvEKhBETf!;dejatJNDrs>L*Yqau#)~K1X896?EZG*n+-p|B%`SDZeS_#WsU+L@z82uD`sN|H6sJ4D;vgDco}Q)SJcD1oY5EJ0n}4|6m=pO zP*-{lHT8FpMau#@>DI1BQ#*7};I~0S$jy;H)D^soI#3*SC12r__ycMNirELX8ToOO zAnG{#QCB*M+W$k;4E~5ZfjKnLvy#iBd+22Y8B=zluJ{n@0B2AS(^b?%_`B0yL8At2 z!v@@mI`DDSOkJvseK7x2TBUU<(Pzc2kN94&#uEdHBSvD#8cPgX=M8JrNc7X#pBUir zMJpaXnvoORlzA|<=97QD7q=#?aclhVH?4F3^KMCQVQezzdTQ!Aqq?fTwkmq2sN`We zW)=0g=5_h}!En@c7sUK-Z&F^Duh$m|1;ak0=hdEGU&wf+GaT648SuqUdS+6hgXN{` wTDt??dwUIEB+?xbul_e4z7-4y{`+3N@!Er)ugAV9Z%&G)S9}}0TalUk7mi9eRsaA1 delta 1841 zcmYM!eN5F=9LMo5aCtByH@B=T#g9*ulBDZ7;K5|Pl*C<%6;L6=xw{b7FwXvJX zA3AHzT^)b5>Dv0E$yDy#3b!5{o14~fI)+ZemVd>JT648#X73NbU+Zp{*Y}+ByXSn* z_naU1UVqq?nDzTk8lMQ?m3(_M)cXH(Cd=#znq!!QUtl_ZiW%#!8Xii)pmRt_1q|i@F#4Lzjo1GF!r zp1+TJzT#=O^j)ZmeTE-k23a-Y2xAB$~dshonSjY zPkRX0;ziVRbEq9U%gr|8QS8J?)Dh+vo7G~_vmd)?pTKoEUrha08kg%GO3!$^V&8z-Q; zb{)AFHjf;uWwJUK*-BAoSdW^h8+a1(`kC7>?iY%4r zi~Mo$ATDKn8zoSNXOPX?cc@$b8#Z7WvvlKL)WYXHCs8}Ri7NF2)Ixr;;IwQ5YWy|y z<3Z%bu%oENKgEP5{E9$3xQ?y(D{AMpyhCy~^3Tf#Q4@`zb~uXdIDx9%V^ji#oR@<^ z)RFZdLpF%o=qc3izp1tL3zz2}9lBKc9IOU5qZaJLAjVM>pGQ?_W=-l!*6Ezo*~N#m zQ^Q3!va_3==NdLPv?ROB%KwW~BV{pPR_xurw\n" "Language: en\n" "Language-Team: en \n" @@ -74,6 +74,7 @@ msgid "Не удалось получить сетевые данные" msgstr "Failed to retrieve network data" #: api/v1/network.py:182 +#, python-brace-format msgid "" "Отсутствуют обязательные поля: container_id, container_x, container_y, " "isOpen" @@ -96,37 +97,37 @@ msgstr "Failed to update container position: {error}" msgid "Не удалось получить имя хоста" msgstr "Failed to retrieve hostname" -#: api/v1/settings.py:38 +#: api/v1/settings.py:39 #, python-brace-format msgid "Данные узлов подсети {subnet} успешно очищены" msgstr "Subnet node data for {subnet} successfully cleared" -#: api/v1/settings.py:40 +#: api/v1/settings.py:41 msgid "Данные всех подсетей успешно очищены" msgstr "All subnet data successfully cleared" -#: api/v1/settings.py:42 +#: api/v1/settings.py:43 msgid "Не удалось очистить данные узлов подсети" msgstr "Failed to clear subnet node data" -#: api/v1/settings.py:45 api/v1/settings.py:70 api/v1/settings.py:95 +#: api/v1/settings.py:46 api/v1/settings.py:71 api/v1/settings.py:96 #, python-brace-format msgid "Ошибка очистки: {error}" msgstr "Clear error: {error}" -#: api/v1/settings.py:65 +#: api/v1/settings.py:66 msgid "Данные точек доступа Wi-Fi успешно очищены" msgstr "Wi-Fi access point data successfully cleared" -#: api/v1/settings.py:67 +#: api/v1/settings.py:68 msgid "Не удалось очистить данные точек доступа Wi-Fi" msgstr "Failed to clear Wi-Fi access point data" -#: api/v1/settings.py:90 +#: api/v1/settings.py:91 msgid "Все сетевые данные успешно очищены" msgstr "All network data successfully cleared" -#: api/v1/settings.py:92 +#: api/v1/settings.py:93 msgid "Не удалось очистить все сетевые данные" msgstr "Failed to clear all network data" @@ -154,6 +155,15 @@ msgstr "Language '{locale}' is not supported (no translation files)." msgid "Язык успешно установлен: {locale}" msgstr "Language successfully set: {locale}" +#: api/v1/settings.py:206 +msgid "Не удалось определить язык в системе" +msgstr "Failed to determine system language" + +#: api/v1/settings.py:209 +#, python-brace-format +msgid "Ошибка при определении языка в системе {error}" +msgstr "Error determining system language: {error}" + #: api/v1/subnet.py:44 #, python-brace-format msgid "Ошибка сканирования подсети: {error}" @@ -174,9 +184,9 @@ msgstr "Device with MAC {mac} not found" msgid "Заметка для устройства с MAC {mac} уже существует" msgstr "Note for device with MAC {mac} already exists" -#: api/v1/subnet.py:96 api/v1/subnet.py:130 api/v1/subnet.py:163 \ -#: api/v1/subnet.py:197 api/v1/subnet.py:231 api/v1/subnet.py:264 \ -#: services/wifi_service.py:319 services/wifi_service.py:337 \ +#: api/v1/subnet.py:96 api/v1/subnet.py:130 api/v1/subnet.py:163 +#: api/v1/subnet.py:197 api/v1/subnet.py:231 api/v1/subnet.py:264 +#: services/wifi_service.py:319 services/wifi_service.py:337 #: services/wifi_service.py:355 #, python-brace-format msgid "Внутренняя ошибка сервера: {error}" @@ -217,7 +227,7 @@ msgstr "Note deleted for device {mac}" msgid "Ошибка удаления заметки: {error}" msgstr "Error deleting note: {error}" -#: api/v1/subnet.py:193 api/v1/subnet.py:227 api/v1/subnet.py:260 \ +#: api/v1/subnet.py:193 api/v1/subnet.py:227 api/v1/subnet.py:260 #: services/wifi_service.py:327 services/wifi_service.py:345 #, python-brace-format msgid "Сеть с SSID {ssid} не найдена" @@ -233,7 +243,7 @@ msgstr "Note for network with SSID {ssid} already exists" msgid "Заметка '{note}' добавлена для сети с SSID {ssid}" msgstr "Note '{note}' added for network with SSID {ssid}" -#: api/v1/subnet.py:229 api/v1/subnet.py:262 services/wifi_service.py:330 \ +#: api/v1/subnet.py:229 api/v1/subnet.py:262 services/wifi_service.py:330 #: services/wifi_service.py:348 #, python-brace-format msgid "Заметка для сети с SSID {ssid} не существует" @@ -280,7 +290,7 @@ msgstr "Wi-Fi status check error: {error}" #: api/v1/websocket.py:145 msgid "Ошибка: Ключ 'activation' отсутствует в полученных данных сети" -msgstr "Error: 'activation' key is missing in received network data" +msgstr "Error: 'activation' key missing in received network data" #: services/arp_service.py:102 msgid "Доступные устройства в сети:" @@ -324,9 +334,9 @@ msgstr "Successfully logged out" #: services/auth_service.py:148 msgid "Ошибка при выходе из системы" -msgstr "Error during logout" +msgstr "Logout error" -#: services/connect_service.py:70 services/connect_service.py:117 \ +#: services/connect_service.py:70 services/connect_service.py:117 #: services/connect_service.py:154 services/wifi_service.py:227 msgid "Wi-Fi-интерфейс не доступен" msgstr "Wi-Fi interface not available" @@ -334,7 +344,7 @@ msgstr "Wi-Fi interface not available" #: services/connect_service.py:74 #, python-brace-format msgid "Сеть с SSID {ssid} не найдена в списке доступных сетей" -msgstr "Network with SSID {ssid} not found in the list of available networks" +msgstr "Network with SSID {ssid} not found in available networks" #: services/connect_service.py:81 services/connect_service.py:92 #, python-brace-format @@ -346,7 +356,7 @@ msgstr "Connection error to {ssid}: Incorrect password" msgid "" "Ошибка подключения к {ssid}: Сеть с SSID {ssid} недоступна или неверно " "указана" -msgstr "Connection error to {ssid}: Network with SSID {ssid} is unavailable or incorrectly specified" +msgstr "Connection error to {ssid}: Network with SSID {ssid} unavailable or incorrectly specified" #: services/connect_service.py:85 services/connect_service.py:95 #, python-brace-format @@ -491,7 +501,7 @@ msgstr "5 GHz" #: services/wifi_service.py:165 msgid "Интерфейс не определён" -msgstr "Interface not specified" +msgstr "Interface not defined" #: services/wifi_service.py:215 msgid "Таймаут при выполнении iw scan" diff --git a/SRV/locales/messages.pot b/SRV/locales/messages.pot index d30c15c..be111b9 100644 --- a/SRV/locales/messages.pot +++ b/SRV/locales/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-07-16 13:39+0500\n" +"POT-Creation-Date: 2025-07-17 10:30+0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -95,37 +95,37 @@ msgstr "" msgid "Не удалось получить имя хоста" msgstr "" -#: api/v1/settings.py:38 +#: api/v1/settings.py:39 #, python-brace-format msgid "Данные узлов подсети {subnet} успешно очищены" msgstr "" -#: api/v1/settings.py:40 +#: api/v1/settings.py:41 msgid "Данные всех подсетей успешно очищены" msgstr "" -#: api/v1/settings.py:42 +#: api/v1/settings.py:43 msgid "Не удалось очистить данные узлов подсети" msgstr "" -#: api/v1/settings.py:45 api/v1/settings.py:70 api/v1/settings.py:95 +#: api/v1/settings.py:46 api/v1/settings.py:71 api/v1/settings.py:96 #, python-brace-format msgid "Ошибка очистки: {error}" msgstr "" -#: api/v1/settings.py:65 +#: api/v1/settings.py:66 msgid "Данные точек доступа Wi-Fi успешно очищены" msgstr "" -#: api/v1/settings.py:67 +#: api/v1/settings.py:68 msgid "Не удалось очистить данные точек доступа Wi-Fi" msgstr "" -#: api/v1/settings.py:90 +#: api/v1/settings.py:91 msgid "Все сетевые данные успешно очищены" msgstr "" -#: api/v1/settings.py:92 +#: api/v1/settings.py:93 msgid "Не удалось очистить все сетевые данные" msgstr "" @@ -153,6 +153,15 @@ msgstr "" msgid "Язык успешно установлен: {locale}" msgstr "" +#: api/v1/settings.py:206 +msgid "Не удалось определить язык в системе" +msgstr "" + +#: api/v1/settings.py:209 +#, python-brace-format +msgid "Ошибка при определении языка в системе {error}" +msgstr "" + #: api/v1/subnet.py:44 #, python-brace-format msgid "Ошибка сканирования подсети: {error}" diff --git a/SRV/locales/ru/LC_MESSAGES/messages.mo b/SRV/locales/ru/LC_MESSAGES/messages.mo index 05cd8e759b03ce74a47b06baa69e682ae151ff9c..b11e5381d35cb888bedf93ebe7cc3163ce01d78e 100644 GIT binary patch delta 2024 zcmc)JduY{V9LMqRF6wto27kH|+i4`Ben{-+{yHx&EH#`99D0 z=#C#AjbF~q+-Ll@@h{>3M22er{LW^XWm6r;AYQ_Byo$HsH>fGu0cVbHE@sl6?^}#Z zsE3d#)`c_7;$S{fd}d+=Rcfj?suBdpqrkDpeCxc(-$!355uK8|hb#~Q59 zaSJ|#9n?p#4{u-#_RV(v2e60r?J5PGympQ|VI1qJpT;Pr%{5zv%~*wlsQwWw#!1x1 zGjjgh5Bgh<}uZgEVM?%h-(Nx4KZra4Gd8sGVOz zedu>=!bqWeR69`PUPqnu0ybb%k=xKSs4M*h7vZ#TNip%?K*Qa{u?COeV*J84gOpIn zBiM}(q82)a8aIjSF~8Jo6F!0~@H1o$3zoU|a#V!&_@2No)69O1Q{X|`nUG7bi%LdvPt^k9uQoqc->xMloJB&xL*`YTzj9 z)hgZ!btfuq_Mq-|+^-k$094dbTiAUs?!%S%9qN%*RJf~%;YQ{EUJ5Zf zrmzwFZg)G}i|obDV4M0;S5&vaEw~l6(IM=^Kd=RRD_#G7)JCqLP99n44)`qUDn7-i z^8W^fRWw9-8M^B@YQPZk3~U0m^YlAhdNrdK+JH*0gE)ZiA;GZ%9)?2P==&t<`$MR= zGlly8eC}%v>svpCR(umR@OvbRR>^KOp%XRXIc&$1Na!qB?b2%t>Z&HN3yUM}AlooX z{Z-WWzrtn=6GlaPGsd;RAqv|0Mbw9WMWt6&t$S44QR7}io%9?wU?YRIp{I}_+Q&$+ zY|6KYNy@I($S3U(a(FxMn^sTqa2TuNc-^=O>9b+fzzI}(tvVZpDftnBhHFwlI<&Ak`f6w-Y|6_i*pfow2e<2W97K&6i)K(|nDhvNr PPI_hE&iG&Uvor7~1R`5% delta 1778 zcmYMzTWHir6vy$ShHShWwXViXE^fRe8jVRd>?YRLXq(FhwTU%>fR}2Bf~3`lK1kR= zBibsK5{oEk^`Q!-!IGuk5xjt)LZmMeM6H5^ima%ph*kXloDr97K67U0|DQ8wW}bX^ zyghMuY}&8JXA|Ekd^ZeH^y%|wy4f(o9?ZbgI2bQtK3+jR^2nR=KEpKnUwYqQ5wQi# zXxcm+YL>7tjaoWlSckhYg10b+nasKrze0`MkM;NfOL0DLslkmH#}hvO-^X8&{g?E2 zqsHCFm6$)=tbzIMdm5E=T*pP2F~Y0>tFZ;QVJqIm3M?P#65NJ)#67r7zvBX&Fv?9> zgZ0F};3~Z5`^!eV1Uj&e`K^yeElwU|7RFYL;UWAS@8Ue1n(2P8$H~N9sDzK;1pF7P z@D=iiRg5)j!#GaIzfqO#_l_G!{WU>7jWXPWO5hTzRIgE`uNv#LS-D9=w48b3yC|h2+yI$ zJwmN8XOdYIf5bRmL2Y4XmRTWIdfTv>cpomnR2KE0OCy(h%H^m`J8%W|peB0fe=p^V ztR`NMYw#>aFl#DbY((|9V;K9q>C-6tAQpj~KMUr#+mx4}F_?}*)O9LCU8hEGleY!a z=wIvIh^oY9)O9+59C$l|I!k|G9lk&%xH#99emko4=TYMlgYw)djidJJAZqXXP^Fy2 zJ}7QQ#ebo$(_7!aEaXn}&)7i!eXPVXR-?nY6$`KzTksC*HbrNA*z$xOrJ)S(Aah!9 zrn^p2)E;%BCQPEP(;HlcHM3m*Z@7|p0JY-CY`3xr{(X#OqMk>37s&JBcjbvgf$OtGpek2~MHT%u7@Pb2wP4;5Vq!_n^i- z!w~aZF&n7|zD7N;2jh4dRkAUp+lgCHTa-erVETNwvIf+P_u&%k#|oTM?B3giN_a2o z`CeRz1DIeA%csstpb@pgpD>EgQHd0lxINsCEZ&ZJ|G{SBcgRp{;_WQTc6-mD5*@%5 z7-SO7)5brIJ6vYvAFk64I@Zt;V);4?U8w7H0oC7+{8^;j`E7afTKdt94UcImIQ>l1O(;cJ9Y^vMc-H&`-nO1G^W`*#H0l diff --git a/SRV/locales/ru/LC_MESSAGES/messages.po b/SRV/locales/ru/LC_MESSAGES/messages.po index ad43a1a..45434ba 100644 --- a/SRV/locales/ru/LC_MESSAGES/messages.po +++ b/SRV/locales/ru/LC_MESSAGES/messages.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-07-16 13:39+0500\n" -"PO-Revision-Date: 2025-07-16 13:39+0500\n" +"POT-Creation-Date: 2025-07-17 10:30+0500\n" +"PO-Revision-Date: 2025-07-17 10:30+0500\n" "Last-Translator: FULL NAME \n" "Language: ru\n" "Language-Team: ru \n" @@ -75,12 +75,8 @@ msgid "Не удалось получить сетевые данные" msgstr "Не удалось получить сетевые данные" #: api/v1/network.py:182 -msgid "" -"Отсутствуют обязательные поля: container_id, container_x, container_y, " -"isOpen" -msgstr "" -"Отсутствуют обязательные поля: container_id, container_x, container_y, " -"isOpen" +msgid "Отсутствуют обязательные поля: container_id, container_x, container_y, isOpen" +msgstr "Отсутствуют обязательные поля: container_id, container_x, container_y, isOpen" #: api/v1/network.py:194 msgid "Неверный тип данных в запросе" @@ -99,37 +95,37 @@ msgstr "Не удалось обновить положение контейне msgid "Не удалось получить имя хоста" msgstr "Не удалось получить имя хоста" -#: api/v1/settings.py:38 +#: api/v1/settings.py:39 #, python-brace-format msgid "Данные узлов подсети {subnet} успешно очищены" msgstr "Данные узлов подсети {subnet} успешно очищены" -#: api/v1/settings.py:40 +#: api/v1/settings.py:41 msgid "Данные всех подсетей успешно очищены" msgstr "Данные всех подсетей успешно очищены" -#: api/v1/settings.py:42 +#: api/v1/settings.py:43 msgid "Не удалось очистить данные узлов подсети" msgstr "Не удалось очистить данные узлов подсети" -#: api/v1/settings.py:45 api/v1/settings.py:70 api/v1/settings.py:95 +#: api/v1/settings.py:46 api/v1/settings.py:71 api/v1/settings.py:96 #, python-brace-format msgid "Ошибка очистки: {error}" msgstr "Ошибка очистки: {error}" -#: api/v1/settings.py:65 +#: api/v1/settings.py:66 msgid "Данные точек доступа Wi-Fi успешно очищены" msgstr "Данные точек доступа Wi-Fi успешно очищены" -#: api/v1/settings.py:67 +#: api/v1/settings.py:68 msgid "Не удалось очистить данные точек доступа Wi-Fi" msgstr "Не удалось очистить данные точек доступа Wi-Fi" -#: api/v1/settings.py:90 +#: api/v1/settings.py:91 msgid "Все сетевые данные успешно очищены" msgstr "Все сетевые данные успешно очищены" -#: api/v1/settings.py:92 +#: api/v1/settings.py:93 msgid "Не удалось очистить все сетевые данные" msgstr "Не удалось очистить все сетевые данные" @@ -157,6 +153,15 @@ msgstr "Язык '{locale}' не поддерживается (нет файло msgid "Язык успешно установлен: {locale}" msgstr "Язык успешно установлен: {locale}" +#: api/v1/settings.py:206 +msgid "Не удалось определить язык в системе" +msgstr "Не удалось определить язык в системе" + +#: api/v1/settings.py:209 +#, python-brace-format +msgid "Ошибка при определении языка в системе {error}" +msgstr "Ошибка при определении языка в системе {error}" + #: api/v1/subnet.py:44 #, python-brace-format msgid "Ошибка сканирования подсети: {error}" @@ -346,12 +351,8 @@ msgstr "Ошибка подключения к {ssid}: Неверный паро #: services/connect_service.py:83 services/connect_service.py:94 #, python-brace-format -msgid "" -"Ошибка подключения к {ssid}: Сеть с SSID {ssid} недоступна или неверно " -"указана" -msgstr "" -"Ошибка подключения к {ssid}: Сеть с SSID {ssid} недоступна или неверно " -"указана" +msgid "Ошибка подключения к {ssid}: Сеть с SSID {ssid} недоступна или неверно указана" +msgstr "Ошибка подключения к {ssid}: Сеть с SSID {ssid} недоступна или неверно указана" #: services/connect_service.py:85 services/connect_service.py:95 #, python-brace-format