diff --git a/Cargo.toml b/Cargo.toml
index 95ae98409..f3a0377d4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -21,6 +21,7 @@ hbbs = []
cli = []
with_rc = ["simple_rc"]
appimage = []
+flatpak = []
use_samplerate = ["samplerate"]
use_rubato = ["rubato"]
use_dasp = ["dasp"]
diff --git a/README.md b/README.md
index 8abfbc9d3..8e484ef86 100644
--- a/README.md
+++ b/README.md
@@ -65,8 +65,8 @@ Please download sciter dynamic library yourself.
### Ubuntu 18 (Debian 10)
```sh
-sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
- libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake \
+sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
+ libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libayatana-appindicator3-1 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libayatana-appindicator3-dev
```
diff --git a/build.py b/build.py
index e56d6a41e..27b5af744 100755
--- a/build.py
+++ b/build.py
@@ -71,7 +71,7 @@ def make_parser():
parser.add_argument(
'--hwcodec',
action='store_true',
- help='Enable feature hwcodec, windows only.'
+ help='Enable feature hwcodec'
)
return parser
diff --git a/com.rustdesk.RustDesk.policy b/com.rustdesk.RustDesk.policy
new file mode 100644
index 000000000..a77223120
--- /dev/null
+++ b/com.rustdesk.RustDesk.policy
@@ -0,0 +1,22 @@
+
+
+
+ RustDesk
+ https://rustdesk.com/
+ rustdesk
+
+ Change RustDesk options
+ Authentication is required to change RustDesk options
+ 要更改RustDesk选项, 需要您先通过身份验证
+ 要變更RustDesk選項, 需要您先通過身份驗證
+ /usr/share/rustdesk/files/polkit
+ true
+
+ auth_admin
+ auth_admin
+ auth_admin
+
+
+
diff --git a/flutter/lib/desktop/pages/desktop_setting_page.dart b/flutter/lib/desktop/pages/desktop_setting_page.dart
index 9aae9dc29..effc26b39 100644
--- a/flutter/lib/desktop/pages/desktop_setting_page.dart
+++ b/flutter/lib/desktop/pages/desktop_setting_page.dart
@@ -265,22 +265,14 @@ class _GeneralState extends State<_General> {
if (devices.isEmpty) {
return const Offstage();
}
- List keys = devices.toList();
- List values = devices.toList();
- // TODO
- if (!devices.contains(currentDevice)) {
- currentDevice = "";
- keys.insert(0, currentDevice);
- values.insert(0, 'default');
- }
return _Card(title: 'Audio Input Device', children: [
- _ComboBox(
- keys: keys,
- values: values,
- initialKey: currentDevice,
- onChanged: (key) {
- setDevice(key);
- }).marginOnly(left: _kContentHMargin),
+ ...devices.map((device) => _Radio(context,
+ value: device,
+ groupValue: currentDevice,
+ label: device, onChanged: (value) {
+ setDevice(value);
+ setState(() {});
+ }))
]);
});
}
@@ -876,6 +868,8 @@ Widget _Radio(BuildContext context,
Radio(value: value, groupValue: groupValue, onChanged: onChange),
Expanded(
child: Text(translate(label),
+ maxLines: 1,
+ overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: _kContentFontSize,
color: _disabledTextColor(context, enabled)))
diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock
index e6fa83b1d..251d3dacb 100644
--- a/flutter/pubspec.lock
+++ b/flutter/pubspec.lock
@@ -5,245 +5,245 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "46.0.0"
+ version: "47.0.0"
after_layout:
dependency: transitive
description:
name: after_layout
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
analyzer:
dependency: transitive
description:
name: analyzer
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "4.6.0"
+ version: "4.7.0"
animations:
dependency: transitive
description:
name: animations
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
archive:
dependency: transitive
description:
name: archive
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.3.1"
args:
dependency: transitive
description:
name: args
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.3.1"
async:
dependency: transitive
description:
name: async
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
back_button_interceptor:
dependency: "direct main"
description:
name: back_button_interceptor
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.0.1"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
build:
dependency: transitive
description:
name: build
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
build_config:
dependency: transitive
description:
name: build_config
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
build_daemon:
dependency: transitive
description:
name: build_daemon
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.9"
build_runner:
dependency: "direct dev"
description:
name: build_runner
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "7.2.3"
built_collection:
dependency: transitive
description:
name: built_collection
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "8.4.1"
cached_network_image:
dependency: transitive
description:
name: cached_network_image
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.2.1"
cached_network_image_platform_interface:
dependency: transitive
description:
name: cached_network_image_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
cached_network_image_web:
dependency: transitive
description:
name: cached_network_image_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
code_builder:
dependency: transitive
description:
name: code_builder
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.2.0"
collection:
dependency: transitive
description:
name: collection
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.16.0"
contextmenu:
dependency: "direct main"
description:
name: contextmenu
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
convert:
dependency: transitive
description:
name: convert
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
cross_file:
dependency: transitive
description:
name: cross_file
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3+1"
crypto:
dependency: transitive
description:
name: crypto
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
csslib:
dependency: transitive
description:
name: csslib
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.17.2"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
dart_style:
dependency: transitive
description:
name: dart_style
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.2.3"
+ version: "2.2.4"
dash_chat_2:
dependency: "direct main"
description:
name: dash_chat_2
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.0.14"
desktop_drop:
dependency: "direct main"
description:
name: desktop_drop
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3"
desktop_multi_window:
@@ -259,133 +259,133 @@ packages:
dependency: "direct main"
description:
name: device_info_plus
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.1.2"
device_info_plus_linux:
dependency: transitive
description:
name: device_info_plus_linux
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
device_info_plus_macos:
dependency: transitive
description:
name: device_info_plus_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
device_info_plus_web:
dependency: transitive
description:
name: device_info_plus_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
device_info_plus_windows:
dependency: transitive
description:
name: device_info_plus_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "4.0.0"
+ version: "4.1.0"
draggable_float_widget:
dependency: "direct main"
description:
name: draggable_float_widget
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.0.2"
event_bus:
dependency: transitive
description:
name: event_bus
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
external_path:
dependency: "direct main"
description:
name: external_path
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.1"
+ version: "1.0.3"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
ffi:
dependency: "direct main"
description:
name: ffi
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
file:
dependency: transitive
description:
name: file
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.1.4"
firebase_analytics:
dependency: "direct main"
description:
name: firebase_analytics
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "9.3.3"
+ version: "9.3.4"
firebase_analytics_platform_interface:
dependency: transitive
description:
name: firebase_analytics_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "3.3.3"
+ version: "3.3.4"
firebase_analytics_web:
dependency: transitive
description:
name: firebase_analytics_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.4.2+3"
+ version: "0.4.2+4"
firebase_core:
dependency: transitive
description:
name: firebase_core
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.21.1"
+ version: "1.22.0"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.5.1"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.7.2"
fixnum:
dependency: transitive
description:
name: fixnum
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
flutter:
@@ -397,21 +397,21 @@ packages:
dependency: transitive
description:
name: flutter_blurhash
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.7.0"
flutter_breadcrumb:
dependency: "direct main"
description:
name: flutter_breadcrumb
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
flutter_cache_manager:
dependency: transitive
description:
name: flutter_cache_manager
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.3.0"
flutter_custom_cursor:
@@ -427,28 +427,28 @@ packages:
dependency: "direct dev"
description:
name: flutter_launcher_icons
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.9.3"
flutter_lints:
dependency: "direct dev"
description:
name: flutter_lints
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
flutter_parsed_text:
dependency: transitive
description:
name: flutter_parsed_text
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.7"
flutter_rust_bridge:
@@ -474,392 +474,392 @@ packages:
dependency: "direct dev"
description:
name: freezed
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0+1"
freezed_annotation:
dependency: "direct main"
description:
name: freezed_annotation
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
get:
dependency: "direct main"
description:
name: get
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.6.5"
glob:
dependency: transitive
description:
name: glob
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
graphs:
dependency: transitive
description:
name: graphs
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
html:
dependency: transitive
description:
name: html
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.15.0"
http:
dependency: "direct main"
description:
name: http
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.13.5"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.2.1"
http_parser:
dependency: transitive
description:
name: http_parser
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.0.1"
image:
dependency: "direct main"
description:
name: image
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.2.0"
image_picker:
dependency: "direct main"
description:
name: image_picker
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.8.5+3"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.8.5+2"
+ version: "0.8.5+3"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.8"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.8.5+6"
+ version: "0.8.6"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.6.1"
intl:
dependency: transitive
description:
name: intl
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.17.0"
io:
dependency: transitive
description:
name: io
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
js:
dependency: transitive
description:
name: js
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.6.4"
json_annotation:
dependency: transitive
description:
name: json_annotation
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.6.0"
lints:
dependency: transitive
description:
name: lints
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
logging:
dependency: transitive
description:
name: logging
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.1.4"
menu_base:
dependency: transitive
description:
name: menu_base
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.1.1"
meta:
dependency: transitive
description:
name: meta
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
mime:
dependency: transitive
description:
name: mime
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
nested:
dependency: transitive
description:
name: nested
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
octo_image:
dependency: transitive
description:
name: octo_image
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
package_config:
dependency: transitive
description:
name: package_config
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
package_info_plus:
dependency: "direct main"
description:
name: package_info_plus
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.4.3+1"
package_info_plus_linux:
dependency: transitive
description:
name: package_info_plus_linux
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
package_info_plus_macos:
dependency: transitive
description:
name: package_info_plus_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
package_info_plus_web:
dependency: transitive
description:
name: package_info_plus_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
package_info_plus_windows:
dependency: transitive
description:
name: package_info_plus_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0"
path:
dependency: transitive
description:
name: path
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
path_provider:
dependency: "direct main"
description:
name: path_provider
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.11"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.20"
path_provider_ios:
dependency: transitive
description:
name: path_provider_ios
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.11"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.7"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.2"
+ version: "2.1.3"
pedantic:
dependency: transitive
description:
name: pedantic
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.11.1"
petitparser:
dependency: transitive
description:
name: petitparser
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "5.0.0"
platform:
dependency: transitive
description:
name: platform
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
pool:
dependency: transitive
description:
name: pool
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.5.1"
process:
dependency: transitive
description:
name: process
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.2.4"
provider:
dependency: "direct main"
description:
name: provider
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.0.3"
pub_semver:
dependency: transitive
description:
name: pub_semver
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
qr_code_scanner:
dependency: "direct main"
description:
name: qr_code_scanner
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
quiver:
dependency: transitive
description:
name: quiver
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
rxdart:
dependency: "direct main"
description:
name: rxdart
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.27.5"
screen_retriever:
@@ -875,91 +875,91 @@ packages:
dependency: "direct main"
description:
name: scroll_pos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
settings_ui:
dependency: "direct main"
description:
name: settings_ui
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
shared_preferences:
dependency: "direct main"
description:
name: shared_preferences
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.15"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.12"
+ version: "2.0.13"
shared_preferences_ios:
dependency: transitive
description:
name: shared_preferences_ios
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
shelf:
dependency: transitive
description:
name: shelf
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.2"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
shortid:
dependency: transitive
description:
name: shortid
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.1.2"
sky_engine:
@@ -971,91 +971,91 @@ packages:
dependency: transitive
description:
name: source_gen
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.2"
source_span:
dependency: transitive
description:
name: source_span
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
sqflite:
dependency: transitive
description:
name: sqflite
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3+1"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.2.1+1"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
stream_transform:
dependency: transitive
description:
name: stream_transform
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
synchronized:
dependency: transitive
description:
name: synchronized
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "3.0.0+2"
+ version: "3.0.0+3"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.4.9"
timing:
dependency: transitive
description:
name: timing
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
toggle_switch:
dependency: "direct main"
description:
name: toggle_switch
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.4.0"
tray_manager:
@@ -1071,184 +1071,184 @@ packages:
dependency: "direct main"
description:
name: tuple
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
typed_data:
dependency: transitive
description:
name: typed_data
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.1.5"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "6.0.17"
+ version: "6.0.19"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.0.17"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.13"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
uuid:
dependency: transitive
description:
name: uuid
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.6"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
video_player:
dependency: transitive
description:
name: video_player
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.4.7"
video_player_android:
dependency: transitive
description:
name: video_player_android
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.3.9"
video_player_avfoundation:
dependency: transitive
description:
name: video_player_avfoundation
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.3.5"
video_player_platform_interface:
dependency: transitive
description:
name: video_player_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "5.1.4"
video_player_web:
dependency: transitive
description:
name: video_player_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.12"
visibility_detector:
dependency: "direct main"
description:
name: visibility_detector
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3"
wakelock:
dependency: "direct main"
description:
name: wakelock
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.5.6"
wakelock_macos:
dependency: transitive
description:
name: wakelock_macos
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_platform_interface:
dependency: transitive
description:
name: wakelock_platform_interface
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
wakelock_web:
dependency: transitive
description:
name: wakelock_web
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_windows:
dependency: transitive
description:
name: wakelock_windows
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.0"
+ version: "0.2.1"
watcher:
dependency: transitive
description:
name: watcher
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
win32:
dependency: transitive
description:
name: win32
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.7.0"
+ version: "3.0.0"
window_manager:
dependency: "direct main"
description:
@@ -1262,28 +1262,28 @@ packages:
dependency: transitive
description:
name: xdg_directories
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0+2"
xml:
dependency: transitive
description:
name: xml
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0"
yaml:
dependency: transitive
description:
name: yaml
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.1"
zxing2:
dependency: "direct main"
description:
name: zxing2
- url: "https://pub.flutter-io.cn"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0"
sdks:
diff --git a/src/lang.rs b/src/lang.rs
index 7157f9b42..7ac893ca8 100644
--- a/src/lang.rs
+++ b/src/lang.rs
@@ -21,6 +21,7 @@ mod sk;
mod tr;
mod tw;
mod vn;
+mod kz;
lazy_static::lazy_static! {
pub static ref LANGS: Value =
@@ -45,6 +46,7 @@ lazy_static::lazy_static! {
("pl", "Polski"),
("ja", "日本語"),
("ko", "한국어"),
+ ("kz", "Қазақша"),
]);
}
@@ -93,6 +95,7 @@ pub fn translate_locale(name: String, locale: &str) -> String {
"pl" => pl::T.deref(),
"ja" => ja::T.deref(),
"ko" => ko::T.deref(),
+ "kz" => kz::T.deref(),
_ => en::T.deref(),
};
if let Some(v) = m.get(&name as &str) {
diff --git a/src/lang/kz.rs b/src/lang/kz.rs
new file mode 100644
index 000000000..8b7b3402d
--- /dev/null
+++ b/src/lang/kz.rs
@@ -0,0 +1,323 @@
+lazy_static::lazy_static! {
+ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
+ [
+ ("Status", "Күй"),
+ ("Your Desktop", "Сіздің Жұмыс үстеліңіз"),
+ ("desk_tip", "Сіздің Жұмыс үстеліңіз осы ID мен құпия сөз арқылы қолжетімді"),
+ ("Password", "Құпия сөз"),
+ ("Ready", "Дайын"),
+ ("Established", "Қосылды"),
+ ("connecting_status", "RustDesk желісіне қосылуда..."),
+ ("Enable Service", "Сербесті қосу"),
+ ("Start Service", "Сербесті іске қосу"),
+ ("Service is running", "Сербес істеуде"),
+ ("Service is not running", "Сербес істемеуде"),
+ ("not_ready_status", "Дайын емес. Қосылымды тексеруді өтінеміз"),
+ ("Control Remote Desktop", "Қашықтағы Жұмыс үстелін Басқару"),
+ ("Transfer File", "Файыл Тасымалдау"),
+ ("Connect", "Қосылу"),
+ ("Recent Sessions", "Соңғы Сештер"),
+ ("Address Book", "Мекенжай Кітабы"),
+ ("Confirmation", "Мақұлдау"),
+ ("TCP Tunneling", "TCP тунелдеу"),
+ ("Remove", "Жою"),
+ ("Refresh random password", "Кездейсоқ құпия сөзді жаңарту"),
+ ("Set your own password", "Өз құпия сөзіңізді орнатыңыз"),
+ ("Enable Keyboard/Mouse", "Пернетақта/Тінтуірді қосу"),
+ ("Enable Clipboard", "Көшіру-тақтасын қосу"),
+ ("Enable File Transfer", "Файыл Тасымалдауды қосу"),
+ ("Enable TCP Tunneling", "TCP тунелдеуді қосу"),
+ ("IP Whitelisting", "IP Ақ-тізімі"),
+ ("ID/Relay Server", "ID/Relay сербері"),
+ ("Stop service", "Сербесті тоқтату"),
+ ("Change ID", "ID ауыстыру"),
+ ("Website", "Web-сайт"),
+ ("About", "Туралы"),
+ ("Mute", "Дыбыссыздандыру"),
+ ("Audio Input", "Аудио Еңгізу"),
+ ("Enhancements", "Жақсартулар"),
+ ("Hardware Codec", "Hardware Codec"),
+ ("Adaptive Bitrate", "Adaptive Bitrate"),
+ ("ID Server", "ID Сербері"),
+ ("Relay Server", "Relay Сербері"),
+ ("API Server", "API Сербері"),
+ ("invalid_http", "http:// немесе https://'пен басталуы қажет"),
+ ("Invalid IP", "Бұрыс IP-Мекенжай"),
+ ("id_change_tip", "Тек a-z, A-Z, 0-9 және _ (астынғы-сызық) таңбалары рұқсат етілген. Бірінші таңба a-z, A-Z болуы қажет. Ұзындығы 6 мен 16 арасы."),
+ ("Invalid format", "Бұрыс формат"),
+ ("server_not_support", "Сербер әзірше қолдамайды"),
+ ("Not available", "Қолжетімсіз"),
+ ("Too frequent", "Тым жиі"),
+ ("Cancel", "Болдырмау"),
+ ("Skip", "Өткізіп жіберу"),
+ ("Close", "Жабу"),
+ ("Retry", "Қайтадан көру"),
+ ("OK", "OK"),
+ ("Password Required", "Құпия сөз Қажет"),
+ ("Please enter your password", "Құпия сөзіңізді еңгізуді өтінеміз"),
+ ("Remember password", "Құпия сөзді есте сақтау"),
+ ("Wrong Password", "Бұрыс Құпия сөз"),
+ ("Do you want to enter again?", "Қайтадан кіргіңіз келеді ме?"),
+ ("Connection Error", "Қосылым Қатесі"),
+ ("Error", "Қате"),
+ ("Reset by the peer", "Пир қалпына келтірді"),
+ ("Connecting...", "Қосылуда..."),
+ ("Connection in progress. Please wait.", "Қосылым барысында. Күтуді өтінеміз"),
+ ("Please try 1 minute later", "1 минуттан соң қайта көріңіз"),
+ ("Login Error", "Кіру Қатесі"),
+ ("Successful", "Сәтті"),
+ ("Connected, waiting for image...", "Қосылды, сурет күтілуде..."),
+ ("Name", "Ат"),
+ ("Type", "Түр"),
+ ("Modified", "Өзгертілді"),
+ ("Size", "Өлшем"),
+ ("Show Hidden Files", "Жасырын Файылдарды Көрсету"),
+ ("Receive", "Қабылдау"),
+ ("Send", "Жіберу"),
+ ("Refresh File", "Файылды жаңарту"),
+ ("Local", "Лақал"),
+ ("Remote", "Қашықтағы"),
+ ("Remote Computer", "Қашықтағы Қампұтыр"),
+ ("Local Computer", "Лақал Қампұтыр"),
+ ("Confirm Delete", "Жоюды Растау"),
+ ("Delete", "Жою"),
+ ("Properties", "Қасиеттер"),
+ ("Multi Select", "Көптік таңдау"),
+ ("Empty Directory", "Бос Бума"),
+ ("Not an empty directory", "Бос бума емес"),
+ ("Are you sure you want to delete this file?", "Бұл файылды жоюға сенімдісіз бе?"),
+ ("Are you sure you want to delete this empty directory?", "Бұл бос буманы жоюға сенімдісіз бе?"),
+ ("Are you sure you want to delete the file of this directory?", "Бұл буманың файылын жоюға сенімдісіз бе?"),
+ ("Do this for all conflicts", "Мұны барлық қанпілектер үшін жасау"),
+ ("This is irreversible!", "Бұл қайтымсыз!"),
+ ("Deleting", "Жойылу"),
+ ("files", "файылдар"),
+ ("Waiting", "Күту"),
+ ("Finished", "Аяқталды"),
+ ("Speed", "Жылдамдық"),
+ ("Custom Image Quality", "Теңшеулі Сурет Сапасы"),
+ ("Privacy mode", "Құпиялылық Модасы"),
+ ("Block user input", "Қолданушы еңгізуін бұғаттау"),
+ ("Unblock user input", "Қолданушы еңгізуін бұғаттан шығару"),
+ ("Adjust Window", "Терезені Реттеу"),
+ ("Original", "Түпнұсқа"),
+ ("Shrink", "Қысу"),
+ ("Stretch", "Созу"),
+ ("Scrollbar", "Scrollbar"),
+ ("ScrollAuto", "ScrollAuto"),
+ ("Good image quality", "Жақсы сурет сапасы"),
+ ("Balanced", "Теңдестірілген"),
+ ("Optimize reaction time", "Реакция уақытын оңтайландыру"),
+ ("Custom", "Теңшеулі"),
+ ("Show remote cursor", "Қашықтағы курсорды көрсету"),
+ ("Show quality monitor", "Сапа мониторын көрсету"),
+ ("Disable clipboard", "Көшіру-тақтасын өшіру"),
+ ("Lock after session end", "Сеш аяқталған соң құлыптау"),
+ ("Insert", "Кірістіру"),
+ ("Insert Lock", "Кірістіруді Құлыптау"),
+ ("Refresh", "Жаңарту"),
+ ("ID does not exist", "ID табылмады"),
+ ("Failed to connect to rendezvous server", "Rendezvous серберіне қосылу сәтсіз"),
+ ("Please try later", "Кейінірек қайта көруді өтінеміз"),
+ ("Remote desktop is offline", "Қашықтағы жұмыс үстелі офлайн күйінде"),
+ ("Key mismatch", "Кілт сәйкессіздігі"),
+ ("Timeout", "Үзіліс"),
+ ("Failed to connect to relay server", "Relay серберіне қосылу сәтсіз"),
+ ("Failed to connect via rendezvous server", "Rendezvous сербері арқылы қосылу сәтсіз"),
+ ("Failed to connect via relay server", "Relay сербері арқылы қосылу сәтсіз"),
+ ("Failed to make direct connection to remote desktop", "Қашықтағы жұмыс үстеліне тікелей қосылым жасау сәтсіз"),
+ ("Set Password", "Құпия сөзді Орнату"),
+ ("OS Password", "OS Құпия сөзі"),
+ ("install_tip", "UAC кесірінен, RustDesk кейбірде қашықтағы жақ ретінде дұрыс жұмыс істей алмайды. UAC'пен қиындықты болдырмау үшін, төмендегі батырманы басып RustDesk'ті жүйеге орнатыңыз."),
+ ("Click to upgrade", "Жаңғырту үшін басыңыз"),
+ ("Click to download", "Жүктеу үшін басыңыз"),
+ ("Click to update", "Жаңарту үшін басыңыз"),
+ ("Configure", "Қалыптау"),
+ ("config_acc", "Сіздің Жұмыс үстеліңізді қашықтан басқару үшін, RustDesk'ке \"Қолжетімділік\" рұқсаттарын беруіңіз керек."),
+ ("config_screen", "Сіздің Жұмыс үстеліңізге қашықтан қол жеткізу үшін, RustDesk'ке \"Екіренді Жазу\" рұқсаттарын беруіңіз керек."),
+ ("Installing ...", "Орнатылу..."),
+ ("Install", "Орнату"),
+ ("Installation", "Орнатылу"),
+ ("Installation Path", "Орнатылу Жолы"),
+ ("Create start menu shortcuts", "Бастау мәзірі белгішесің жасау"),
+ ("Create desktop icon", "Жұмыс үстелі белгішесің жасау"),
+ ("agreement_tip", "Орнатуды бастасаңыз, сіз лисензе келісімін қабылдайсыз."),
+ ("Accept and Install", "Қабылдау және Орнату"),
+ ("End-user license agreement", "Түпкі қолданушының лисензе келісімі"),
+ ("Generating ...", "Генератталуда..."),
+ ("Your installation is lower version.", "Сіздің орнатуыныз төменгі нұсқа."),
+ ("not_close_tcp_tip", "Тунел қолдану кезінде бұл терезені жаппаңыз"),
+ ("Listening ...", "Тыңдау ..."),
+ ("Remote Host", "Қашықтағы Хост"),
+ ("Remote Port", "Қашықтағы Порт"),
+ ("Action", "Әрекет"),
+ ("Add", "Қосу"),
+ ("Local Port", "Лақал Порт"),
+ ("setup_server_tip", "Тез қосылым үшін өз серберіңізді орнатуды өтінеміз"),
+ ("Too short, at least 6 characters.", "Тым қысқа, кемінде 6 таңба."),
+ ("The confirmation is not identical.", "Растау сәйкес келмейді."),
+ ("Permissions", "Рұқсаттар"),
+ ("Accept", "Қабылдау"),
+ ("Dismiss", "Босату"),
+ ("Disconnect", "Ажырату"),
+ ("Allow using keyboard and mouse", "Пернетақта мен тінтуірді қолдануды рұқсат ету"),
+ ("Allow using clipboard", "Көшіру-тақтасын рұқсат ету"),
+ ("Allow hearing sound", "Дыбыс естуді рұқсат ету"),
+ ("Allow file copy and paste", "Файылды көшіру мен қоюды рұқсат ету"),
+ ("Connected", "Қосылды"),
+ ("Direct and encrypted connection", "Тікелей және кіриптелген қосылым"),
+ ("Relayed and encrypted connection", "Релайданған және кіриптелген қосылым"),
+ ("Direct and unencrypted connection", "Тікелей және кіриптелмеген қосылым"),
+ ("Relayed and unencrypted connection", "Релайданған және кіриптелмеген қосылым"),
+ ("Enter Remote ID", "Қашықтағы ID еңгізіңіз"),
+ ("Enter your password", "Құпия сөзіңізді енгізіңіз"),
+ ("Logging in...", "Кіруде..."),
+ ("Enable RDP session sharing", "RDP сешті бөлісуді іске қосу"),
+ ("Auto Login", "Ауты Кіру (\"Сеш аяқталған соң құлыптау\"'ды орнатқанда ғана жарамды)"),
+ ("Enable Direct IP Access", "Тікелей IP Қолжетімді іске қосу"),
+ ("Rename", "Атын өзгерту"),
+ ("Space", "Орын"),
+ ("Create Desktop Shortcut", "Жұмыс үстелі Таңбашасын Жасау"),
+ ("Change Path", "Жолды өзгерту"),
+ ("Create Folder", "Бума жасау"),
+ ("Please enter the folder name", "Буманың атауын еңгізуді өтінеміз"),
+ ("Fix it", "Түзету"),
+ ("Warning", "Ескерту"),
+ ("Login screen using Wayland is not supported", "Wayland қолданған Кіру екіреніне қолдау көрсетілмейді"),
+ ("Reboot required", "Қайта-қосу қажет"),
+ ("Unsupported display server ", "Қолдаусыз дисплей сербері"),
+ ("x11 expected", "x11 күтілген"),
+ ("Port", "Порт"),
+ ("Settings", "Орнатпалар"),
+ ("Username", "Қолданушы аты"),
+ ("Invalid port", "Бұрыс порт"),
+ ("Closed manually by the peer", "Пир қолымен жабылған"),
+ ("Enable remote configuration modification", "Қашықтан қалыптарды өзгертуді іске қосу"),
+ ("Run without install", "Орнатпай-ақ Іске қосу"),
+ ("Always connected via relay", "Әрқашан да релай сербері арқылы қосулы"),
+ ("Always connect via relay", "Әрқашан да релай сербері арқылы қосылу"),
+ ("whitelist_tip", "Маған тек ақ-тізімделген IP қол жеткізе алады"),
+ ("Login", "Кіру"),
+ ("Logout", "Шығу"),
+ ("Tags", "Тақтар"),
+ ("Search ID", "ID Іздеу"),
+ ("Current Wayland display server is not supported", "Ағымдағы Wayland дисплей серберіне қолдау көрсетілмейді"),
+ ("whitelist_sep", "Үтір, нүктелі үтір, бос орын және жаңа жолал арқылы бөлінеді"),
+ ("Add ID", "ID Қосу"),
+ ("Add Tag", "Тақ Қосу"),
+ ("Unselect all tags", "Барлық тақтардың таңдауын алып тастау"),
+ ("Network error", "Желі қатесі"),
+ ("Username missed", "Қолданушы аты бос"),
+ ("Password missed", "Құпия сөз бос"),
+ ("Wrong credentials", "Бұрыс тіркелгі деректер"),
+ ("Edit Tag", "Тақты Өндеу"),
+ ("Unremember Password", "Құпия сөзді Ұмыту"),
+ ("Favorites", "Таңдаулылар"),
+ ("Add to Favorites", "Таңдаулыларға Қосу"),
+ ("Remove from Favorites", "Таңдаулылардан алып тастау"),
+ ("Empty", "Бос"),
+ ("Invalid folder name", "Бұрыс бума атауы"),
+ ("Socks5 Proxy", "Socks5 Proxy"),
+ ("Hostname", "Хост атауы"),
+ ("Discovered", "Табылды"),
+ ("install_daemon_tip", "Бут кезінде қосылу үшін жүйелік сербесті орнатуыныз керек."),
+ ("Remote ID", "Қашықтағы ID"),
+ ("Paste", "Қою"),
+ ("Paste here?", "Осында қою керек пе?"),
+ ("Are you sure to close the connection?", "Қосылымды жабуға сенімдісіз бе?"),
+ ("Download new version", "Жаңа нұсқаны жүктеу"),
+ ("Touch mode", "Жанасатын мода"),
+ ("Mouse mode", "Тінтуірлі мода"),
+ ("One-Finger Tap", "Бір-Саусақпен Түрту"),
+ ("Left Mouse", "Солақ Тінтуір"),
+ ("One-Long Tap", "Бір-Ұзақ Түрту"),
+ ("Two-Finger Tap", "Екі-Саусақпен Түрту"),
+ ("Right Mouse", "Оңақ Тінтуір"),
+ ("One-Finger Move", "Бір-Саусақпен Жылжыту"),
+ ("Double Tap & Move", "Екі-рет Түртіп Жылжыту"),
+ ("Mouse Drag", "Тінтуір Тартуы"),
+ ("Three-Finger vertically", "Үш-Саусақпен тік-бағытты"),
+ ("Mouse Wheel", "Тінтуір Дөңгелегі"),
+ ("Two-Finger Move", "Екі-Саусақпен Жылжыту"),
+ ("Canvas Move", "Кенеп Жылжуы"),
+ ("Pinch to Zoom", "Зумдау үшін Шымшыңыз"),
+ ("Canvas Zoom", "Кенеп Зумы"),
+ ("Reset canvas", "Кенепті қалпына келтіру"),
+ ("No permission of file transfer", "Файыл алмасуға рұқсат берілмеген"),
+ ("Note", "Нота"),
+ ("Connection", "Қосылым"),
+ ("Share Screen", "Екіренді Бөлісу"),
+ ("CLOSE", "ЖАБУ"),
+ ("OPEN", "АШУ"),
+ ("Chat", "Чат"),
+ ("Total", "Барлығы"),
+ ("items", "зат"),
+ ("Selected", "Таңдалған"),
+ ("Screen Capture", "Екіренді Түсіру"),
+ ("Input Control", "Еңгізуді Басқару/Қадағалау"),
+ ("Audio Capture", "Аудио Түсіру"),
+ ("File Connection", "Файыл Қосылымы"),
+ ("Screen Connection", "Екірен Қосылымы"),
+ ("Do you accept?", "Қабылдайсыз ба?"),
+ ("Open System Setting", "Жүйе Орнатпаларын Ашу"),
+ ("How to get Android input permission?", "Android еңгізу рұқсатын қалай алуға болады?"),
+ ("android_input_permission_tip1", "Қашықтағы құрылғы сіздің Android құрылғыңызды тінтуір немесе түрту арқылы басқару үшін, RustDesk'ке \"Қолжетімділік\" сербесін қолдануға рұқсат беруініз керек."),
+ ("android_input_permission_tip2", "Келесі Жүйе Орнатпалары бетіне барып, [Орнатылған Сербестер]'ді тауып кіріңіз, сосын [RustDesk Еңгізу] сербесін іске қосыңыз."),
+ ("android_new_connection_tip", "Сіздің ағымдағы құрылғыңызды басқаруды қалайтын жаңа басқару сұранысы түсті."),
+ ("android_service_will_start_tip", "\"Екіренді Тұсіру\" қосылған кезде сербес аутыматты іске қосылып, басқа құрылғыларға сіздің құрылғыға қосылым сұраныстауға мүмкіндің береді."),
+ ("android_stop_service_tip", "Сербесті жабу аутыматты түрде барлық орнатылған қосылымдарды жабады."),
+ ("android_version_audio_tip", "Ағымдағы Android нұсқасы аудионы түсіруді қолдамайды, Android 10 не жоғарғысына жаңғыртуды өтінеміз."),
+ ("android_start_service_tip", "[Сербесті Іске қосу]'ды түртіңіз не [Екіренді Түсіру] рұқсатын АШУ арқылы екіренді бөлісу сербесін іске қосыңыз."),
+ ("Account", "Есепкі"),
+ ("Overwrite", "Үстінен қайта жазу"),
+ ("This file exists, skip or overwrite this file?", "Бұл файыл бар, өткізіп жіберу әлде үстінен қайта жазу керек пе?"),
+ ("Quit", "Шығу"),
+ ("doc_mac_permission", ""),
+ ("Help", "Көмек"),
+ ("Failed", "Сәтсіз"),
+ ("Succeeded", "Сәтті"),
+ ("Someone turns on privacy mode, exit", "Біреу құпиялылық модасын қосты, шығу"),
+ ("Unsupported", "Қолдаусыз"),
+ ("Peer denied", "Пир қабылдамады"),
+ ("Please install plugins", "Плагиндерді орнатуды өтінеміз"),
+ ("Peer exit", "Пирдің шығуы"),
+ ("Failed to turn off", "Сөндіру сәтсіз болды"),
+ ("Turned off", "Өшірілген"),
+ ("In privacy mode", "Құпиялылық модасында"),
+ ("Out privacy mode", "Құпиялылық модасынан Шығу"),
+ ("Language", "Тіл"),
+ ("Keep RustDesk background service", "Артжақтағы RustDesk сербесін сақтап тұру"),
+ ("Ignore Battery Optimizations", "Бәтері Оңтайландыруларын Елемеу"),
+ ("android_open_battery_optimizations_tip", "Егер де бұл ерекшелікті өшіруді қаласаңыз, келесі RustDesk апылқат орнатпалары бетіне барып, [Бәтері]'ні тауып кіріңіз де [Шектеусіз]'ден құсбелгіні алып тастауды өтінеміз"),
+ ("Connection not allowed", "Қосылу рұқсат етілмеген"),
+ ("Use temporary password", "Уақытша құпия сөзді қолдану"),
+ ("Use permanent password", "Тұрақты құпия сөзді қолдану"),
+ ("Use both passwords", "Қос құпия сөзді қолдану"),
+ ("Set permanent password", "Тұрақты құпия сөзді орнату"),
+ ("Set temporary password length", "Уақытша құпия сөздің ұзындығын орнату"),
+ ("Enable Remote Restart", "Қашықтан қайта-қосуды іске қосу"),
+ ("Allow remote restart", "Қашықтан қайта-қосуды рұқсат ету"),
+ ("Restart Remote Device", "Қашықтағы құрылғыны қайта-қосу"),
+ ("Are you sure you want to restart", "Қайта-қосуға сенімдісіз бе?"),
+ ("Restarting Remote Device", "Қашықтағы Құрылғыны қайта-қосуда"),
+ ("remote_restarting_tip", "Қашықтағы құрылғы қайта-қосылуда, бұл хабар терезесін жабып, біраздан соң тұрақты құпия сөзбен қайта қосылуды өтінеміз"),
+ ("Copied", "Көшірілді"),
+ ("Exit Fullscreen", "Толық екіреннен Шығу"),
+ ("Fullscreen", "Толық екірен"),
+ ("Mobile Actions", "Мабыл Әрекеттері"),
+ ("Select Monitor", "Мониторды Таңдау"),
+ ("Control Actions", "Басқару Әрекеттері"),
+ ("Display Settings", "Дисплей Орнатпалары"),
+ ("Ratio", "Арақатынас"),
+ ("Image Quality", "Сурет Сапасы"),
+ ("Scroll Style", "Scroll Теңшетұрі"),
+ ("Show Menubar", "Мәзір жолағын көрсету"),
+ ("Hide Menubar", "Мәзір жолағын жасыру"),
+ ("Direct Connection", "Тікелей Қосылым"),
+ ("Relay Connection", "Релай Қосылым"),
+ ("Secure Connection", "Қауіпсіз Қосылым"),
+ ("Insecure Connection", "Қатерлі Қосылым"),
+ ("Scale original", "Scale original"),
+ ("Scale adaptive", "Scale adaptive"),
+ ].iter().cloned().collect();
+ }
diff --git a/src/platform/linux.rs b/src/platform/linux.rs
index fe2673832..89e2d296d 100644
--- a/src/platform/linux.rs
+++ b/src/platform/linux.rs
@@ -638,7 +638,13 @@ pub fn quit_gui() {
}
pub fn check_super_user_permission() -> ResultType {
- // TODO: replace echo with a rustdesk's program, which is location-fixed and non-gui.
- let status = std::process::Command::new("pkexec").arg("echo").status()?;
+ let file = "/usr/share/rustdesk/files/polkit";
+ let arg;
+ if std::path::Path::new(file).is_file() {
+ arg = file;
+ } else {
+ arg = "echo";
+ }
+ let status = std::process::Command::new("pkexec").arg(arg).status()?;
Ok(status.success() && status.code() == Some(0))
}
diff --git a/src/ui.rs b/src/ui.rs
index fd4bfe1a8..77d983e56 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -93,7 +93,11 @@ pub fn start(args: &mut [String]) {
let prefix = std::env::var("APPDIR").unwrap_or("".to_string());
#[cfg(not(feature = "appimage"))]
let prefix = "".to_string();
- sciter::set_library(&(prefix + "/usr/lib/rustdesk/libsciter-gtk.so")).ok();
+ #[cfg(feature = "flatpak")]
+ let dir = "/app";
+ #[cfg(not(feature = "flatpak"))]
+ let dir = "/usr";
+ sciter::set_library(&(prefix + dir + "/lib/rustdesk/libsciter-gtk.so")).ok();
}
// https://github.com/c-smile/sciter-sdk/blob/master/include/sciter-x-types.h
// https://github.com/rustdesk/rustdesk/issues/132#issuecomment-886069737