From f47004b500ffc83acb5e15cedd5c17397a926c74 Mon Sep 17 00:00:00 2001 From: GuoJikun Date: Tue, 5 Mar 2024 10:54:34 +0800 Subject: [PATCH] i18n(zh-cn): translate `features/process.mdx` and `features/clipboard.mdx` (#1902) * translate `features/process.mdx` to zh_CN * translate features/clipboard.mdx to zh_CN * update `features/clipboard.mdx` * translate features/localhost.mdx to zh_CN * translate features/autostart.mdx to zh_CN * update clipboard.mdx * Update src/content/docs/zh-cn/features/autostart.mdx Co-authored-by: DK Liao * Update src/content/docs/zh-cn/features/localhost.mdx Co-authored-by: DK Liao * Update src/content/docs/zh-cn/features/process.mdx Co-authored-by: DK Liao * Update src/content/docs/zh-cn/features/autostart.mdx Co-authored-by: DK Liao * Update src/content/docs/zh-cn/features/process.mdx Co-authored-by: DK Liao --------- Co-authored-by: DK Liao --- src/content/docs/zh-cn/features/autostart.mdx | 143 ++++++++++++++++++ src/content/docs/zh-cn/features/clipboard.mdx | 103 +++++++++++++ src/content/docs/zh-cn/features/localhost.mdx | 70 +++++++++ src/content/docs/zh-cn/features/process.mdx | 89 +++++++++++ 4 files changed, 405 insertions(+) create mode 100644 src/content/docs/zh-cn/features/autostart.mdx create mode 100644 src/content/docs/zh-cn/features/clipboard.mdx create mode 100644 src/content/docs/zh-cn/features/localhost.mdx create mode 100644 src/content/docs/zh-cn/features/process.mdx diff --git a/src/content/docs/zh-cn/features/autostart.mdx b/src/content/docs/zh-cn/features/autostart.mdx new file mode 100644 index 0000000000..6412afbef4 --- /dev/null +++ b/src/content/docs/zh-cn/features/autostart.mdx @@ -0,0 +1,143 @@ +--- +title: 自动启动 +description: 在系统启动时自动启动应用程序。 +--- + +import PluginLinks from '@components/PluginLinks.astro'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import CommandTabs from '@components/CommandTabs.astro'; + + + +在系统启动时自动启动应用程序。 + +## 支持的平台 + +- Windows +- Mac(通过 AppleScript 或启动代理) +- Linux + +## 设置 + +请安装 autostart 插件。 + + + + +使用项目的包管理器来添加依赖。 + +{' '} + + + + + + +1. 运行 `cargo add tauri-plugin-autostart` 命令,将插件添加到项目的 `Cargo.toml` 依赖中。 + +2. 修改 `lib.rs` 来初始化插件。 + +```rust title="lib.rs" ins={1, 6} +use tauri_plugin_autostart::MacosLauncher; + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_autostart::init(MacosLauncher::LaunchAgent, Some(vec!["--flag1", "--flag2"]) /* arbitrary number of args to pass to your app */)) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} +``` + +3. 你可以使用你喜欢的 JavaScript 包管理器来安装 JavaScript Guest 绑定。 + + + + + +## 用法 + +autostart 插件有 JavaScript 和 Rust 两种版本。 + + + + +```js +import { enable, isEnabled, disable } from '@tauri-apps/plugin-autostart'; + +// 启用 autostart +await enable(); +// 检查 enable 状态 +console.log(`registered for autostart? ${await isEnabled()}`); +// 禁用 autostart +disable(); +``` + + + + +```rust +use tauri_plugin_autostart::MacosLauncher; +use tauri_plugin_autostart::ManagerExt; + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_autostart::init( + MacosLauncher::LaunchAgent, + Some(vec!["--flag1", "--flag2"]), + )) + .setup(|app| { + // Get the autostart manager + let autostart_manager = app.autolaunch(); + // 启用 autostart + let _ = autostart_manager.enable(); + // 检查 enable 状态 + println!("registered for autostart? {}", autostart_manager.is_enabled().unwrap()); + // 禁用 autostart + let _ = autostart_manager.disable(); + Ok(()) + }) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} +``` + + + + +## 权限 + +默认情况下,所有插件命令都被阻止,无法访问。 +你必须在你的 `capabilities` 配置中定义一个权限列表。 + +更多信息请参见 [Access Control List](/references/v2/acl)。 + +```json title="src-tauri/capabilities/main.json" +{ + "permissions": [ + ..., + "autostart:allow-enable", + "autostart:allow-disable", + "autostart:allow-is-enabled" + ] +} +``` + +| 权限 | 描述 | +| ---------------------------- | ------------------------------------------ | +| `autostart:allow-disable` | 启用 disable 命令,不需要预先配置作用域。 | +| `autostart:deny-disable` | 拒绝没有预先配置作用域的 disable 命令。 | +| `autostart:allow-enable` | 启用 enable 命令,不需要预先配置作用域。 | +| `autostart:deny-enable` | 拒绝使用没有预先配置作用域的 enable 命令。 | +| `autostart:allow-is-enabled` | 启用没有预先配置作用域的 is_enabled 命令。 | +| `autostart:deny-is-enabled` | 拒绝没有预先配置作用域的 is_enabled 命令。 | diff --git a/src/content/docs/zh-cn/features/clipboard.mdx b/src/content/docs/zh-cn/features/clipboard.mdx new file mode 100644 index 0000000000..bb6a3744fc --- /dev/null +++ b/src/content/docs/zh-cn/features/clipboard.mdx @@ -0,0 +1,103 @@ +--- +title: 剪切板 +description: 读取和写入系统剪贴板。 +--- + +import Stub from '@components/Stub.astro'; +import PluginLinks from '@components/PluginLinks.astro'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import CommandTabs from '@components/CommandTabs.astro'; + + + +使用剪贴板插件读取和写入系统剪贴板。 + +## 设置 + +请安装剪贴板插件。 + + + + + 使用项目的包管理器来添加依赖: + + + + + + + 1. 运行 `cargo add tauri-plugin-clipboard-manager` 命令,将插件添加到项目的 `Cargo.toml` 依赖中。 + + 2. 修改 `lib.rs` 来初始化插件。 + + ```rust + // lib.rs + #[cfg_attr(mobile, tauri::mobile_entry_point)] + pub fn run() { + tauri::Builder::default() + // Initialize the plugin + .plugin(tauri_plugin_clipboard_manager::init()) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); + } + ``` + + 3. 如果你想用 JavaScript 管理剪贴板,还需要安装 npm 包。 + + + + + + + +## 用法 + +{/* TODO: Link to which language to use, frontend vs. backend guide when it's made */} + +剪贴板插件有 JavaScript 和 Rust 两种版本。 + + + + +```js +import { writeText, readText } from '@tauri-apps/plugin-clipboard-manager'; + +// 将内容写到剪贴板 +await writeText('Tauri is awesome!'); + +// 从剪贴板读取内容 +const content = await readText(); +console.log(content); +// Prints "Tauri is awesome!" to the console +``` + + + + +```rust +use tauri_plugin_clipboard_manager::ClipboardExt; + +// 将内容写到剪贴板 +let clipboard_content = tauri_plugin_clipboard_manager::ClipKind::PlainText { + label: Some("Label".to_string()), + text: "Tauri is awesome!".to_string(), +}; +app.clipboard().write(clipboard_content).unwrap(); + +// 从剪贴板读取内容 +let content = app.clipboard().read(); +println!("{:?}", content.unwrap()); +// Prints "Tauri is awesome!" to the terminal + + +``` + + + diff --git a/src/content/docs/zh-cn/features/localhost.mdx b/src/content/docs/zh-cn/features/localhost.mdx new file mode 100644 index 0000000000..33e2ee94c1 --- /dev/null +++ b/src/content/docs/zh-cn/features/localhost.mdx @@ -0,0 +1,70 @@ +--- +title: Localhost +description: 在生产环境中使用 localhost 服务器。 +--- + +import PluginLinks from '@components/PluginLinks.astro'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import CommandTabs from '@components/CommandTabs.astro'; + + + +通过 localhost 服务器而不是默认的自定义协议公开你的应用资源。 + +:::caution +这个插件带来了相当大的安全风险,你只应该在知道你在做什么的情况下使用它。如果有疑问,请使用默认的自定义协议实现。 +::: + +## 支持的平台 + +- Windows +- Linux +- macOS + +## 设置 + +_这个插件要求 Rust 版本至少是 **1.75**_ + +1. 通过将以下内容添加到 `Cargo.toml` 中来安装 localhost 插件。 + +```toml title="src-tauri/Cargo.toml" +[dependencies] +tauri-plugin-localhost = "2.0.0-beta" +# alternatively with Git: +tauri-plugin-localhost = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } +``` + +2. 修改 `lib.rs` 来初始化插件。 + +```rust title="src-tauri/src/lib.rs" ins={3} +fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_localhost::Builder::new().build()) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} +``` + +## 用法 + +Rust 提供了 localhost 插件。 + +```rust title="src-tauri/src/lib.rs" {4} {7-14} +use tauri::{webview::WebviewWindowBuilder, WebviewUrl}; + +fn run() { + let port: u16 = 9527; + + tauri::Builder::default() + .plugin(tauri_plugin_localhost::Builder::new(port).build()) + .setup(move |app| { + let url = format!("http://localhost:{}", port).parse().unwrap(); + WebviewWindowBuilder::new(app, "main".to_string(), WebviewUrl::External(url)) + .title("Localhost Example") + .build()?; + Ok(()) + }) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} +``` diff --git a/src/content/docs/zh-cn/features/process.mdx b/src/content/docs/zh-cn/features/process.mdx new file mode 100644 index 0000000000..5caae323f4 --- /dev/null +++ b/src/content/docs/zh-cn/features/process.mdx @@ -0,0 +1,89 @@ +--- +title: 进程 +description: 访问当前进程。 +--- + +import PluginLinks from '@components/PluginLinks.astro'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import CommandTabs from '@components/CommandTabs.astro'; + + + +这个插件提供了访问当前进程的 API。要生成子进程,请参阅 [shell](/features/shell) 插件。 + +## 设置 + +从安装 `plugin-process` 开始使用。 + + + + + 使用项目的包管理器来添加依赖: + + + + + + + 1. 运行 `cargo add tauri-plugin-process` 命令,将插件添加到项目的 `Cargo.toml` 依赖中。 + + 2. 修改 `lib.rs` 来初始化插件。 + + ```rust ins={6} + // lib.rs + #[cfg_attr(mobile, tauri::mobile_entry_point)] + pub fn run() { + tauri::Builder::default() + // Initialize the plugin + .plugin(tauri_plugin_process::init()) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); + } + ``` + + 3. 如果你想在 JavaScript 中使用这个插件,还需要安装 npm 包。 + + + + + + +## 用法 + +这个插件有 JavaScript 和 Rust 两种版本。 + + + + +```js +import { exit, relaunch } from '@tauri-apps/plugin-process'; + +// exits the app with the given status code +await exit(0); + +// restarts the app +await relaunch(); +``` + + + + +请注意,`app` 是 [`AppHandle`](https://docs.rs/tauri/2.0.0-beta/tauri/struct.AppHandle.html) 的一个实例。 + +```rust +// exits the app with the given status code +app.exit(0); + +// restarts the app +app.restart(); +``` + + +