hiddifypanel 9.0.0.dev82__py3-none-any.whl → 9.0.0.dev92__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. hiddifypanel/VERSION +1 -1
  2. hiddifypanel/VERSION.py +2 -2
  3. hiddifypanel/base.py +2 -2
  4. hiddifypanel/hutils/encode.py +5 -0
  5. hiddifypanel/models/proxy.py +4 -0
  6. hiddifypanel/models/user.py +2 -1
  7. hiddifypanel/models/utils.py +0 -2
  8. hiddifypanel/panel/admin/AdminstratorAdmin.py +1 -0
  9. hiddifypanel/panel/admin/DomainAdmin.py +3 -3
  10. hiddifypanel/panel/admin/ProxyAdmin.py +8 -2
  11. hiddifypanel/panel/admin/SettingAdmin.py +5 -2
  12. hiddifypanel/panel/admin/UserAdmin.py +36 -29
  13. hiddifypanel/panel/admin/adminlte.py +2 -2
  14. hiddifypanel/panel/admin/fix_flaskadmin_babel.py +1 -2
  15. hiddifypanel/panel/admin/templates/configfake.html +1 -0
  16. hiddifypanel/panel/commercial/ProxyDetailsAdmin.py +14 -2
  17. hiddifypanel/panel/commercial/restapi/v2/user/info_api.py +3 -2
  18. hiddifypanel/panel/hiddify.py +1 -1
  19. hiddifypanel/panel/init_db.py +2 -2
  20. hiddifypanel/panel/user/link_maker.py +2 -2
  21. hiddifypanel/panel/user/user.py +1 -1
  22. hiddifypanel/static/js/custom-rtl.js +8 -4
  23. hiddifypanel/static/js/custom.js +1 -1
  24. hiddifypanel/static/plugins/bootstrap4-editable/js/bootstrap-editable.js +3106 -3106
  25. hiddifypanel/static/plugins/bootstrap4-editable/js/bootstrap-editable.min.js +15 -3
  26. hiddifypanel/templates/admin-layout.html +2 -2
  27. hiddifypanel/templates/flaskadmin-layout.html +104 -80
  28. hiddifypanel/templates/master.html +4 -1
  29. hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
  30. hiddifypanel/translations/en/LC_MESSAGES/messages.po +8 -6
  31. hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
  32. hiddifypanel/translations/fa/LC_MESSAGES/messages.po +7 -3
  33. hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
  34. hiddifypanel/translations/pt/LC_MESSAGES/messages.po +40 -28
  35. hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
  36. hiddifypanel/translations/ru/LC_MESSAGES/messages.po +41 -27
  37. hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
  38. hiddifypanel/translations/zh/LC_MESSAGES/messages.po +22 -12
  39. hiddifypanel/translations.i18n/en.json +3 -1
  40. hiddifypanel/translations.i18n/fa.json +3 -1
  41. hiddifypanel/translations.i18n/pt.json +30 -28
  42. hiddifypanel/translations.i18n/ru.json +30 -28
  43. hiddifypanel/translations.i18n/zh.json +14 -12
  44. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/METADATA +1 -1
  45. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/RECORD +49 -49
  46. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/LICENSE.md +0 -0
  47. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/WHEEL +0 -0
  48. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/entry_points.txt +0 -0
  49. {hiddifypanel-9.0.0.dev82.dist-info → hiddifypanel-9.0.0.dev92.dist-info}/top_level.txt +0 -0
@@ -30,7 +30,7 @@
30
30
 
31
31
  {% block tail_js %}
32
32
  {{super()}}
33
- <script src="{{ static_url_for( filename='plugins/bootstrap4-editable/js/bootstrap-editable.min.js' ) }}"></script>
33
+
34
34
  {% if admin_view.extra_js %}
35
35
  {% for js_url in admin_view.extra_js %}
36
36
  <script src1="{{ js_url }}" type="text/javascript"></script>
@@ -47,102 +47,125 @@
47
47
  <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@ttskch/select2-bootstrap4-theme@x.x.x/dist/select2-bootstrap4.min.css">
48
48
  <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script> -->
49
49
 
50
+ {%endblock%}
51
+ {%block last%}
52
+ <script src="{{ static_url_for( filename='plugins/bootstrap4-editable/js/bootstrap-editable.min.js' ) }}"></script>
50
53
  <script>
51
- $("#show_domains").multipleSelect({ width: '100%' });
52
-
53
- if ($("#domain").length > 0) {
54
- var selectElement = document.getElementById("mode");
55
- var groups = [
56
- { label: `{{_("Direct")}}`, options: ["direct", "old_xtls_direct"] },
57
- { label: `{{_("Panel Link")}}`, options: ["sub_link_only"] },
58
- { label: `{{_("Bridge Servers")}}`, options: ["cdn", "auto_cdn_ip", "worker", "relay"] },
59
- { label: `{{_("Fake")}}`, options: ["reality", "fake"] }
60
- ];
61
-
62
- var options = Array.from($("#mode option"));
63
- // Remove existing options
64
- while (selectElement.firstChild) {
65
- selectElement.removeChild(selectElement.firstChild);
66
- }
67
- for (var i = 0; i < groups.length; i++) {
68
- var group = groups[i];
69
- var optgroup = document.createElement("optgroup");
70
- optgroup.label = group.label;
71
-
72
-
73
- for (var j = 0; j < group.options.length; j++) {
74
- for (var j = 0; j < options.length; j++) {
75
- var option = options[j];
76
- if (group.options.includes(option.value)) {
77
- optgroup.appendChild(option.cloneNode(true));
54
+
55
+ function update_hiddify_ui() {
56
+
57
+ $("#show_domains").multipleSelect({ width: '100%' });
58
+
59
+ if ($("#domain").length > 0) {
60
+ var selectElement = document.getElementById("mode");
61
+ var groups = [
62
+ { label: `{{_("Direct")}}`, options: ["direct", "old_xtls_direct"] },
63
+ { label: `{{_("Panel Link")}}`, options: ["sub_link_only"] },
64
+ { label: `{{_("Bridge Servers")}}`, options: ["cdn", "auto_cdn_ip", "worker", "relay"] },
65
+ { label: `{{_("Fake")}}`, options: ["reality", "fake"] }
66
+ ];
67
+
68
+ var options = Array.from($("#mode option"));
69
+ // Remove existing options
70
+ while (selectElement.firstChild) {
71
+ selectElement.removeChild(selectElement.firstChild);
72
+ }
73
+ for (var i = 0; i < groups.length; i++) {
74
+ var group = groups[i];
75
+ var optgroup = document.createElement("optgroup");
76
+ optgroup.label = group.label;
77
+
78
+
79
+ for (var j = 0; j < group.options.length; j++) {
80
+ for (var j = 0; j < options.length; j++) {
81
+ var option = options[j];
82
+ if (group.options.includes(option.value)) {
83
+ optgroup.appendChild(option.cloneNode(true));
84
+ }
78
85
  }
79
86
  }
80
- }
81
87
 
82
- selectElement.appendChild(optgroup);
88
+ selectElement.appendChild(optgroup);
89
+ }
83
90
  }
84
- }
85
- $('.form-group:not(:has(.custom-switch)) > input[type="checkbox"]').each(function () {
86
- var parent = $(this).closest('.form-group');
87
- var label = parent.find('label').hide().text();
88
- $(this).wrap('<div class="custom-control custom-switch"></div>');
89
- $(this).addClass('custom-control-input');
90
- $(this).parent('.custom-control').append('<label class="custom-control-label" for="' + $(this).attr('id') + '">' + label + '</label>');
91
- });
92
- function hide_domain_elements() {
93
- console.log("test")
94
- if ($("#mode").val() == "sub_link_only") {
95
- $("#cdn_ip").parent().hide();
96
- $("#cdn_ip").val("")
97
- //$("#mode").parent().hide();
98
- $("#show_domains").parent().show()
99
- $("#servernames").parent().hide();
100
- $("#domain").parent().find(".control-label").html(`{{_('domain.domain')}}`)
101
- $("#domain").parent().find(".help-block").html(`{{_('domain.description')}}`)
102
-
103
- $("#grpc").parent().parent().hide()
104
- } else {
105
- $("#cdn_ip").parent().show();
106
- //$("#mode").parent().show();
107
- $("#show_domains").parent().hide()
108
-
109
-
110
- if ($("#mode").val() == 'direct') {
91
+ $('.form-group:not(:has(.custom-switch)) > input[type="checkbox"]').each(function () {
92
+ var parent = $(this).closest('.form-group');
93
+ var label = parent.find('label').hide().text();
94
+ $(this).wrap('<div class="custom-control custom-switch"></div>');
95
+ $(this).addClass('custom-control-input');
96
+ $(this).parent('.custom-control').append('<label class="custom-control-label" for="' + $(this).attr('id') + '">' + label + '</label>');
97
+ });
98
+ function hide_domain_elements() {
99
+ console.log("test")
100
+ if ($("#mode").val() == "sub_link_only") {
111
101
  $("#cdn_ip").parent().hide();
102
+ $("#cdn_ip").val("")
103
+ //$("#mode").parent().hide();
104
+ $("#show_domains").parent().show()
105
+ $("#servernames").parent().hide();
106
+ $("#domain").parent().find(".control-label").html(`{{_('domain.domain')}}`)
107
+ $("#domain").parent().find(".help-block").html(`{{_('domain.description')}}`)
108
+
109
+ $("#grpc").parent().parent().hide()
112
110
  } else {
113
111
  $("#cdn_ip").parent().show();
114
- }
115
- {% autoescape false %}
116
- if ($("#mode").val() == 'reality') {
112
+ //$("#mode").parent().show();
113
+ $("#show_domains").parent().hide()
117
114
 
118
- $("#servernames").parent().hide();
119
- $("#servernames").parent().find(".control-label").html(`{{_('config.reality_server_names.label')}}`)
120
- $("#servernames").parent().find(".help-block").html(`{{_('config.reality_server_names.description')}}`)
121
115
 
122
- $("#grpc").parent().parent().show()
123
- $("#domain").parent().find(".control-label").html(`{{_('config.reality_fallback_domain.label')}}`)
124
- $("#domain").parent().find(".help-block").html(`{{_('config.reality_fallback_domain.description')+("<a target='_blank' href='" +hurl_for('admin.Actions:get_some_random_reality_friendly_domain',test_domain=domain)+"'>"+_('Example Domains')+"</a>")}}`)
125
- } else {
126
- if ($("#mode").val() == 'cdn' || $("#mode").val() == 'auto_cdn_ip') {
127
- $("#servernames").parent().show();
128
- $("#servernames").parent().find(".control-label").html(`{{_('domain.domain_fronting.label')}}`)
129
- $("#servernames").parent().find(".help-block").html(`{{_('domain.domain_fronting.description')}}`)
116
+ if ($("#mode").val() == 'direct') {
117
+ $("#cdn_ip").parent().hide();
130
118
  } else {
131
- $("#servernames").parent().hide();
119
+ $("#cdn_ip").parent().show();
132
120
  }
121
+ {% autoescape false %}
122
+ if ($("#mode").val() == 'reality') {
133
123
 
134
- $("#grpc").parent().parent().hide()
135
- $("#domain").parent().find(".control-label").html(`{{_('domain.domain')}}`)
136
- $("#domain").parent().find(".help-block").html(`{{_('domain.description')}}`)
137
- }
124
+ $("#servernames").parent().hide();
125
+ $("#servernames").parent().find(".control-label").html(`{{_('config.reality_server_names.label')}}`)
126
+ $("#servernames").parent().find(".help-block").html(`{{_('config.reality_server_names.description')}}`)
138
127
 
139
- {% endautoescape %}
128
+ $("#grpc").parent().parent().show()
129
+ $("#domain").parent().find(".control-label").html(`{{_('config.reality_fallback_domain.label')}}`)
130
+ $("#domain").parent().find(".help-block").html(`{{_('config.reality_fallback_domain.description')+("<a target='_blank' href='" +hurl_for('admin.Actions:get_some_random_reality_friendly_domain',test_domain=domain)+"'>"+_('Example Domains')+"</a>")}}`)
131
+ } else {
132
+ if ($("#mode").val() == 'cdn' || $("#mode").val() == 'auto_cdn_ip') {
133
+ $("#servernames").parent().show();
134
+ $("#servernames").parent().find(".control-label").html(`{{_('domain.domain_fronting.label')}}`)
135
+ $("#servernames").parent().find(".help-block").html(`{{_('domain.domain_fronting.description')}}`)
136
+ } else {
137
+ $("#servernames").parent().hide();
138
+ }
139
+
140
+ $("#grpc").parent().parent().hide()
141
+ $("#domain").parent().find(".control-label").html(`{{_('domain.domain')}}`)
142
+ $("#domain").parent().find(".help-block").html(`{{_('domain.description')}}`)
143
+ }
140
144
 
145
+ {% endautoescape %}
146
+
147
+ }
141
148
  }
149
+ $("#sub_link_only").on('change', hide_domain_elements)
150
+ $("#mode").on('change', hide_domain_elements)
151
+ hide_domain_elements()
152
+ ConvertNumberToPersion(document.getElementById('fa_modal_window'));
153
+
142
154
  }
143
- $("#sub_link_only").on('change', hide_domain_elements)
144
- $("#mode").on('change', hide_domain_elements)
145
- hide_domain_elements()
155
+
156
+ update_hiddify_ui()
157
+
158
+
159
+ $('body').off('click.modal.data-api')//remove flaskadminlte
160
+ $('body').on('click.modal.data-api', '[data-toggle="modal"]', function () {
161
+ $($(this).data("target") + ' .modal-content').load($(this).attr('href'),update_hiddify_ui);
162
+ });
163
+
164
+ // Initialize the observer with the callback function
165
+
166
+
167
+ // Observe changes in the container element and its descendants
168
+
146
169
  </script>
147
170
 
148
171
  {% endblock %}
@@ -179,4 +202,5 @@
179
202
  text-align: right;
180
203
  }
181
204
  </style>
205
+
182
206
  {% endblock %}
@@ -217,7 +217,7 @@
217
217
 
218
218
  <script src="{{ static_url_for( filename='js/moment.min.js' ) }}"></script>
219
219
  <script src="{{ static_url_for( filename='js/bootbox.all.min.js' ) }}"></script>
220
- <!-- {#<script src="{{ static_url_for( filename="plugins/select2/select2.min.js" ) }}"></script>#} -->
220
+ <script src="{{ static_url_for( filename="plugins/select2/select2.min.js" ) }}"></script>
221
221
 
222
222
 
223
223
 
@@ -543,6 +543,9 @@
543
543
 
544
544
  <!-- <script src="{{static_url_for(filename='js/pwa-sw.js')}}" defer></script> -->
545
545
  {% endblock %}
546
+
547
+ {%block last%}
548
+ {% endblock %}
546
549
  </body>
547
550
 
548
551
  </html>
@@ -1842,6 +1842,9 @@ msgstr "Max IPs"
1842
1842
  msgid "Enable"
1843
1843
  msgstr "❇️ Enable"
1844
1844
 
1845
+ msgid "Active"
1846
+ msgstr "Active"
1847
+
1845
1848
  msgid "Add some text that is only visible to you."
1846
1849
  msgstr "You can add some text that Is only visible to you"
1847
1850
 
@@ -1935,6 +1938,9 @@ msgstr " Search Settings"
1935
1938
  msgid "Create"
1936
1939
  msgstr "Create"
1937
1940
 
1941
+ msgid "Current Domain"
1942
+ msgstr "Current Domain"
1943
+
1938
1944
  msgid "Save & Add More"
1939
1945
  msgstr "Save & Add More"
1940
1946
 
@@ -2556,12 +2562,8 @@ msgstr "Admins"
2556
2562
  msgid "in parent panel"
2557
2563
  msgstr "In Parent Panel"
2558
2564
 
2559
- msgid ""
2560
- "Commercial\n"
2561
- " use"
2562
- msgstr ""
2563
- "Commercial\n"
2564
- " use"
2565
+ msgid "Commercial use"
2566
+ msgstr "Commercial use"
2565
2567
 
2566
2568
  msgid "Bug"
2567
2569
  msgstr "Bug/Feature"
@@ -1846,6 +1846,9 @@ msgstr "حداکثر IP"
1846
1846
  msgid "Enable"
1847
1847
  msgstr "❇️ فعال"
1848
1848
 
1849
+ msgid "Active"
1850
+ msgstr "فعال"
1851
+
1849
1852
  msgid "Add some text that is only visible to you."
1850
1853
  msgstr ""
1851
1854
  "در این قسمت یادداشتی اضافه کنید. (این یادداشت فقط برای شما قابل نمایش است.)"
@@ -1941,6 +1944,9 @@ msgstr " تنظیمات جستجو"
1941
1944
  msgid "Create"
1942
1945
  msgstr "ایجاد"
1943
1946
 
1947
+ msgid "Current Domain"
1948
+ msgstr "دامنه فعلی"
1949
+
1944
1950
  msgid "Save & Add More"
1945
1951
  msgstr "ذخیره و افزودن مورد دیگر"
1946
1952
 
@@ -2562,9 +2568,7 @@ msgstr "ادمین ها"
2562
2568
  msgid "in parent panel"
2563
2569
  msgstr "در پنل مرکزی"
2564
2570
 
2565
- msgid ""
2566
- "Commercial\n"
2567
- " use"
2571
+ msgid "Commercial use"
2568
2572
  msgstr ""
2569
2573
 
2570
2574
  msgid "Bug"
@@ -407,7 +407,7 @@ msgstr ""
407
407
  "Funciona como Trojan, mas não requer certificado de assinatura. o firewall verá o handshake tls real com o certificado válido que você escolher."
408
408
 
409
409
  msgid "config.restls.label"
410
- msgstr "config.restls.label"
410
+ msgstr "RestTLS"
411
411
 
412
412
  msgid "config.restls.description"
413
413
  msgstr "config.restls.description"
@@ -1192,7 +1192,7 @@ msgid "user.home.tool.all-configs"
1192
1192
  msgstr "Todas as configurações"
1193
1193
 
1194
1194
  msgid "user.home.tool.doh.title"
1195
- msgstr ""
1195
+ msgstr "DNS sobre HTTPS"
1196
1196
 
1197
1197
  msgid "user.home.tool.doh.help"
1198
1198
  msgstr ""
@@ -1561,6 +1561,11 @@ msgstr ""
1561
1561
 
1562
1562
  msgid "serverssh.password-login.warning"
1563
1563
  msgstr ""
1564
+ "Seu servidor está vulnerável a abusos porque PasswordAuthentication está "
1565
+ "habilitado em seu SSH. Para proteger seu servidor, mude para o mecanismo de "
1566
+ "autenticação de chave e desative PasswordAuthentication. <a "
1567
+ "href='https://github.com/hiddify/Hiddify-Manager/wiki/Disable-SSH-Password-"
1568
+ "Authentication'>consulte Mais informação...</a>"
1564
1569
 
1565
1570
  msgid "child has been removed!"
1566
1571
  msgstr "Child removido"
@@ -1586,7 +1591,7 @@ msgid "domain.cdn"
1586
1591
  msgstr "CDN"
1587
1592
 
1588
1593
  msgid "domain.domain_fronting.label"
1589
- msgstr ""
1594
+ msgstr "🔒 Habilitar fronting de domínio TLS"
1590
1595
 
1591
1596
  msgid "domain.domain_fronting.description"
1592
1597
  msgstr ""
@@ -1695,7 +1700,7 @@ msgid "node.uuid.dscr"
1695
1700
  msgstr ""
1696
1701
 
1697
1702
  msgid "Remote nodes are not supported yet!"
1698
- msgstr ""
1703
+ msgstr "Nós remotos ainda não são suportados!"
1699
1704
 
1700
1705
  msgid "quicksetup.setlang.success"
1701
1706
  msgstr "A alteração do idioma foi bem-sucedida."
@@ -1832,6 +1837,9 @@ msgstr "Máximo de IPs"
1832
1837
  msgid "Enable"
1833
1838
  msgstr "Habilitar"
1834
1839
 
1840
+ msgid "Active"
1841
+ msgstr ""
1842
+
1835
1843
  msgid "Add some text that is only visible to you."
1836
1844
  msgstr "Você pode adicionar algum texto, será visível apenas para voce"
1837
1845
 
@@ -1922,11 +1930,14 @@ msgstr ""
1922
1930
  "Envie uma mensagem para obter uma versão especial para usuários corporativos."
1923
1931
 
1924
1932
  msgid " Search Settings"
1925
- msgstr ""
1933
+ msgstr " Configurações de pesquisa"
1926
1934
 
1927
1935
  msgid "Create"
1928
1936
  msgstr "Criar"
1929
1937
 
1938
+ msgid "Current Domain"
1939
+ msgstr ""
1940
+
1930
1941
  msgid "Save & Add More"
1931
1942
  msgstr "Salvar e adicionar mais"
1932
1943
 
@@ -2103,30 +2114,33 @@ msgid "All Users"
2103
2114
  msgstr "Todos os usuários"
2104
2115
 
2105
2116
  msgid "Expired Users"
2106
- msgstr ""
2117
+ msgstr "Usuários expirados"
2107
2118
 
2108
2119
  msgid "Active Users"
2109
- msgstr ""
2120
+ msgstr "Usuários ativos"
2110
2121
 
2111
2122
  msgid "Offline more than 1 hour"
2112
- msgstr ""
2123
+ msgstr "Offline por mais de 1 hora"
2113
2124
 
2114
2125
  msgid "Offline more than 1 day"
2115
- msgstr ""
2126
+ msgstr "Offline por mais de 1 dia"
2116
2127
 
2117
2128
  msgid "Offline more than 1 week"
2118
- msgstr ""
2129
+ msgstr "Offline há mais de uma semana"
2119
2130
 
2120
2131
  msgid ""
2121
2132
  "User usage will be updated every 6 minutes. To update it now click <a href=\"%(link)s\"\n"
2122
2133
  " class=\"btn btn-info\">here</a>"
2123
2134
  msgstr ""
2135
+ "O uso do usuário será atualizado a cada 6 minutos. Para atualizá-lo agora "
2136
+ "clique <a href=\"%(link)s\"<inlang-LineFeed>class=\"btn btn-"
2137
+ "info\"&gt;aqui</a>"
2124
2138
 
2125
2139
  msgid "Please type your message to send to the telegram:"
2126
2140
  msgstr "✏️ Por favor, escreva sua mensagem para enviar para o Telegram:"
2127
2141
 
2128
2142
  msgid "Sending"
2129
- msgstr ""
2143
+ msgstr "Enviando..."
2130
2144
 
2131
2145
  msgid "The message has been sent."
2132
2146
  msgstr "A mensagem foi enviada."
@@ -2138,10 +2152,10 @@ msgid "The message was not sent to"
2138
2152
  msgstr "The message was not sent to"
2139
2153
 
2140
2154
  msgid "%(count)s records were successfully disabled."
2141
- msgstr ""
2155
+ msgstr "%(count)s registros foram desativados com sucesso."
2142
2156
 
2143
2157
  msgid "%(count)s records were successfully enabled."
2144
- msgstr ""
2158
+ msgstr "%(count)s registros foram ativados com sucesso."
2145
2159
 
2146
2160
  msgid "app.hiddify.next.title"
2147
2161
  msgstr "Hiddificar próximo"
@@ -2237,34 +2251,34 @@ msgstr ""
2237
2251
  "Comece clicando no link no Painel ou inserindo seu UUID."
2238
2252
 
2239
2253
  msgid "update"
2240
- msgstr ""
2254
+ msgstr "atualizar"
2241
2255
 
2242
2256
  msgid "Welcome to admin bot. Choose your action"
2243
- msgstr ""
2257
+ msgstr "Bem-vindo ao bot administrativo. Escolha sua ação"
2244
2258
 
2245
2259
  msgid "Create Package"
2246
- msgstr ""
2260
+ msgstr "Criar pacote"
2247
2261
 
2248
2262
  msgid "package size?"
2249
- msgstr ""
2263
+ msgstr "tamanho do pacote?"
2250
2264
 
2251
2265
  msgid "Ok"
2252
- msgstr ""
2266
+ msgstr "OK"
2253
2267
 
2254
2268
  msgid "package days?"
2255
- msgstr ""
2269
+ msgstr "dias de pacote?"
2256
2270
 
2257
2271
  msgid "How many?"
2258
- msgstr ""
2272
+ msgstr "Quantos?"
2259
2273
 
2260
2274
  msgid "Domain?"
2261
- msgstr ""
2275
+ msgstr "Domínio?"
2262
2276
 
2263
2277
  msgid "Please Wait..."
2264
- msgstr ""
2278
+ msgstr "Por favor, aguarde..."
2265
2279
 
2266
2280
  msgid "Finished"
2267
- msgstr ""
2281
+ msgstr "Finalizado..."
2268
2282
 
2269
2283
  msgid ""
2270
2284
  "Dear {}\n"
@@ -2327,7 +2341,7 @@ msgstr "ℹ️ O link foi alterado!"
2327
2341
 
2328
2342
  msgid ""
2329
2343
  "The page has been moved to a new link. Please copy and save the new link."
2330
- msgstr ""
2344
+ msgstr "A página foi movida para um novo link. Copie e salve o novo link."
2331
2345
 
2332
2346
  msgid "all"
2333
2347
  msgstr "Todos"
@@ -2539,16 +2553,14 @@ msgstr "Administradores"
2539
2553
  msgid "in parent panel"
2540
2554
  msgstr "No Painel Principal"
2541
2555
 
2542
- msgid ""
2543
- "Commercial\n"
2544
- " use"
2556
+ msgid "Commercial use"
2545
2557
  msgstr ""
2546
2558
 
2547
2559
  msgid "Bug"
2548
2560
  msgstr "Bug/recurso"
2549
2561
 
2550
2562
  msgid "Donation.title"
2551
- msgstr ""
2563
+ msgstr "Doação"
2552
2564
 
2553
2565
  msgid "Donation.description"
2554
2566
  msgstr ""