diff --git a/docs/aliyun-oss-guide.md b/docs/aliyun-oss-guide.md new file mode 100644 index 000000000..50db9713b --- /dev/null +++ b/docs/aliyun-oss-guide.md @@ -0,0 +1,119 @@ +# 阿里云 OSS 图床配置指南(更新版) + +> 本文档补充了阿里云 OSS **无地域属性资源包(Regionless Bucket)**的配置说明。 +> 对应 Issue: [#1269](https://github.com/Molunerfinn/PicGo/issues/1269) + +--- + +## 前提条件 + +1. 拥有阿里云账号并开通 OSS 服务 +2. 创建一个 OSS Bucket(存储桶) +3. 获取 AccessKey ID 和 AccessKey Secret + +--- + +## 配置步骤 + +### 步骤一:获取 AccessKey + +1. 登录 [阿里云 RAM 控制台](https://ram.console.aliyun.com/) +2. 创建 RAM 用户(推荐使用子账号)或使用现有用户 +3. 为 RAM 用户授权 `AliyunOSSFullAccess` 或自定义权限策略 +4. 获取 **AccessKey ID** 和 **AccessKey Secret** + +### 步骤二:确定 Bucket 类型 + +阿里云 OSS 目前支持两种存储桶类型: + +| 类型 | 说明 | +|---|---| +| **有地域属性(Regional)** | 传统方式,存储于特定地域(如华东1-杭州) | +| **无地域属性(Regionless)** ⭐新增 | 2024年新特性,不绑定特定地域,适用于跨地域访问场景 | + +### 步骤三:配置 PicGo + +打开 PicGo 图床设置,选择「阿里云 OSS」: + +#### 方式 A:标准 Bucket(有地域属性) + +| 配置项 | 说明 | 示例 | +|---|---|---| +| KeyId | AccessKey ID | `LTAI5tXXXXXXXXXXXXXX` | +| KeySecret | AccessKey Secret | `XXXXXXXXXXXXXXXXXXXXXXXX` | +| Bucket | 存储桶名称 | `my-picgo-bucket` | +| Area | 存储区域 | `oss-cn-hangzhou` | +| Path | 存储路径(可选) | `images/` | +| CustomUrl | 自定义域名(可选) | `https://cdn.example.com` | + +**常用 Region(地域/Area)列表:** + +| 地域名称 | Region ID(Area 字段) | +|---|---| +| 华东1(杭州) | `oss-cn-hangzhou` | +| 华东2(上海) | `oss-cn-shanghai` | +| 华北1(青岛) | `oss-cn-qingdao` | +| 华北2(北京) | `oss-cn-beijing` | +| 华北3(张家口) | `oss-cn-zhangjiakou` | +| 华南1(深圳) | `oss-cn-shenzhen` | +| 华南2(河源) | `oss-cn-heyuan` | +| 华南3(广州) | `oss-cn-guangzhou` | +| 西南1(成都) | `oss-cn-chengdu` | +| 中国香港 | `oss-cn-hongkong` | +| 新加坡 | `oss-ap-southeast-1` | +| 美国(硅谷) | `oss-us-west-1` | + +#### 方式 B:无地域属性 Bucket(Regionless)⭐ 新增 + +> 💡 无地域属性 Bucket 的 **Area 字段应留空或填写 `oss-rg-china-mainland`** + +| 配置项 | 说明 | 示例 | +|---|---|---| +| KeyId | AccessKey ID | `LTAI5tXXXXXXXXXXXXXX` | +| KeySecret | AccessKey Secret | `XXXXXXXXXXXXXXXXXXXXXXXX` | +| Bucket | 无地域属性 Bucket 名称 | `my-regionless-bucket` | +| Area | **留空** 或填 `oss-rg-china-mainland` | (留空) | +| Path | 存储路径(可选) | `images/` | +| CustomUrl | 自定义域名(推荐) | `https://cdn.example.com` | + +**注意事项:** +- 无地域属性 Bucket 的名称有特殊格式要求,以 `--` 开头 +- 该类型目前仅支持中国大陆地域 +- 建议配置 **CustomUrl** 或使用默认的 `oss-rg-china-mainland.aliyuncs.com` 域名 +- 上传后的默认 URL 格式为:`https://{bucket}.oss-rg-china-mainland.aliyuncs.com/{path}/{filename}` + +--- + +## 常见问题 + +### Q: 如何知道我的 Bucket 是否有地域属性? + +A: 登录 [OSS 控制台](https://oss.console.aliyun.com/),查看 Bucket 列表: +- 有地域属性的 Bucket 会显示具体 Region(如华东1-杭州) +- 无地域属性的 Bucket 会显示"无地域属性"标记 + +### Q: 上传失败,提示 "endpoint" 错误? + +A: 请检查: +1. Area 字段是否正确填写 +2. 对于无地域属性 Bucket,Area 应留空 +3. 确认 Bucket 名称和 AccessKey 配置正确 + +### Q: 访问 URL 无法显示图片? + +A: 请检查: +1. Bucket 的读写权限是否设置为"公共读" +2. 如果使用 CustomUrl,确认 CDN/域名已正确配置 CNAME +3. 确认 Bucket 的防盗链设置未阻止访问 + +--- + +## 参考链接 + +- [阿里云 OSS 地域和访问域名](https://help.aliyun.com/zh/oss/user-guide/regions-and-endpoints) +- [PicGo 官方文档](https://docs.picgo.app/) +- [PicGo 图床配置指南](https://docs.picgo.app/gui/guide/config) + +--- + +> 本文档更新于 2026-06-13,基于阿里云 OSS 最新功能(无地域属性资源包) diff --git a/package.json b/package.json index 5658aac5a..6837410dd 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "picgo": "^2.0.3", "qrcode.vue": "^3.3.3", "semver": "^7.7.3", + "sharp": "^0.35.1", "shell-path": "2.1.0", "systeminformation": "^5.27.14", "tunnel": "^0.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23ead8edd..56a0bef73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,6 +83,9 @@ importers: semver: specifier: ^7.7.3 version: 7.7.3 + sharp: + specifier: ^0.35.1 + version: 0.35.1 shell-path: specifier: 2.1.0 version: 2.1.0 @@ -638,6 +641,9 @@ packages: peerDependencies: vue: ^3.2.0 + '@emnapi/runtime@1.11.0': + resolution: {integrity: sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==} + '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} @@ -867,6 +873,168 @@ packages: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.35.1': + resolution: {integrity: sha512-T15JRWOubQ3f5+GxnWeIvo47u5qV0M9HBgJhT+f2gE1e9e6OhR6K73Re52Hm80qWcu1DNb3GweKmpr/MnuP2Ow==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.35.1': + resolution: {integrity: sha512-t1CPD0cr7XCHjwUj6tQ5MC0pCi866I+gUW6zbUX4aFPnKd1DFBtk0M+gWcjX8VeEzgfCNiSiNTVFZ6b7kvdbnQ==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-freebsd-wasm32@0.35.1': + resolution: {integrity: sha512-MBSQXqNPThW9EcZ905H6N4sEdX5EwZEYzGx5EBq9ncDCGJALMiY1xPFJxNdzuB1iBjLOpIfxajM6YxdvwmQSLA==} + engines: {node: '>=20.9.0'} + os: [freebsd] + + '@img/sharp-libvips-darwin-arm64@1.3.0': + resolution: {integrity: sha512-EKbmBKtyTH+GPFDRw2TgK2oV6hyxxlJVIar4hoTYSNmIwipgMFdxPQqR392GmfdsPGWga0mCFN1cCKjRb9cljw==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.3.0': + resolution: {integrity: sha512-Pl2OmOvrJ42adUllESxBsG54PfXLo1OYg9i3c5/5Ln/qJ0gZuTM9YMhQJPIbXqwidLRc/c2zuHt4RsrymmNv7A==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.3.0': + resolution: {integrity: sha512-C0SqjoFKnszqa44EQ7xoaT48nnO0lOyXEULfXMWi8krrjOPGYkeK30Okzla6ATbBYsyZ0ySinK0FVkpv3DwzfQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.3.0': + resolution: {integrity: sha512-A8UpHoUDW4DwnXoV6+q3C1s7QLRAHtPDEjWuNZjwHMyoCNZnm0GeNN8ls9f/bsEYTRQRW96C/n34XJQHJ2fT7A==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.3.0': + resolution: {integrity: sha512-WOpkVxAjFd369iaIzEgNRreFD+gWdUMIGD5zplhNKNeqS6mm5dac3q2AFyCBmzYoAdouzZvRBgxy4z8QHZb4/A==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.3.0': + resolution: {integrity: sha512-DRWw0mOHusrCCuw2rqP87oLg6PGlkomVDFqw2hIwsSfwWpu4k3XLcBPaKKl6ct/GtL/cwNkgwjV/tc0Mqht3VA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.3.0': + resolution: {integrity: sha512-9APy+nFWhHS+kzLgWZfLcyrUd7YqnAQVa4BPOo4xkoHpdoktOAPG4cEr9+Jpl0TtqfVmcMJimNL5qNTyyOHZNA==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.3.0': + resolution: {integrity: sha512-y9RNUYDe2A1UAdhLyfeOodGRszQdaEoe4nfOpp/sNVPl2CWIcUyFaDoCh4vPLPxu19803j2naLqZup2WxDXCLA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.3.0': + resolution: {integrity: sha512-cC1wkC0Mlucd0KSiGrLkJnB/ZqPvZCntc/Lk7ZnYO5ZSbF2euNek4Xvxafojq+wN1q/W0eprdpUIjUr/EV2PBg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.3.0': + resolution: {integrity: sha512-LiYMhUZicB1QG//+RvmYZpXJO8fYRENfp+MZUCnG9aw+AKvGAy9gPaCnuwsPcBFs8EV66M0NNxj9VHcNklE8zw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.35.1': + resolution: {integrity: sha512-ErCRyGU7LeoaFBZ0xW8hhLlXzhAg80sc4vxePB86qvtEvW1jEhhmbiNBP4oEzZfPMnu6HwHXfzD2W2kBU+RnCw==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.35.1': + resolution: {integrity: sha512-jygmR02PpCYypt7xB7nst1vqjZp/BpRA/Kf9nK7qRponJ/KrLPaZWEG4G15z1d2FZ6XqI+T0350ha3RSnKx24A==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.35.1': + resolution: {integrity: sha512-LUWZ2+r2UoLCd8j0RLCwQ4gL6w47+Y7igxtVnPIDXOOEjV86LpBkAHq5VpJeg+GHbw0KN/JWlPJOdZjyZnFqFQ==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.35.1': + resolution: {integrity: sha512-i7x6J3mwF4JgT0sM4V4WlAWdJ0bucPtA9rzO1bTji1n5qgBq/W5nn87RvOQPleuuxahNoLdTngByD8/vDDLArw==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.35.1': + resolution: {integrity: sha512-0zSaTUjTF0kIWTSYxD4EG/nvCU4jez53+3RdURtoY3HvbXtIQ98W90JnrGz/oLRFuEnfIy9+7xeq883euc0ZWw==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.35.1': + resolution: {integrity: sha512-NbJD4mWdeyrNQKluO/tR/wBDOelcowSVGNBWxI0e3ZtlXc6F/UOVKDj1MLD4zl3oHTuvKW3s+MA9N54YTldAYw==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.35.1': + resolution: {integrity: sha512-VoW2sQCWI+0YIKQEmWJ8vzaQjTg9wIyfkFpvEfAS2h43X6iHu7GTk1hhOgB4IpSzCHe8UwQZIcx7b81VTaOrJA==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.35.1': + resolution: {integrity: sha512-LjBoSd/c5JU0/K5MwzDMlgsSRP2bPn98JQGFFQAOLQ0bU/1z4ekxUdSKY9BmlwSh/cA+OrvpgsWqfZyYfVHBRw==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.35.1': + resolution: {integrity: sha512-PCQUoQdZyE8tp3HpbevuihfUmgSP4qWI0FGEPWoeXqaS+cUrFfemabHQiebUmUmlUhCuNnQMxGrQ+CPqK4hnxg==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.1': + resolution: {integrity: sha512-xU2ml2bU2OPxYVvW2A6ae4M1g5QKyhKG06P4FAt+YEaFQQO0919Qx+XxIZEUuWTMoDViLpMws2/dQwoe/VcA6A==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.35.1': + resolution: {integrity: sha512-IkmHwuFhYpd3bTsN5SAahjwhiAcyXPooBt8vEUgxY3T0IP70sSJ0nU1xiPzZY8AH/OB1XpV3j8aZSVSOSfTbdA==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.35.1': + resolution: {integrity: sha512-wQahqCi9MD8Yxzg4gVM4fNrZxh+r6vD55PyIg+WJPaM5ZRUyF35iQpwJCuma3r6viU9/8Pxlc+XHV+woVa6nCQ==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.35.1': + resolution: {integrity: sha512-WzBtkYtZHATLPe8XRharxZXxQ9cdLrQWHiwxt+BJ5rBsisQrKeeV86ErxPSVhcG6xCEuNhs0SqLpWr7XDa2k6w==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + '@inquirer/ansi@2.0.2': resolution: {integrity: sha512-SYLX05PwJVnW+WVegZt1T4Ip1qba1ik+pNJPDiqvk6zS5Y/i8PhRzLpGEtVd7sW0G8cMtkD8t4AZYhQwm8vnww==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} @@ -1123,56 +1291,67 @@ packages: resolution: {integrity: sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.53.3': resolution: {integrity: sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.53.3': resolution: {integrity: sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.53.3': resolution: {integrity: sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.53.3': resolution: {integrity: sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.53.3': resolution: {integrity: sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.53.3': resolution: {integrity: sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.53.3': resolution: {integrity: sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.53.3': resolution: {integrity: sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.53.3': resolution: {integrity: sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.53.3': resolution: {integrity: sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openharmony-arm64@4.53.3': resolution: {integrity: sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==} @@ -1734,6 +1913,7 @@ packages: '@xmldom/xmldom@0.8.11': resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} engines: {node: '>=10.0.0'} + deprecated: this version has critical issues, please update to the latest version JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -2195,24 +2375,28 @@ packages: engines: {node: '>= 20'} cpu: [arm64] os: [linux] + libc: [glibc] clip-filepaths-linux-arm64-musl@0.3.0: resolution: {integrity: sha512-0JiZ4bBNhv8Hv6fh88E6M4bPzdFR3MDUiu/Y/jvC012DZRUUTRh6Mk+zcrol8A0zjFMha/VofO7wtXI4yVIJMw==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] + libc: [musl] clip-filepaths-linux-x64-gnu@0.3.0: resolution: {integrity: sha512-Cq+go0MfeNh+KSiWla0uYFZ2nOSsCI2MF7qcvyd2r7DGDpd02nNeAYXO6kGr4WYgy1z7JRCYyjwrbsPi/KFcrw==} engines: {node: '>= 20'} cpu: [x64] os: [linux] + libc: [glibc] clip-filepaths-linux-x64-musl@0.3.0: resolution: {integrity: sha512-yZP8/FXT7ca4KKxnTFapJINf8uMUWRqLmW3NBcs2DUJ/Z5merc7vJu3aaGnzMO9+IFwWk6Wl4UFSHD3l5OX2Qg==} engines: {node: '>= 20'} cpu: [x64] os: [linux] + libc: [musl] clip-filepaths-win32-arm64-msvc@0.3.0: resolution: {integrity: sha512-IuzhKedlG8jvfuK2Np6pcjeAherzGTldPiNcodslaSyPJT5tBwSvQp4a9jN/B4vp9QTlPDpDMFeUcjgOmZ41RQ==} @@ -3183,11 +3367,13 @@ packages: git-raw-commits@1.3.6: resolution: {integrity: sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-remote-origin-url@2.0.0: @@ -3197,6 +3383,7 @@ packages: git-semver-tags@4.1.1: resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} engines: {node: '>=10'} + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true gitconfiglocal@1.0.0: @@ -3212,11 +3399,12 @@ packages: glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -4772,6 +4960,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.4: + resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==} + engines: {node: '>=10'} + hasBin: true + serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} @@ -4791,6 +4984,10 @@ packages: setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + sharp@0.35.1: + resolution: {integrity: sha512-lW979AMi+ESidzMv/Lnv+F9bknzLyxLqFI05Sm433vOeRcltgxQmXpnfOOFIAlKtwXU/ksupm2srQoFCkR214g==} + engines: {node: '>=20.9.0'} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -5072,10 +5269,12 @@ packages: tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me tar@7.5.2: resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} engines: {node: '>=18'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me temp-file@3.4.0: resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} @@ -5282,6 +5481,7 @@ packages: uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true validate-npm-package-license@3.0.4: @@ -6363,7 +6563,7 @@ snapshots: node-gyp: 11.5.0 ora: 5.4.1 read-binary-file-arch: 1.0.6 - semver: 7.7.3 + semver: 7.7.4 tar: 6.2.1 yargs: 17.7.2 transitivePeerDependencies: @@ -6396,6 +6596,11 @@ snapshots: dependencies: vue: 3.5.25(typescript@5.9.3) + '@emnapi/runtime@1.11.0': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.25.12': optional: true @@ -6548,6 +6753,112 @@ snapshots: '@hutson/parse-repository-url@3.0.2': {} + '@img/colour@1.1.0': {} + + '@img/sharp-darwin-arm64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.0 + optional: true + + '@img/sharp-darwin-x64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.0 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.1': + dependencies: + '@img/sharp-wasm32': 0.35.1 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.3.0': + optional: true + + '@img/sharp-libvips-darwin-x64@1.3.0': + optional: true + + '@img/sharp-libvips-linux-arm64@1.3.0': + optional: true + + '@img/sharp-libvips-linux-arm@1.3.0': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.3.0': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.3.0': + optional: true + + '@img/sharp-libvips-linux-s390x@1.3.0': + optional: true + + '@img/sharp-libvips-linux-x64@1.3.0': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.3.0': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.3.0': + optional: true + + '@img/sharp-linux-arm64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.0 + optional: true + + '@img/sharp-linux-arm@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.0 + optional: true + + '@img/sharp-linux-ppc64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.0 + optional: true + + '@img/sharp-linux-riscv64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.0 + optional: true + + '@img/sharp-linux-s390x@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.0 + optional: true + + '@img/sharp-linux-x64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.0 + optional: true + + '@img/sharp-linuxmusl-arm64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.0 + optional: true + + '@img/sharp-linuxmusl-x64@0.35.1': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.0 + optional: true + + '@img/sharp-wasm32@0.35.1': + dependencies: + '@emnapi/runtime': 1.11.0 + optional: true + + '@img/sharp-webcontainers-wasm32@0.35.1': + dependencies: + '@img/sharp-wasm32': 0.35.1 + optional: true + + '@img/sharp-win32-arm64@0.35.1': + optional: true + + '@img/sharp-win32-ia32@0.35.1': + optional: true + + '@img/sharp-win32-x64@0.35.1': + optional: true + '@inquirer/ansi@2.0.2': {} '@inquirer/checkbox@5.0.2(@types/node@20.19.26)': @@ -6750,7 +7061,7 @@ snapshots: '@npmcli/fs@4.0.0': dependencies: - semver: 7.7.3 + semver: 7.7.4 '@picgo/bump-version@2.0.0(@types/node@20.19.26)(typescript@5.9.3)': dependencies: @@ -7461,7 +7772,7 @@ snapshots: '@typescript-eslint/visitor-keys': 8.49.0 debug: 4.4.3 minimatch: 9.0.5 - semver: 7.7.3 + semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 @@ -9450,7 +9761,7 @@ snapshots: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.7.3 + semver: 7.7.4 serialize-error: 7.0.1 optional: true @@ -10335,14 +10646,14 @@ snapshots: node-abi@4.24.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 node-addon-api@1.7.2: optional: true node-api-version@0.2.1: dependencies: - semver: 7.7.3 + semver: 7.7.4 node-fetch-native@1.6.7: {} @@ -10354,7 +10665,7 @@ snapshots: make-fetch-happen: 14.0.3 nopt: 8.1.0 proc-log: 5.0.0 - semver: 7.7.3 + semver: 7.7.4 tar: 7.5.2 tinyglobby: 0.2.15 which: 5.0.0 @@ -10378,7 +10689,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.3 + semver: 7.7.4 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -11016,6 +11327,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.4: {} + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 @@ -11045,6 +11358,38 @@ snapshots: setimmediate@1.0.5: {} + sharp@0.35.1: + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.4 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.1 + '@img/sharp-darwin-x64': 0.35.1 + '@img/sharp-freebsd-wasm32': 0.35.1 + '@img/sharp-libvips-darwin-arm64': 1.3.0 + '@img/sharp-libvips-darwin-x64': 1.3.0 + '@img/sharp-libvips-linux-arm': 1.3.0 + '@img/sharp-libvips-linux-arm64': 1.3.0 + '@img/sharp-libvips-linux-ppc64': 1.3.0 + '@img/sharp-libvips-linux-riscv64': 1.3.0 + '@img/sharp-libvips-linux-s390x': 1.3.0 + '@img/sharp-libvips-linux-x64': 1.3.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.0 + '@img/sharp-libvips-linuxmusl-x64': 1.3.0 + '@img/sharp-linux-arm': 0.35.1 + '@img/sharp-linux-arm64': 0.35.1 + '@img/sharp-linux-ppc64': 0.35.1 + '@img/sharp-linux-riscv64': 0.35.1 + '@img/sharp-linux-s390x': 0.35.1 + '@img/sharp-linux-x64': 0.35.1 + '@img/sharp-linuxmusl-arm64': 0.35.1 + '@img/sharp-linuxmusl-x64': 0.35.1 + '@img/sharp-webcontainers-wasm32': 0.35.1 + '@img/sharp-win32-arm64': 0.35.1 + '@img/sharp-win32-ia32': 0.35.1 + '@img/sharp-win32-x64': 0.35.1 + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -11103,7 +11448,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 slash@2.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 30c3c835a..8f5d01e6d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,11 @@ +allowBuilds: + core-js: set this to true or false + electron: set this to true or false + electron-winstaller: set this to true or false + esbuild: set this to true or false + husky: set this to true or false + vue-demi: set this to true or false + onlyBuiltDependencies: - core-js - ejs diff --git a/public/i18n/en.yml b/public/i18n/en.yml index c0543da48..1c985fb2c 100644 --- a/public/i18n/en.yml +++ b/public/i18n/en.yml @@ -188,6 +188,11 @@ SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: Use Builtin Clipboard to Upload SETTINGS_CHOOSE_LANGUAGE: Choose Language UPLOADER_CONFIG_NAME: Configuration Name BUILTIN_CLIPBOARD_TIPS: Use builtin clipboard function to upload instead of using scripts +SETTINGS_PASTE_IMAGE_FORMAT: Paste Image Format +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF # url rewrite diff --git a/public/i18n/fr.yml b/public/i18n/fr.yml new file mode 100644 index 000000000..54f5ed609 --- /dev/null +++ b/public/i18n/fr.yml @@ -0,0 +1,388 @@ +LANG_DISPLAY_LABEL: Français +ABOUT: À propos +OPEN_MAIN_WINDOW: Ouvrir la fenêtre principale +CHOOSE_DEFAULT_PICBED: Choisir l'hébergement par défaut +OPEN_UPDATE_HELPER: Ouvrir l'assistant de mise à jour +PRIVACY_TERMS_AGREEMENT: Politique de confidentialité et conditions d'utilisation +RELOAD_APP: Redémarrer l'application +UPLOAD_SUCCEED: Téléversement réussi +UPLOAD_FAILED: Échec du téléversement +UPLOAD_PROGRESS: Progression du téléversement +OPERATION_SUCCEED: Opération réussie +OPERATION_FAILED: Échec de l'opération +UPLOADING: Téléversement en cours +QUICK_UPLOAD: Téléversement rapide +UPLOAD_BY_CLIPBOARD: Téléverser depuis le presse-papiers +HIDE_WINDOW: Masquer la fenêtre +SPONSOR_PICGO: Soutenir PicGo +SHOW_PICBED_QRCODE: Afficher le QR code de configuration +PICBED_QRCODE: QR code de configuration +ENABLE: Activer +DISABLE: Désactiver +CONFIG_THING: Configurer ${c} +FIND_NEW_VERSION: Nouvelle version trouvée +NO_MORE_NOTICE: Ne plus afficher +SHOW_DEVTOOLS: Ouvrir les outils de développement +CURRENT_PICBED: Hébergement actuel +OPEN_TOOLBOX: Ouvrir la boîte à outils + +# ---renderer i18n begin--- + +CHOOSE_YOUR_DEFAULT_PICBED: "Choisir ${d} comme hébergement par défaut :" +UPLOAD_AREA: Zone de téléversement +GALLERY: Galerie +PICBEDS_SETTINGS: Paramètres d'hébergement +PICGO_SETTINGS: Paramètres PicGo +PLUGIN_SETTINGS: Paramètres des plugins +PICGO_CLOUD_TITLE: PicGo Cloud +PICGO_CLOUD_ERROR_TITLE: Erreur PicGo Cloud +PICGO_CLOUD_NOT_LOGGED_IN: Non connecté à PicGo Cloud +PICGO_CLOUD_LOGIN: Connexion +PICGO_CLOUD_LOGOUT: Déconnexion +PICGO_CLOUD_CANCEL_LOGIN: Annuler la connexion +PICGO_CLOUD_RETRY: Réessayer +PICGO_CLOUD_CONFIG_SYNC: Synchronisation de la configuration +PICGO_CLOUD_LOGIN_IN_PROGRESS: Connexion en cours. Veuillez terminer la connexion dans votre navigateur. +PICGO_CLOUD_LOGGED_IN_AS: "Connecté en tant que : ${user}" +PICGO_CLOUD_OPEN: Ouvrir PicGo Cloud +PICGO_CLOUD_LOGIN_TIMEOUT: Délai de connexion expiré. Veuillez réessayer. +PICGO_CLOUD_LOGIN_FAILED: Échec de la connexion. Veuillez réessayer. +PICGO_CLOUD_AGREE_PREFIX: "J'ai lu et j'accepte les " +PICGO_CLOUD_TERMS_OF_SERVICE: Conditions d'utilisation +PICGO_CLOUD_AGREE_AND: " et la " +PICGO_CLOUD_PRIVACY_POLICY: Politique de confidentialité +PICGO_CLOUD_LOGIN_EXPIRED: Session expirée. Veuillez vous reconnecter. +PICGO_CLOUD_ENCRYPTION_MODE_LABEL: Mode de chiffrement +PICGO_CLOUD_ENCRYPTION_MODE_AUTO: Automatique +PICGO_CLOUD_ENCRYPTION_MODE_SERVER: Chiffrement côté serveur +PICGO_CLOUD_ENCRYPTION_MODE_E2E: Chiffrement de bout en bout +PICGO_CLOUD_ENCRYPTION_MODE_TIP_AUTO: Automatique : suit la dernière méthode de chiffrement utilisée par le cloud (par défaut, chiffrement côté serveur). +PICGO_CLOUD_ENCRYPTION_MODE_TIP_SERVER: Chiffrement côté serveur : votre configuration est chiffrée sur le serveur avant d'être stockée. Aucun PIN requis. +PICGO_CLOUD_ENCRYPTION_MODE_TIP_E2E: Chiffrement de bout en bout : utilisez votre PIN pour chiffrer/déchiffrer les données. PicGo ne stocke pas votre PIN ; si vous le perdez, les données ne pourront pas être récupérées. +PICGO_CLOUD_ENCRYPTION_MODE_TIP_DOC: Voir la documentation complète +PICGO_CLOUD_E2E_CHECKBOX_LABEL: Activer le chiffrement E2E +PICGO_CLOUD_E2E_ENABLE_WARNING_TITLE: Activer le chiffrement E2E +PICGO_CLOUD_E2E_ENABLE_WARNING_MESSAGE: Le chiffrement E2E nécessite que vous conserviez votre PIN en lieu sûr. Si vous perdez votre PIN, les données chiffrées ne pourront pas être récupérées. PicGo ne stocke ni votre PIN ni aucune donnée de récupération. +PICGO_CLOUD_REMOTE_E2E_AUTO_ENABLED: La configuration distante est chiffrée en E2E. E2E a été automatiquement activé localement. +PICGO_CLOUD_E2E_PIN_SETUP_TITLE: Configurer le PIN E2E +PICGO_CLOUD_E2E_PIN_DECRYPT_TITLE: Saisir le PIN E2E +PICGO_CLOUD_E2E_PIN_RETRY_TITLE: "PIN incorrect. Veuillez réessayer (tentative ${retryCount})." +PICGO_CLOUD_E2E_PIN_PLACEHOLDER: PIN +PICGO_CLOUD_E2E_PIN_CONFIRM_PLACEHOLDER: Confirmer le PIN +PICGO_CLOUD_CONFIG_SYNC_SUCCESS: Synchronisation de la configuration réussie. +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_DETECTED: Conflit détecté. Veuillez résoudre les conflits. +PICGO_CLOUD_CONFIG_SYNC_FAILED: Échec de la synchronisation. +PICGO_CLOUD_CONFIG_SYNC_ABORTED: Synchronisation annulée. +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_TITLE: Confirmer le changement de méthode de chiffrement ? +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_BODY: "Vous passez de \"${from}\" à \"${to}\".\n\nNote : changer de mode de chiffrement effacera tous vos historiques de version cloud.\nCela est dû au fait que les anciennes versions ne peuvent pas être déchiffrées ou vérifiées dans le nouveau mode.\nAprès le changement, le système créera immédiatement une nouvelle sauvegarde." +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CONFIRM: Confirmer le changement et effacer l'historique +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCEL: Annuler +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCELLED: Changement de méthode de chiffrement annulé +PICGO_CLOUD_CONFIG_SYNC_FAILED_WITH_REASON: "Échec de la synchronisation : ${reason}" +PICGO_CLOUD_CONFIG_SYNC_PIN_MAX_RETRY: Trop de tentatives de PIN incorrectes. Veuillez réessayer plus tard. +PICGO_CLOUD_CONFIG_SYNC_LOCAL_CONFIG_INVALID: Configuration locale invalide. Veuillez vérifier votre fichier de configuration. +PICGO_CLOUD_CONFIG_SYNC_IN_PROGRESS: Synchronisation en cours… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_PENDING: Conflits en attente. Veuillez d'abord résoudre les conflits. +PICGO_CLOUD_CONFIG_SYNC_NO_CONFLICT_SESSION: Aucune session de conflit trouvée. +PICGO_CLOUD_CONFIG_SYNC_RESOLUTION_INCOMPLETE: Veuillez choisir Local ou Cloud pour tous les éléments en conflit. +PICGO_CLOUD_CONFIG_SYNC_STARTING: Synchronisation démarrée… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_TITLE: "Conflits détectés (${count})" +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_LOCAL: Tout choisir en local +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_CLOUD: Tout choisir en cloud +PICGO_CLOUD_CONFIG_SYNC_RESET_ALL: Tout réinitialiser +PICGO_CLOUD_CONFIG_SYNC_LOCAL_VERSION: Version locale +PICGO_CLOUD_CONFIG_SYNC_CLOUD_VERSION: Version cloud +PICGO_CLOUD_CONFIG_SYNC_ABORT: Abandonner +PICGO_CLOUD_CONFIG_SYNC_CONFIRM_AND_SYNC: Confirmer et synchroniser +PICGO_CLOUD_CONFIG_SYNC_VALUE_UNDEFINED: (vide) +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_RESOLVED: Conflits résolus. +PICGO_CLOUD_LAST_SYNC_TIME: "Dernière synchronisation locale : ${time}" +PICGO_CLOUD_LAST_SYNC_TIME_NONE: Aucune +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_TITLE: Redémarrage requis ? +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_MESSAGE: Certains paramètres peuvent nécessiter un redémarrage. Redémarrer maintenant ? +PICGO_CLOUD_CONFIG_SYNC_RESTART_NOW: Redémarrer maintenant +PICGO_CLOUD_CONFIG_SYNC_RESTART_LATER: Plus tard +INPUT_BOX_CONFIRM_MISMATCH: Les deux saisies ne correspondent pas. Veuillez réessayer. +PICGO_SPONSOR_TEXT: PicGo est un logiciel libre et gratuit. Si vous l'aimez, n'hésitez pas à m'offrir un café ! +ALIPAY: Alipay +WECHATPAY: WeChat Pay +CHOOSE_PICBED: Choisir l'hébergement +COPY_PICBED_CONFIG: Copier la configuration +COPY_PICBED_CONFIG_SUCCEED: Configuration copiée avec succès +INPUT: Saisie +CANCEL: Annuler +CONFIRM: Confirmer +CHOOSE_SHOWED_PICBED: Choisir l'hébergement affiché +CHOOSE_PASTE_FORMAT: Choisir le format de collage +SEARCH: Rechercher +COPY: Copier +DELETE: Supprimer +SELECT_ALL: Tout sélectionner +CHANGE_IMAGE_URL: Modifier l'URL de l'image +CHANGE_IMAGE_URL_SUCCEED: URL de l'image modifiée avec succès +COPY_LINK_SUCCEED: Lien copié avec succès +BATCH_COPY_LINK_SUCCEED: Liens copiés en lot avec succès +FILE_RENAME: Renommer le fichier +COPY_FILE_PATH: Copier le chemin du fichier +OPEN_FILE_PATH: Ouvrir le chemin du fichier +SUCCESS: Succès +FAILED: Échec + +# settings + +SETTINGS: Paramètres +SETTINGS_OPEN_CONFIG_FILE: Ouvrir le fichier de configuration +SETTINGS_CLICK_TO_OPEN: Cliquer pour ouvrir +SETTINGS_SET_LOG_FILE: Définir le fichier de log +SETTINGS_CLICK_TO_SET: Cliquer pour définir +SETTINGS_CLICK_TO_CHECK: Cliquer pour vérifier +SETTINGS_SET_SHORTCUT: Définir les raccourcis +SETTINGS_URL_REWRITE: Réécriture d'URL +SETTINGS_CUSTOM_LINK_FORMAT: Format de lien personnalisé +SETTINGS_SET_PROXY_AND_MIRROR: Définir le proxy et le miroir +SETTINGS_SET_SERVER: Configurer le serveur +SETTINGS_CHECK_UPDATE: Vérifier les mises à jour +SETTINGS_OPEN_UPDATE_HELPER: Ouvrir l'assistant de mise à jour +SETTINGS_OPEN: Activé +SETTINGS_CLOSE: Désactivé +SETTINGS_ACCEPT_BETA_UPDATE: Accepter les mises à jour bêta +SETTINGS_LAUNCH_ON_BOOT: Lancer au démarrage +SETTINGS_RENAME_BEFORE_UPLOAD: Renommer avant téléversement +SETTINGS_TIMESTAMP_RENAME: Renommer avec horodatage +SETTINGS_OPEN_UPLOAD_TIPS: Afficher les notifications de téléversement +SETTINGS_NOTIFICATION_SOUND: Émettre un son de notification +SETTINGS_MINI_WINDOW_ON_TOP: Fenêtre mini toujours au premier plan +SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: Copier automatiquement l'URL après téléversement +SETTINGS_TIPS_PLACEHOLDER_URL: Utilisez $url pour représenter la position de l'URL +SETTINGS_TIPS_PLACEHOLDER_FILENAME: Utilisez $fileName pour représenter la position du nom de fichier +SETTINGS_TIPS_PLACEHOLDER_EXTNAME: Utilisez $extName pour représenter la position de l'extension +SETTINGS_TIPS_SUCH_AS: Exemple +SETTINGS_UPLOAD_PROXY: Proxy de téléversement +SETTINGS_PLUGIN_INSTALL_PROXY: Proxy d'installation des plugins +SETTINGS_PLUGIN_INSTALL_MIRROR: Miroir d'installation des plugins +SETTINGS_CURRENT_VERSION: Version actuelle +SETTINGS_NEWEST_VERSION: Dernière version +SETTINGS_GETING: Récupération en cours +SETTINGS_TIPS_HAS_NEW_VERSION: Une nouvelle version de PicGo est disponible. Cliquez sur Confirmer pour ouvrir la page de téléchargement. +SETTINGS_LOG_FILE: Fichier de log +SETTINGS_LOG_LEVEL: Niveau de log +SETTINGS_LOG_FILE_SIZE: Taille du fichier de log +SETTINGS_SET_PICGO_SERVER: Configurer PicGo-Server +SETTINGS_TIPS_SERVER_NOTICE: Si vous ne savez pas à quoi sert le serveur, veuillez lire la documentation ou ne pas modifier la configuration. +SETTINGS_ENABLE_SERVER: Activer le serveur +SETTINGS_SET_SERVER_HOST: Définir l'adresse d'écoute +SETTINGS_SET_SERVER_PORT: Définir le port d'écoute +SETTINGS_TIP_PLACEHOLDER_HOST: Valeur par défaut recommandée : 127.0.0.1 +SETTINGS_TIP_PLACEHOLDER_PORT: Port par défaut recommandé : 36677 +SETTINGS_LOG_LEVEL_ALL: Tout-All +SETTINGS_LOG_LEVEL_SUCCESS: Succès-Success +SETTINGS_LOG_LEVEL_ERROR: Erreur-Error +SETTINGS_LOG_LEVEL_INFO: Info-Info +SETTINGS_LOG_LEVEL_WARN: Avertissement-Warn +SETTINGS_LOG_LEVEL_NONE: Aucun-None +SETTINGS_RESULT: Résultat +SETTINGS_DEFAULT_PICBED: Définir l'hébergement par défaut +SETTINGS_SET_DEFAULT_PICBED: Définir comme hébergement par défaut +SETTINGS_NOT_CONFIG_OPTIONS: Aucune option de configuration +SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: Utiliser le presse-papiers intégré +SETTINGS_CHOOSE_LANGUAGE: Choisir la langue +BUILTIN_CLIPBOARD_TIPS: Utiliser la fonction de presse-papiers intégrée au lieu d'exécuter des scripts +SETTINGS_PASTE_IMAGE_FORMAT: Format d'image au collage +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF +UPLOADER_CONFIG_NAME: Nom de la configuration + +# url rewrite + +URL_REWRITE_HELP: Réécrit les URL des images téléversées. Les règles sont évaluées dans l'ordre ; la première règle correspondante s'applique. +URL_REWRITE_ADD_RULE: Ajouter une règle +URL_REWRITE_EDIT_RULE: Modifier la règle +URL_REWRITE_EMPTY: Aucune règle +URL_REWRITE_ORDER: Ordre +URL_REWRITE_MATCH: Correspondance +URL_REWRITE_REPLACE: Remplacement +URL_REWRITE_FLAGS: Drapeaux +URL_REWRITE_ENABLED: Activé +URL_REWRITE_ACTIONS: Actions +URL_REWRITE_MOVE_UP: Monter +URL_REWRITE_MOVE_DOWN: Descendre +URL_REWRITE_EDIT: Modifier +URL_REWRITE_DELETE: Supprimer +URL_REWRITE_DELETE_CONFIRM: Supprimer cette règle ? +URL_REWRITE_MATCH_TIPS: Prend en charge les expressions régulières (JavaScript RegExp) +URL_REWRITE_MATCH_PLACEHOLDER: https://example.com/path +URL_REWRITE_REPLACE_TIPS: Chaîne de remplacement (prend en charge $1, $2...) +URL_REWRITE_REPLACE_PLACEHOLDER: https://example.org/newpath +URL_REWRITE_OPTIONS: Options +URL_REWRITE_RULE_ENABLED: Activer cette règle +URL_REWRITE_FLAG_GLOBAL_LABEL: Global (g) +URL_REWRITE_FLAG_GLOBAL_DESC: Remplacer toutes les occurrences, pas seulement la première +URL_REWRITE_FLAG_IGNORE_CASE_LABEL: Ignorer la casse (i) +URL_REWRITE_FLAG_IGNORE_CASE_DESC: Correspondance insensible à la casse (par ex., JPG équivaut à jpg) +URL_REWRITE_MATCH_REQUIRED: La règle de correspondance est requise +URL_REWRITE_REPLACE_REQUIRED: Le contenu de remplacement est requis +URL_REWRITE_INVALID_REGEX: Expression régulière invalide +URL_REWRITE_PREVIEW_TITLE: Aperçu +URL_REWRITE_PREVIEW_TIPS: Saisissez une URL pour voir comment les règles actuelles la réécrivent (correspondance dans l'ordre, seule la première règle correspondante s'applique) +URL_REWRITE_PREVIEW_PLACEHOLDER: https://example.com/path/to/image.png +URL_REWRITE_PREVIEW_RUN: Aperçu +URL_REWRITE_PREVIEW_OUTPUT: URL de sortie +URL_REWRITE_PREVIEW_INPUT_REQUIRED: Veuillez saisir une URL à prévisualiser +URL_REWRITE_PREVIEW_RULE_INVALID: Règle invalide +URL_REWRITE_PREVIEW_MATCHED_RULE: Règle correspondante +URL_REWRITE_PREVIEW_NO_MATCH: Aucune règle correspondante +UPLOADER_CONFIG_PLACEHOLDER: Veuillez saisir le nom de la configuration +SELECTED_SETTING_HINT: Sélectionné +SETTINGS_ENCODE_OUTPUT_URL: Encoder l'URL de sortie (ou copiée) +SETTINGS_SHOW_DOCK_ICON: Afficher l'icône du Dock +SETTINGS_SHOW_MENUBAR_ICON: Afficher l'icône de la barre de menus +SETTINGS_SHOW_MENUBAR_ICON_TIPS: Si « Afficher l'icône du Dock » et « Afficher l'icône de la barre de menus » sont tous deux désactivés, vous ne pourrez pas retrouver la fenêtre principale de PicGo. Modifiez le fichier de configuration et définissez showDockIcon ou showMenubarIcon sur true pour récupérer l'accès. +SETTINGS_STARTUP_MODE: Mode de démarrage +SETTINGS_STARTUP_MODE_MAIN_WINDOW: Ouvrir la fenêtre principale +SETTINGS_STARTUP_MODE_MINI_WINDOW: Ouvrir la fenêtre mini +SETTINGS_STARTUP_MODE_HIDE: Démarrage silencieux + +# shortcut-page + +SHORTCUT_NAME: Nom du raccourci +SHORTCUT_BIND: Raccourci clavier +SHORTCUT_STATUS: État +SHORTCUT_ENABLED: Activé +SHORTCUT_DISABLED: Désactivé +SHORTCUT_SOURCE: Source +SHORTCUT_HANDLE: Action +SHORTCUT_ENABLE: Activer +SHORTCUT_DISABLE: Désactiver +SHORTCUT_EDIT: Modifier +SHORTCUT_CHANGE_UPLOAD: Modifier le raccourci de téléversement + +# gallery-page +GALLERY_URL_REWRITE_TITLE: Réécrire les URL des images sélectionnées +GALLERY_URL_REWRITE_RESULT_TITLE: Résultat de la réécriture d'URL +GALLERY_URL_REWRITE_WARN_NO_SELECTION: Vous devez d'abord sélectionner au moins une image + +GALLERY_URL_REWRITE_APPLY_GLOBAL_RULES: Appliquer les règles globales de réécriture d'URL +GALLERY_URL_REWRITE_GLOBAL_RULES_COUNT: Nombre de règles globales +GALLERY_URL_REWRITE_TEMP_RULE_TIPS: Optionnel. Laissez vide pour ignorer la règle temporaire. La règle temporaire a une priorité plus élevée que les règles globales. +GALLERY_URL_REWRITE_TEMP_RULE_REQUIRED: La règle temporaire nécessite à la fois « Correspondance » et « Remplacement » +GALLERY_URL_REWRITE_NO_RULES_TO_APPLY: Aucune règle globale activée et aucune règle temporaire fournie +GALLERY_URL_REWRITE_SAVE_TEMP_RULE_PROMPT: Enregistrer la règle temporaire dans la liste des règles globales de réécriture d'URL ? +GALLERY_URL_REWRITE_APPLY_AND_SAVE: Appliquer et enregistrer +GALLERY_URL_REWRITE_APPLY_ONLY: Appliquer uniquement +GALLERY_URL_REWRITE_NO_CHANGES: Aucune URL modifiée +GALLERY_URL_REWRITE_EMPTY_RESULT_WARN: Le résultat de la réécriture est vide ; ignoré + +# tray-page + +WAIT_TO_UPLOAD: En attente de téléversement +ALREADY_UPLOAD: Téléversé + +# upload-page + +PICTURE_UPLOAD: Téléversement d'image +DRAG_FILE_TO_HERE: Faites glisser le fichier ici, ou +CLICK_TO_UPLOAD: cliquez pour téléverser +LINK_FORMAT: Format du lien +CUSTOM: Personnalisé +CLIPBOARD_PICTURE: Image du presse-papiers +TIPS_DRAG_VALID_PICTURE_OR_URL: Faites glisser une image ou une URL valide ici +TIPS_INPUT_URL: Saisir l'URL +TIPS_HTTP_PREFIX: Commence par http:// ou https://. Plusieurs URL acceptées (une par ligne) +TIPS_INPUT_VALID_URL: Veuillez saisir une URL valide + +# plugins + +PLUGIN_SEARCH_PLACEHOLDER: Rechercher des plugins PicGo sur npm, ou cliquez sur le bouton pour voir la liste des meilleurs plugins +PLUGIN_INSTALL: Installer +PLUGIN_INSTALLING: Installation en cours… +PLUGIN_INSTALLED: Installé +PLUGIN_DOING_SOMETHING: En cours… +PLUGIN_LIST: Liste des plugins +PLUGIN_IMPORT_LOCAL: Importer des plugins locaux + +# tips + +TIPS_REMOVE_LINK: Cette action supprimera l'image de la galerie. Continuer ? +TIPS_WILL_REMOVE_CHOOSED_IMAGES: Cette action supprimera ${m} images de la galerie. Continuer ? +TIPS_MUST_CONTAINS_URL: Doit contenir $url, $fileName ou $extName +TIPS_NETWORK_ERROR: Erreur réseau, impossible de récupérer +TIPS_NEED_RELOAD: Redémarrage nécessaire +TIPS_PLEASE_CHOOSE_LOG_LEVEL: Veuillez choisir le niveau de log +TIPS_SET_SUCCEED: Configuration réussie +TIPS_PLUGIN_NOT_GUI_IMPLEMENT: Ce plugin n'est pas optimisé pour l'interface graphique. Continuer ? +TIPS_CLICK_NOTIFICATION_TO_RELOAD: Cliquez sur la notification pour redémarrer l'application +TIPS_GET_PLUGIN_LIST_FAILED: Échec de la récupération de la liste des plugins + +# ---renderer i18n end--- + +# plugins +PLUGIN_INSTALL_SUCCEED: Plugin installé avec succès +PLUGIN_INSTALL_FAILED: Échec de l'installation du plugin +PLUGIN_UNINSTALL_SUCCEED: Plugin désinstallé avec succès +PLUGIN_UNINSTALL_FAILED: Échec de la désinstallation du plugin +PLUGIN_UPDATE_SUCCEED: Plugin mis à jour avec succès +PLUGIN_UPDATE_FAILED: Échec de la mise à jour du plugin +PLUGIN_IMPORT_SUCCEED: Plugin importé avec succès +PLUGIN_IMPORT_FAILED: Échec de l'importation du plugin +ENABLE_PLUGIN: Activer le plugin +DISABLE_PLUGIN: Désactiver le plugin +UNINSTALL_PLUGIN: Désinstaller le plugin +UPDATE_PLUGIN: Mettre à jour le plugin + +# toolbox +TOOLBOX: Boîte à outils +TOOLBOX_TITLE: Résoudre les problèmes d'exécution de PicGo +TOOLBOX_SUB_TITLE: Analysez immédiatement les éléments suivants pour résoudre les problèmes d'utilisation +TOOLBOX_CHECK_CONFIG_FILE_BROKEN: Vérifier si le fichier de configuration est endommagé +TOOLBOX_CHECK_GALLERY_FILE_BROKEN: Vérifier si le fichier de la galerie est endommagé +TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: Vérifier s'il y a un problème avec le téléversement d'images du presse-papiers +TOOLBOX_CHECK_PROBLEM_WITH_PROXY: Vérifier si les paramètres de proxy sont corrects +TOOLBOX_FIX_DONE_NEED_RELOAD: Réparation terminée. Redémarrage nécessaire. Redémarrer maintenant ? +TOOLBOX_CANT_AUTO_FIX: Impossible de réparer automatiquement. Veuillez corriger vous-même les problèmes suivants +TOOLBOX_START_SCAN: Démarrer l'analyse +TOOLBOX_RE_SCAN: Réanalyser +TOOLBOX_START_FIX: Démarrer la réparation +TOOLBOX_SUCCESS_TIPS: Félicitations, aucun problème détecté +TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: "Chemin du fichier de configuration : ${path}" +TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: Le fichier de configuration est endommagé +TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: "Chemin du fichier de la galerie : ${path}" +TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS: Le fichier de la galerie est endommagé +TOOLBOX_CHECK_PROXY_SUCCESS_TIPS: Paramètres de proxy corrects +TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS: Aucun paramètre de proxy +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT: Paramètres de proxy incorrects +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: Paramètres de proxy inaccessibles +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: "Chemin du dossier temporaire des images du presse-papiers : ${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: "Le dossier temporaire des images du presse-papiers n'existe pas : ${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: "Veuillez créer le dossier vous-même : ${path}" + +# tips +TIPS_NOTICE: Remarque +TIPS_WARNING: Avertissement +TIPS_ERROR: Erreur +TIPS_SKIPPED_INVALID_URLS: ${n} URL(s) invalide(s) ignorée(s). Consultez les logs pour plus de détails. +TIPS_TOO_MANY_URLS_CONFIRM: Vous allez téléverser ${n} URL en une seule fois. Cela peut provoquer des ralentissements. Il est recommandé de les téléverser par lots. Continuer ? +TIPS_NO_VALID_URLS: Aucune URL valide trouvée +TIPS_INSTALL_NODE_AND_RELOAD_PICGO: Veuillez installer Node.js et redémarrer PicGo pour continuer +TIPS_PLUGIN_REMOVE_GALLERY_ITEM: Un plugin tente de supprimer des images de la galerie. Continuer ? +TIPS_PLUGIN_OVERWRITE_GALLERY: Un plugin tente d'écraser la liste de la galerie. Continuer ? +TIPS_UPLOAD_NOT_PICTURES: Le dernier élément du presse-papiers n'est pas une image +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT: Fichier de configuration PicGo endommagé, restauré à la configuration par défaut +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP: Fichier de configuration PicGo endommagé, restauré à la configuration de sauvegarde +TIPS_PICGO_BACKUP_FILE_VERSION: "Version du fichier de sauvegarde : ${v}" +TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR: Erreur d'analyse du fichier de configuration personnalisé. Veuillez vérifier le contenu du chemin. +TIPS_SHORTCUT_MODIFIED_SUCCEED: Raccourci modifié avec succès +TIPS_SHORTCUT_MODIFIED_CONFLICT: Conflit de raccourci. Veuillez le redéfinir. +TIPS_CUSTOM_LINK_STYLE_MODIFIED_SUCCEED: Format de lien personnalisé modifié avec succès +TIPS_FIND_NEW_VERSION: Nouvelle version ${v} trouvée. De nombreuses nouvelles fonctionnalités ont été ajoutées. Voulez-vous télécharger la dernière version ? +TIPS_DELETE_UPLOADER_CONFIG: Êtes-vous sûr de vouloir supprimer cette configuration ? +TIPS_COPY_UPLOADER_CONFIG: Êtes-vous sûr de vouloir copier cette configuration ? +TIPS_UPLOADER_CONFIG_NAME_EMPTY: Le nom de la configuration ne peut pas être vide +TIPS_UPLOADER_CONFIG_NOT_FOUND: Configuration introuvable +TIPS_UPLOADER_CONFIG_CANNOT_DELETE_LAST: Impossible de supprimer la dernière configuration + +# privacy +PRIVACY: "Veuillez lire et accepter la Politique de confidentialité ${privacyUrl} et les Conditions d'utilisation ${termsUrl} avant d'utiliser l'application." +PRIVACY_TIPS: Veuillez accepter la politique de confidentialité pour pouvoir téléverser. +QUIT: Quitter diff --git a/public/i18n/ja.yml b/public/i18n/ja.yml new file mode 100644 index 000000000..0dc97d155 --- /dev/null +++ b/public/i18n/ja.yml @@ -0,0 +1,388 @@ +LANG_DISPLAY_LABEL: 日本語 +ABOUT: について +OPEN_MAIN_WINDOW: メインウィンドウを開く +CHOOSE_DEFAULT_PICBED: デフォルト図床を選択 +OPEN_UPDATE_HELPER: 更新アシスタントを開く +PRIVACY_TERMS_AGREEMENT: プライバシーと利用規約 +RELOAD_APP: アプリを再起動 +UPLOAD_SUCCEED: アップロード成功 +UPLOAD_FAILED: アップロード失敗 +UPLOAD_PROGRESS: アップロード進行状況 +OPERATION_SUCCEED: 操作成功 +OPERATION_FAILED: 操作失敗 +UPLOADING: アップロード中 +QUICK_UPLOAD: クイックアップロード +UPLOAD_BY_CLIPBOARD: クリップボードからアップロード +HIDE_WINDOW: ウィンドウを隠す +SPONSOR_PICGO: PicGo を支援 +SHOW_PICBED_QRCODE: 図床設定QRコードを表示 +PICBED_QRCODE: 図床設定QRコード +ENABLE: 有効 +DISABLE: 無効 +CONFIG_THING: ${c}を設定 +FIND_NEW_VERSION: 新しいバージョンが見つかりました +NO_MORE_NOTICE: 今後通知しない +SHOW_DEVTOOLS: 開発者ツールを開く +CURRENT_PICBED: 現在の図床 +OPEN_TOOLBOX: 修復ツールボックスを開く + +# ---renderer i18n begin--- + +CHOOSE_YOUR_DEFAULT_PICBED: "${d} をデフォルト図床として選択:" +UPLOAD_AREA: アップロードエリア +GALLERY: アルバム +PICBEDS_SETTINGS: 図床設定 +PICGO_SETTINGS: PicGo設定 +PLUGIN_SETTINGS: プラグイン設定 +PICGO_CLOUD_TITLE: PicGo Cloud +PICGO_CLOUD_ERROR_TITLE: PicGo Cloud エラー +PICGO_CLOUD_NOT_LOGGED_IN: PicGo Cloud にログインしていません +PICGO_CLOUD_LOGIN: ログイン +PICGO_CLOUD_LOGOUT: ログアウト +PICGO_CLOUD_CANCEL_LOGIN: ログインをキャンセル +PICGO_CLOUD_RETRY: 再試行 +PICGO_CLOUD_CONFIG_SYNC: 設定同期 +PICGO_CLOUD_LOGIN_IN_PROGRESS: ログイン中です。ブラウザでログインを完了してください。 +PICGO_CLOUD_LOGGED_IN_AS: "ログイン中:${user}" +PICGO_CLOUD_OPEN: PicGo Cloud を開く +PICGO_CLOUD_LOGIN_TIMEOUT: ログインがタイムアウトしました。再試行してください。 +PICGO_CLOUD_LOGIN_FAILED: ログインに失敗しました。再試行してください。 +PICGO_CLOUD_AGREE_PREFIX: "PicGo の" +PICGO_CLOUD_TERMS_OF_SERVICE: 利用規約 +PICGO_CLOUD_AGREE_AND: " および " +PICGO_CLOUD_PRIVACY_POLICY: プライバシーポリシー +PICGO_CLOUD_LOGIN_EXPIRED: ログインの有効期限が切れました。再ログインしてください。 +PICGO_CLOUD_ENCRYPTION_MODE_LABEL: 暗号化モード +PICGO_CLOUD_ENCRYPTION_MODE_AUTO: 自動 +PICGO_CLOUD_ENCRYPTION_MODE_SERVER: サーバーサイド暗号化 +PICGO_CLOUD_ENCRYPTION_MODE_E2E: エンドツーエンド暗号化 +PICGO_CLOUD_ENCRYPTION_MODE_TIP_AUTO: 自動:クラウド側で最後に使用された暗号化方式に従います(デフォルトはサーバーサイド暗号化)。 +PICGO_CLOUD_ENCRYPTION_MODE_TIP_SERVER: サーバーサイド暗号化:サーバー側で設定を暗号化してから保存します。PIN は不要です。 +PICGO_CLOUD_ENCRYPTION_MODE_TIP_E2E: エンドツーエンド暗号化:PIN を使用してデータを暗号化/復号します。PicGo は PIN を保存しません。紛失するとデータを復元できません。 +PICGO_CLOUD_ENCRYPTION_MODE_TIP_DOC: 詳細ドキュメントを見る +PICGO_CLOUD_E2E_CHECKBOX_LABEL: E2E 暗号化を有効にする +PICGO_CLOUD_E2E_ENABLE_WARNING_TITLE: E2E 暗号化を有効にする +PICGO_CLOUD_E2E_ENABLE_WARNING_MESSAGE: E2E 暗号化では PIN を安全に保管する必要があります。PIN を紛失すると、暗号化データを復元できません。PicGo は PIN や復旧情報を一切保存しません。 +PICGO_CLOUD_REMOTE_E2E_AUTO_ENABLED: リモート設定が E2E 暗号化されていることを検出しました。ローカルで E2E を自動的に有効にしました。 +PICGO_CLOUD_E2E_PIN_SETUP_TITLE: E2E PIN を設定 +PICGO_CLOUD_E2E_PIN_DECRYPT_TITLE: E2E PIN を入力 +PICGO_CLOUD_E2E_PIN_RETRY_TITLE: "PIN が間違っています。再試行してください(${retryCount} 回目)。" +PICGO_CLOUD_E2E_PIN_PLACEHOLDER: PIN +PICGO_CLOUD_E2E_PIN_CONFIRM_PLACEHOLDER: PIN を確認 +PICGO_CLOUD_CONFIG_SYNC_SUCCESS: 設定の同期に成功しました。 +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_DETECTED: 設定の競合が検出されました。解決方法を選択してください。 +PICGO_CLOUD_CONFIG_SYNC_FAILED: 設定の同期に失敗しました。 +PICGO_CLOUD_CONFIG_SYNC_ABORTED: 設定の同期をキャンセルしました。 +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_TITLE: 暗号化方式の切り替えを確認しますか? +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_BODY: "\"${from}\" から \"${to}\" に切り替えています。\n\n注意:暗号化モードを切り替えると、すべてのクラウド履歴バージョンが消去されます。\nこれは、古い履歴バージョンが新しいモードで復号・検証できないためです。\n切り替え後、システムは直ちに新しいバックアップを作成します。" +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CONFIRM: 切り替えて履歴を消去 +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCEL: キャンセル +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCELLED: 暗号化方式の切り替えをキャンセルしました +PICGO_CLOUD_CONFIG_SYNC_FAILED_WITH_REASON: "設定の同期に失敗しました:${reason}" +PICGO_CLOUD_CONFIG_SYNC_PIN_MAX_RETRY: PIN の入力回数が多すぎます。しばらくしてから再試行してください。 +PICGO_CLOUD_CONFIG_SYNC_LOCAL_CONFIG_INVALID: ローカル設定ファイルの形式が正しくありません。設定ファイルを確認してください。 +PICGO_CLOUD_CONFIG_SYNC_IN_PROGRESS: 設定同期中… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_PENDING: 未解決の競合があります。先に処理してください。 +PICGO_CLOUD_CONFIG_SYNC_NO_CONFLICT_SESSION: 処理可能な競合セッションが見つかりません。 +PICGO_CLOUD_CONFIG_SYNC_RESOLUTION_INCOMPLETE: すべての競合項目でローカルまたはクラウドを選択してください。 +PICGO_CLOUD_CONFIG_SYNC_STARTING: 設定同期を開始しました… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_TITLE: "競合処理(${count} 件)" +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_LOCAL: すべてローカルを選択 +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_CLOUD: すべてクラウドを選択 +PICGO_CLOUD_CONFIG_SYNC_RESET_ALL: すべてリセット +PICGO_CLOUD_CONFIG_SYNC_LOCAL_VERSION: ローカルバージョン +PICGO_CLOUD_CONFIG_SYNC_CLOUD_VERSION: クラウドバージョン +PICGO_CLOUD_CONFIG_SYNC_ABORT: 同期を中止 +PICGO_CLOUD_CONFIG_SYNC_CONFIRM_AND_SYNC: 確認して同期 +PICGO_CLOUD_CONFIG_SYNC_VALUE_UNDEFINED: (空) +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_RESOLVED: 設定の競合が解決されました。 +PICGO_CLOUD_LAST_SYNC_TIME: "前回のローカル同期時刻:${time}" +PICGO_CLOUD_LAST_SYNC_TIME_NONE: なし +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_TITLE: 再起動が必要ですか? +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_MESSAGE: 一部の設定は再起動後に有効になります。今すぐ再起動しますか? +PICGO_CLOUD_CONFIG_SYNC_RESTART_NOW: 今すぐ再起動 +PICGO_CLOUD_CONFIG_SYNC_RESTART_LATER: 後で +INPUT_BOX_CONFIRM_MISMATCH: 2回の入力が一致しません。もう一度入力してください。 +PICGO_SPONSOR_TEXT: PicGoは無料のオープンソースソフトウェアです。気に入っていただけたら、コーヒーをおごってください! +ALIPAY: Alipay +WECHATPAY: WeChat Pay +CHOOSE_PICBED: 図床を選択 +COPY_PICBED_CONFIG: 図床設定をコピー +COPY_PICBED_CONFIG_SUCCEED: 図床設定のコピーに成功しました +INPUT: 入力 +CANCEL: キャンセル +CONFIRM: 確認 +CHOOSE_SHOWED_PICBED: 表示する図床を選択 +CHOOSE_PASTE_FORMAT: 貼り付け形式を選択 +SEARCH: 検索 +COPY: コピー +DELETE: 削除 +SELECT_ALL: すべて選択 +CHANGE_IMAGE_URL: 画像URLを変更 +CHANGE_IMAGE_URL_SUCCEED: 画像URLの変更に成功しました +COPY_LINK_SUCCEED: リンクのコピーに成功しました +BATCH_COPY_LINK_SUCCEED: 一括リンクコピーに成功しました +FILE_RENAME: ファイル名変更 +COPY_FILE_PATH: ファイルパスをコピー +OPEN_FILE_PATH: ファイルパスを開く +SUCCESS: 成功 +FAILED: 失敗 + +# settings + +SETTINGS: 設定 +SETTINGS_OPEN_CONFIG_FILE: 設定ファイルを開く +SETTINGS_CLICK_TO_OPEN: クリックして開く +SETTINGS_SET_LOG_FILE: ログファイルを設定 +SETTINGS_CLICK_TO_SET: クリックして設定 +SETTINGS_CLICK_TO_CHECK: クリックして確認 +SETTINGS_SET_SHORTCUT: ショートカットを設定 +SETTINGS_URL_REWRITE: URL 書き換え +SETTINGS_CUSTOM_LINK_FORMAT: カスタムリンク形式 +SETTINGS_SET_PROXY_AND_MIRROR: プロキシとミラーを設定 +SETTINGS_SET_SERVER: サーバーを設定 +SETTINGS_CHECK_UPDATE: 更新を確認 +SETTINGS_OPEN_UPDATE_HELPER: 更新アシスタントを開く +SETTINGS_OPEN: オン +SETTINGS_CLOSE: オフ +SETTINGS_ACCEPT_BETA_UPDATE: ベータ版更新を受け入れる +SETTINGS_LAUNCH_ON_BOOT: 起動時に立ち上げる +SETTINGS_RENAME_BEFORE_UPLOAD: アップロード前にリネーム +SETTINGS_TIMESTAMP_RENAME: タイムスタンプでリネーム +SETTINGS_OPEN_UPLOAD_TIPS: アップロード通知を表示 +SETTINGS_NOTIFICATION_SOUND: 通知音を再生 +SETTINGS_MINI_WINDOW_ON_TOP: Miniウィンドウを最前面に表示 +SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: アップロード後にURLを自動コピー +SETTINGS_TIPS_PLACEHOLDER_URL: プレースホルダー $url でURLの位置を表します +SETTINGS_TIPS_PLACEHOLDER_FILENAME: プレースホルダー $fileName でファイル名の位置を表します +SETTINGS_TIPS_PLACEHOLDER_EXTNAME: プレースホルダー $extName で拡張子の位置を表します +SETTINGS_TIPS_SUCH_AS: 例 +SETTINGS_UPLOAD_PROXY: アップロードプロキシ +SETTINGS_PLUGIN_INSTALL_PROXY: プラグインインストールプロキシ +SETTINGS_PLUGIN_INSTALL_MIRROR: プラグインインストールミラー +SETTINGS_CURRENT_VERSION: 現在のバージョン +SETTINGS_NEWEST_VERSION: 最新バージョン +SETTINGS_GETING: 取得中 +SETTINGS_TIPS_HAS_NEW_VERSION: PicGoの新しいバージョンがあります。確定をクリックしてダウンロードページを開いてください +SETTINGS_LOG_FILE: ログファイル +SETTINGS_LOG_LEVEL: ログレベル +SETTINGS_LOG_FILE_SIZE: ログファイルサイズ +SETTINGS_SET_PICGO_SERVER: PicGo-Serverを設定 +SETTINGS_TIPS_SERVER_NOTICE: Serverの機能がわからない場合は、ドキュメントをお読みいただくか、設定を変更しないでください。 +SETTINGS_ENABLE_SERVER: Serverを有効にする +SETTINGS_SET_SERVER_HOST: リッスンアドレスを設定 +SETTINGS_SET_SERVER_PORT: リッスンポートを設定 +SETTINGS_TIP_PLACEHOLDER_HOST: 推奨デフォルト:127.0.0.1 +SETTINGS_TIP_PLACEHOLDER_PORT: 推奨デフォルト:36677 +SETTINGS_LOG_LEVEL_ALL: すべて-All +SETTINGS_LOG_LEVEL_SUCCESS: 成功-Success +SETTINGS_LOG_LEVEL_ERROR: エラー-Error +SETTINGS_LOG_LEVEL_INFO: 情報-Info +SETTINGS_LOG_LEVEL_WARN: 警告-Warn +SETTINGS_LOG_LEVEL_NONE: 記録しない-None +SETTINGS_RESULT: 設定結果 +SETTINGS_DEFAULT_PICBED: デフォルト図床を設定 +SETTINGS_SET_DEFAULT_PICBED: デフォルト図床に設定 +SETTINGS_NOT_CONFIG_OPTIONS: 設定項目なし +SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 内蔵クリップボードアップロードを使用 +SETTINGS_CHOOSE_LANGUAGE: 言語を選択 +BUILTIN_CLIPBOARD_TIPS: スクリプトの代わりに内蔵クリップボード関数を使用してアップロード +SETTINGS_PASTE_IMAGE_FORMAT: 貼り付け画像形式 +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF +UPLOADER_CONFIG_NAME: 図床設定名 + +# url rewrite + +URL_REWRITE_HELP: アップロード後の画像URLを書き換えます。ルールは順番に評価され、最初にマッチしたルールが適用されます。 +URL_REWRITE_ADD_RULE: ルールを追加 +URL_REWRITE_EDIT_RULE: ルールを編集 +URL_REWRITE_EMPTY: ルールなし +URL_REWRITE_ORDER: 順序 +URL_REWRITE_MATCH: マッチ +URL_REWRITE_REPLACE: 置換 +URL_REWRITE_FLAGS: フラグ +URL_REWRITE_ENABLED: 有効 +URL_REWRITE_ACTIONS: 操作 +URL_REWRITE_MOVE_UP: 上へ +URL_REWRITE_MOVE_DOWN: 下へ +URL_REWRITE_EDIT: 編集 +URL_REWRITE_DELETE: 削除 +URL_REWRITE_DELETE_CONFIRM: このルールを削除しますか? +URL_REWRITE_MATCH_TIPS: 正規表現をサポート(JavaScript RegExp) +URL_REWRITE_MATCH_PLACEHOLDER: https://example.com/path +URL_REWRITE_REPLACE_TIPS: 置換文字列($1, $2... をサポート) +URL_REWRITE_REPLACE_PLACEHOLDER: https://example.org/newpath +URL_REWRITE_OPTIONS: オプション +URL_REWRITE_RULE_ENABLED: このルールを有効にする +URL_REWRITE_FLAG_GLOBAL_LABEL: グローバル(g) +URL_REWRITE_FLAG_GLOBAL_DESC: 最初の一致だけでなく、すべての一致を置換 +URL_REWRITE_FLAG_IGNORE_CASE_LABEL: 大文字小文字を無視(i) +URL_REWRITE_FLAG_IGNORE_CASE_DESC: 大文字小文字を区別しないマッチング(例:JPG と jpg は同じ) +URL_REWRITE_MATCH_REQUIRED: マッチルールは必須です +URL_REWRITE_REPLACE_REQUIRED: 置換内容は必須です +URL_REWRITE_INVALID_REGEX: 無効な正規表現 +URL_REWRITE_PREVIEW_TITLE: プレビュー +URL_REWRITE_PREVIEW_TIPS: URLを入力して、現在のルールでどのように書き換えられるか確認します(順番にマッチングされ、最初のマッチのみ適用されます) +URL_REWRITE_PREVIEW_PLACEHOLDER: https://example.com/path/to/image.png +URL_REWRITE_PREVIEW_RUN: プレビュー +URL_REWRITE_PREVIEW_OUTPUT: 出力URL +URL_REWRITE_PREVIEW_INPUT_REQUIRED: プレビューするURLを入力してください +URL_REWRITE_PREVIEW_RULE_INVALID: 無効なルール +URL_REWRITE_PREVIEW_MATCHED_RULE: マッチしたルール +URL_REWRITE_PREVIEW_NO_MATCH: マッチするルールなし +UPLOADER_CONFIG_PLACEHOLDER: 設定名を入力してください +SELECTED_SETTING_HINT: 選択済み +SETTINGS_ENCODE_OUTPUT_URL: 出力(コピー)URLをエンコード +SETTINGS_SHOW_DOCK_ICON: Dockアイコンを表示 +SETTINGS_SHOW_MENUBAR_ICON: メニューバーアイコンを表示 +SETTINGS_SHOW_MENUBAR_ICON_TIPS: 「Dockアイコンを表示」と「メニューバーアイコンを表示」の両方をオフにすると、PicGoのメイン画面を見つけられなくなります。設定ファイルの showDockIcon または showMenubarIcon を true に変更して復旧してください。 +SETTINGS_STARTUP_MODE: 起動モード +SETTINGS_STARTUP_MODE_MAIN_WINDOW: メインウィンドウを開く +SETTINGS_STARTUP_MODE_MINI_WINDOW: Miniウィンドウを開く +SETTINGS_STARTUP_MODE_HIDE: サイレント起動 + +# shortcut-page + +SHORTCUT_NAME: ショートカット名 +SHORTCUT_BIND: ショートカットキー +SHORTCUT_STATUS: 状態 +SHORTCUT_ENABLED: 有効 +SHORTCUT_DISABLED: 無効 +SHORTCUT_SOURCE: ソース +SHORTCUT_HANDLE: 操作 +SHORTCUT_ENABLE: 有効化 +SHORTCUT_DISABLE: 無効化 +SHORTCUT_EDIT: 編集 +SHORTCUT_CHANGE_UPLOAD: アップロードショートカットを変更 + +# gallery-page +GALLERY_URL_REWRITE_TITLE: 選択した画像URLを書き換え +GALLERY_URL_REWRITE_RESULT_TITLE: 画像URL書き換え結果 +GALLERY_URL_REWRITE_WARN_NO_SELECTION: 少なくとも1枚の画像を選択してください + +GALLERY_URL_REWRITE_APPLY_GLOBAL_RULES: グローバルURL書き換えルールを適用 +GALLERY_URL_REWRITE_GLOBAL_RULES_COUNT: グローバルルール数 +GALLERY_URL_REWRITE_TEMP_RULE_TIPS: オプション。空のままにすると一時ルールは使用されません(一時ルールはグローバルルールより優先されます)。 +GALLERY_URL_REWRITE_TEMP_RULE_REQUIRED: 一時ルールには「マッチ」と「置換」の両方が必要です +GALLERY_URL_REWRITE_NO_RULES_TO_APPLY: 有効なグローバルルールがなく、一時ルールも指定されていません +GALLERY_URL_REWRITE_SAVE_TEMP_RULE_PROMPT: 一時ルールをグローバルURL書き換えルールリストに保存しますか? +GALLERY_URL_REWRITE_APPLY_AND_SAVE: 適用して保存 +GALLERY_URL_REWRITE_APPLY_ONLY: 適用のみ +GALLERY_URL_REWRITE_NO_CHANGES: URLは変更されませんでした +GALLERY_URL_REWRITE_EMPTY_RESULT_WARN: 書き換え結果が空です。スキップしました + +# tray-page + +WAIT_TO_UPLOAD: アップロード待ち +ALREADY_UPLOAD: アップロード済み + +# upload-page + +PICTURE_UPLOAD: 画像アップロード +DRAG_FILE_TO_HERE: ファイルをここにドラッグ、または +CLICK_TO_UPLOAD: クリックしてアップロード +LINK_FORMAT: リンク形式 +CUSTOM: カスタム +CLIPBOARD_PICTURE: クリップボード画像 +TIPS_DRAG_VALID_PICTURE_OR_URL: 有効な画像ファイルまたは画像URLをドラッグしてください +TIPS_INPUT_URL: URLを入力 +TIPS_HTTP_PREFIX: http:// または https:// で始まるURL。複数URL対応(改行で区切ってください) +TIPS_INPUT_VALID_URL: 有効なURLを入力してください + +# plugins + +PLUGIN_SEARCH_PLACEHOLDER: npmでPicGoプラグインを検索、または上のボタンをクリックして優良プラグイン一覧を表示 +PLUGIN_INSTALL: インストール +PLUGIN_INSTALLING: インストール中 +PLUGIN_INSTALLED: インストール済み +PLUGIN_DOING_SOMETHING: 処理中 +PLUGIN_LIST: プラグインリスト +PLUGIN_IMPORT_LOCAL: ローカルプラグインをインポート + +# tips + +TIPS_REMOVE_LINK: この操作により画像がアルバムから削除されます。続行しますか? +TIPS_WILL_REMOVE_CHOOSED_IMAGES: 選択した ${m} 枚の画像をアルバムから削除します。続行しますか? +TIPS_MUST_CONTAINS_URL: $url、$fileName、または $extName を含める必要があります +TIPS_NETWORK_ERROR: ネットワークエラーにより取得できません +TIPS_NEED_RELOAD: 再起動が必要です +TIPS_PLEASE_CHOOSE_LOG_LEVEL: ログレベルを選択してください +TIPS_SET_SUCCEED: 設定成功 +TIPS_PLUGIN_NOT_GUI_IMPLEMENT: このプラグインはGUI向けに最適化されていません。続行しますか? +TIPS_CLICK_NOTIFICATION_TO_RELOAD: 通知をクリックしてアプリを再起動してください +TIPS_GET_PLUGIN_LIST_FAILED: プラグインリストの取得に失敗しました + +# ---renderer i18n end--- + +# plugins +PLUGIN_INSTALL_SUCCEED: プラグインのインストールに成功しました +PLUGIN_INSTALL_FAILED: プラグインのインストールに失敗しました +PLUGIN_UNINSTALL_SUCCEED: プラグインのアンインストールに成功しました +PLUGIN_UNINSTALL_FAILED: プラグインのアンインストールに失敗しました +PLUGIN_UPDATE_SUCCEED: プラグインの更新に成功しました +PLUGIN_UPDATE_FAILED: プラグインの更新に失敗しました +PLUGIN_IMPORT_SUCCEED: プラグインのインポートに成功しました +PLUGIN_IMPORT_FAILED: プラグインのインポートに失敗しました +ENABLE_PLUGIN: プラグインを有効化 +DISABLE_PLUGIN: プラグインを無効化 +UNINSTALL_PLUGIN: プラグインをアンインストール +UPDATE_PLUGIN: プラグインを更新 + +# toolbox +TOOLBOX: ツールボックス +TOOLBOX_TITLE: PicGo 実行時の問題をトラブルシューティング +TOOLBOX_SUB_TITLE: 以下の項目を直ちにスキャンして使用上の問題を修正します +TOOLBOX_CHECK_CONFIG_FILE_BROKEN: 設定ファイルが破損していないか確認 +TOOLBOX_CHECK_GALLERY_FILE_BROKEN: アルバムファイルが破損していないか確認 +TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: クリップボード画像アップロードに問題がないか確認 +TOOLBOX_CHECK_PROBLEM_WITH_PROXY: プロキシ設定が正常か確認 +TOOLBOX_FIX_DONE_NEED_RELOAD: 修復完了。再起動して有効にしますか? +TOOLBOX_CANT_AUTO_FIX: 自動修復できません。以下の問題を手動で修正してください +TOOLBOX_START_SCAN: スキャン開始 +TOOLBOX_RE_SCAN: 再スキャン +TOOLBOX_START_FIX: 修復開始 +TOOLBOX_SUCCESS_TIPS: おめでとうございます、問題は見つかりませんでした +TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: "設定ファイルのパス:${path}" +TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: 設定ファイルが破損しています +TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: "アルバムファイルのパス:${path}" +TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS: アルバムファイルが破損しています +TOOLBOX_CHECK_PROXY_SUCCESS_TIPS: プロキシ設定は正常です +TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS: プロキシ設定なし +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT: プロキシ設定が正しくありません +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: プロキシ設定が利用できません +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: "クリップボード画像の一時フォルダパス:${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: "クリップボード画像の一時フォルダが存在しません:${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: "フォルダを手動で作成してください:${path}" + +# tips +TIPS_NOTICE: 注意 +TIPS_WARNING: 警告 +TIPS_ERROR: エラー発生 +TIPS_SKIPPED_INVALID_URLS: ${n} 件の不正なURLをスキップしました。詳細はログをご確認ください +TIPS_TOO_MANY_URLS_CONFIRM: ${n} 件のURLを一度にアップロードします。処理が重くなる可能性があります。分割してアップロードすることをお勧めします。続行しますか? +TIPS_NO_VALID_URLS: 有効なURLが見つかりません +TIPS_INSTALL_NODE_AND_RELOAD_PICGO: Node.js をインストールして PicGo を再起動してください +TIPS_PLUGIN_REMOVE_GALLERY_ITEM: プラグインがアルバムから画像を削除しようとしています。続行しますか? +TIPS_PLUGIN_OVERWRITE_GALLERY: プラグインがアルバムリストを上書きしようとしています。続行しますか? +TIPS_UPLOAD_NOT_PICTURES: クリップボードの最新レコードは画像ではありません +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT: PicGo 設定ファイルが破損しています。デフォルト設定に復元されました +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP: PicGo 設定ファイルが破損しています。バックアップ設定に復元されました +TIPS_PICGO_BACKUP_FILE_VERSION: "バックアップファイルバージョン: ${v}" +TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR: カスタムファイルの解析エラー。パスの内容を確認してください +TIPS_SHORTCUT_MODIFIED_SUCCEED: ショートカットが正常に変更されました +TIPS_SHORTCUT_MODIFIED_CONFLICT: ショートカットが競合しています。再設定してください +TIPS_CUSTOM_LINK_STYLE_MODIFIED_SUCCEED: カスタムリンク形式が正常に変更されました +TIPS_FIND_NEW_VERSION: 新しいバージョン ${v} が見つかりました。多くの新機能が更新されています。最新バージョンをダウンロードしますか? +TIPS_DELETE_UPLOADER_CONFIG: この設定を削除しますか? +TIPS_COPY_UPLOADER_CONFIG: この設定をコピーしますか? +TIPS_UPLOADER_CONFIG_NAME_EMPTY: 設定名は空にできません +TIPS_UPLOADER_CONFIG_NOT_FOUND: 設定が見つかりません +TIPS_UPLOADER_CONFIG_CANNOT_DELETE_LAST: 最後の設定は削除できません + +# privacy +PRIVACY: "使用前にプライバシーポリシー ${privacyUrl} と利用規約 ${termsUrl} をお読みいただき、同意してください。同意後に使用可能になります。" +PRIVACY_TIPS: プライバシーポリシーに同意してください。同意しないとアップロードできません。 +QUIT: 終了 diff --git a/public/i18n/ko.yml b/public/i18n/ko.yml new file mode 100644 index 000000000..6e96b978b --- /dev/null +++ b/public/i18n/ko.yml @@ -0,0 +1,388 @@ +LANG_DISPLAY_LABEL: 한국어 +ABOUT: 정보 +OPEN_MAIN_WINDOW: 메인 창 열기 +CHOOSE_DEFAULT_PICBED: 기본 이미지 호스팅 선택 +OPEN_UPDATE_HELPER: 업데이트 도우미 열기 +PRIVACY_TERMS_AGREEMENT: 개인정보 및 이용약관 +RELOAD_APP: 앱 다시 시작 +UPLOAD_SUCCEED: 업로드 성공 +UPLOAD_FAILED: 업로드 실패 +UPLOAD_PROGRESS: 업로드 진행률 +OPERATION_SUCCEED: 작업 성공 +OPERATION_FAILED: 작업 실패 +UPLOADING: 업로드 중 +QUICK_UPLOAD: 빠른 업로드 +UPLOAD_BY_CLIPBOARD: 클립보드 이미지 업로드 +HIDE_WINDOW: 창 숨기기 +SPONSOR_PICGO: PicGo 후원 +SHOW_PICBED_QRCODE: 이미지 호스팅 설정 QR코드 표시 +PICBED_QRCODE: 이미지 호스팅 설정 QR코드 +ENABLE: 활성화 +DISABLE: 비활성화 +CONFIG_THING: ${c} 설정 +FIND_NEW_VERSION: 새 버전 발견 +NO_MORE_NOTICE: 더 이상 알림 받지 않기 +SHOW_DEVTOOLS: 개발자 도구 열기 +CURRENT_PICBED: 현재 이미지 호스팅 +OPEN_TOOLBOX: 복구 도구상자 열기 + +# ---renderer i18n begin--- + +CHOOSE_YOUR_DEFAULT_PICBED: "${d}을(를) 기본 이미지 호스팅으로 선택:" +UPLOAD_AREA: 업로드 영역 +GALLERY: 앨범 +PICBEDS_SETTINGS: 이미지 호스팅 설정 +PICGO_SETTINGS: PicGo 설정 +PLUGIN_SETTINGS: 플러그인 설정 +PICGO_CLOUD_TITLE: PicGo Cloud +PICGO_CLOUD_ERROR_TITLE: PicGo Cloud 오류 +PICGO_CLOUD_NOT_LOGGED_IN: PicGo Cloud에 로그인하지 않았습니다 +PICGO_CLOUD_LOGIN: 로그인 +PICGO_CLOUD_LOGOUT: 로그아웃 +PICGO_CLOUD_CANCEL_LOGIN: 로그인 취소 +PICGO_CLOUD_RETRY: 다시 시도 +PICGO_CLOUD_CONFIG_SYNC: 설정 동기화 +PICGO_CLOUD_LOGIN_IN_PROGRESS: 로그인 진행 중입니다. 브라우저에서 로그인을 완료해 주세요. +PICGO_CLOUD_LOGGED_IN_AS: "로그인됨: ${user}" +PICGO_CLOUD_OPEN: PicGo Cloud 열기 +PICGO_CLOUD_LOGIN_TIMEOUT: 로그인 시간이 초과되었습니다. 다시 시도해 주세요. +PICGO_CLOUD_LOGIN_FAILED: 로그인에 실패했습니다. 다시 시도해 주세요. +PICGO_CLOUD_AGREE_PREFIX: "PicGo의 " +PICGO_CLOUD_TERMS_OF_SERVICE: 서비스 약관 +PICGO_CLOUD_AGREE_AND: " 및 " +PICGO_CLOUD_PRIVACY_POLICY: 개인정보 처리방침 +PICGO_CLOUD_LOGIN_EXPIRED: 로그인이 만료되었습니다. 다시 로그인해 주세요. +PICGO_CLOUD_ENCRYPTION_MODE_LABEL: 암호화 모드 +PICGO_CLOUD_ENCRYPTION_MODE_AUTO: 자동 +PICGO_CLOUD_ENCRYPTION_MODE_SERVER: 서버 측 암호화 +PICGO_CLOUD_ENCRYPTION_MODE_E2E: 종단간 암호화 +PICGO_CLOUD_ENCRYPTION_MODE_TIP_AUTO: 자동: 클라우드에서 마지막으로 사용된 암호화 방식을 따릅니다(기본값: 서버 측 암호화). +PICGO_CLOUD_ENCRYPTION_MODE_TIP_SERVER: 서버 측 암호화: 서버에서 설정을 암호화한 후 저장합니다. PIN이 필요하지 않습니다. +PICGO_CLOUD_ENCRYPTION_MODE_TIP_E2E: 종단간 암호화: PIN을 사용하여 데이터를 암호화/복호화합니다. PicGo는 PIN을 저장하지 않습니다. PIN을 분실하면 데이터를 복구할 수 없습니다. +PICGO_CLOUD_ENCRYPTION_MODE_TIP_DOC: 전체 문서 보기 +PICGO_CLOUD_E2E_CHECKBOX_LABEL: E2E 암호화 활성화 +PICGO_CLOUD_E2E_ENABLE_WARNING_TITLE: E2E 암호화 활성화 +PICGO_CLOUD_E2E_ENABLE_WARNING_MESSAGE: E2E 암호화는 PIN을 안전하게 보관해야 합니다. PIN을 분실하면 암호화된 데이터를 복구할 수 없습니다. PicGo는 PIN이나 복구 정보를 저장하지 않습니다. +PICGO_CLOUD_REMOTE_E2E_AUTO_ENABLED: 원격 설정이 E2E 암호화되어 있음을 감지했습니다. 로컬에서 E2E가 자동으로 활성화되었습니다. +PICGO_CLOUD_E2E_PIN_SETUP_TITLE: E2E PIN 설정 +PICGO_CLOUD_E2E_PIN_DECRYPT_TITLE: E2E PIN 입력 +PICGO_CLOUD_E2E_PIN_RETRY_TITLE: "PIN이 잘못되었습니다. 다시 시도해 주세요(${retryCount}회차)." +PICGO_CLOUD_E2E_PIN_PLACEHOLDER: PIN +PICGO_CLOUD_E2E_PIN_CONFIRM_PLACEHOLDER: PIN 확인 +PICGO_CLOUD_CONFIG_SYNC_SUCCESS: 설정 동기화 성공. +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_DETECTED: 설정 충돌이 감지되었습니다. 해결 방법을 선택해 주세요. +PICGO_CLOUD_CONFIG_SYNC_FAILED: 설정 동기화 실패. +PICGO_CLOUD_CONFIG_SYNC_ABORTED: 설정 동기화가 취소되었습니다. +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_TITLE: 암호화 방식 전환을 확인하시겠습니까? +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_BODY: "\"${from}\"에서 \"${to}\"(으)로 전환 중입니다.\n\n주의: 암호화 모드를 전환하면 모든 클라우드 이력 버전이 삭제됩니다.\n이는 이전 이력 버전이 새 모드에서 복호화 또는 검증될 수 없기 때문입니다.\n전환 후 시스템이 즉시 새 백업을 생성합니다." +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CONFIRM: 전환 및 이력 삭제 확인 +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCEL: 취소 +PICGO_CLOUD_CONFIG_SYNC_ENCRYPTION_SWITCH_CANCELLED: 암호화 방식 전환이 취소되었습니다 +PICGO_CLOUD_CONFIG_SYNC_FAILED_WITH_REASON: "설정 동기화 실패: ${reason}" +PICGO_CLOUD_CONFIG_SYNC_PIN_MAX_RETRY: PIN 입력 횟수가 너무 많습니다. 잠시 후 다시 시도해 주세요. +PICGO_CLOUD_CONFIG_SYNC_LOCAL_CONFIG_INVALID: 로컬 설정 파일 형식이 잘못되었습니다. 설정 파일을 확인해 주세요. +PICGO_CLOUD_CONFIG_SYNC_IN_PROGRESS: 설정 동기화 중… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_PENDING: 해결되지 않은 충돌이 있습니다. 먼저 처리해 주세요. +PICGO_CLOUD_CONFIG_SYNC_NO_CONFLICT_SESSION: 처리 가능한 충돌 세션이 없습니다. +PICGO_CLOUD_CONFIG_SYNC_RESOLUTION_INCOMPLETE: 모든 충돌 항목에 대해 로컬 또는 클라우드를 선택해 주세요. +PICGO_CLOUD_CONFIG_SYNC_STARTING: 설정 동기화가 시작되었습니다… +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_TITLE: "충돌 처리(${count}건)" +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_LOCAL: 모두 로컬 선택 +PICGO_CLOUD_CONFIG_SYNC_CHOOSE_ALL_CLOUD: 모두 클라우드 선택 +PICGO_CLOUD_CONFIG_SYNC_RESET_ALL: 모두 초기화 +PICGO_CLOUD_CONFIG_SYNC_LOCAL_VERSION: 로컬 버전 +PICGO_CLOUD_CONFIG_SYNC_CLOUD_VERSION: 클라우드 버전 +PICGO_CLOUD_CONFIG_SYNC_ABORT: 동기화 중단 +PICGO_CLOUD_CONFIG_SYNC_CONFIRM_AND_SYNC: 확인 및 동기화 +PICGO_CLOUD_CONFIG_SYNC_VALUE_UNDEFINED: (비어 있음) +PICGO_CLOUD_CONFIG_SYNC_CONFLICT_RESOLVED: 설정 충돌이 해결되었습니다. +PICGO_CLOUD_LAST_SYNC_TIME: "마지막 로컬 동기화 시간: ${time}" +PICGO_CLOUD_LAST_SYNC_TIME_NONE: 없음 +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_TITLE: 다시 시작해야 하나요? +PICGO_CLOUD_CONFIG_SYNC_RESTART_PROMPT_MESSAGE: 일부 설정은 다시 시작한 후에 적용됩니다. 지금 다시 시작하시겠습니까? +PICGO_CLOUD_CONFIG_SYNC_RESTART_NOW: 지금 다시 시작 +PICGO_CLOUD_CONFIG_SYNC_RESTART_LATER: 나중에 +INPUT_BOX_CONFIRM_MISMATCH: 두 입력이 일치하지 않습니다. 다시 입력해 주세요. +PICGO_SPONSOR_TEXT: PicGo는 무료 오픈소스 소프트웨어입니다. 마음에 드셨다면 커피 한 잔 사주세요! +ALIPAY: 알리페이 +WECHATPAY: 위챗페이 +CHOOSE_PICBED: 이미지 호스팅 선택 +COPY_PICBED_CONFIG: 이미지 호스팅 설정 복사 +COPY_PICBED_CONFIG_SUCCEED: 이미지 호스팅 설정 복사 성공 +INPUT: 입력 +CANCEL: 취소 +CONFIRM: 확인 +CHOOSE_SHOWED_PICBED: 표시할 이미지 호스팅 선택 +CHOOSE_PASTE_FORMAT: 붙여넣기 형식 선택 +SEARCH: 검색 +COPY: 복사 +DELETE: 삭제 +SELECT_ALL: 전체 선택 +CHANGE_IMAGE_URL: 이미지 URL 변경 +CHANGE_IMAGE_URL_SUCCEED: 이미지 URL 변경 성공 +COPY_LINK_SUCCEED: 링크 복사 성공 +BATCH_COPY_LINK_SUCCEED: 일괄 링크 복사 성공 +FILE_RENAME: 파일 이름 변경 +COPY_FILE_PATH: 파일 경로 복사 +OPEN_FILE_PATH: 파일 경로 열기 +SUCCESS: 성공 +FAILED: 실패 + +# settings + +SETTINGS: 설정 +SETTINGS_OPEN_CONFIG_FILE: 설정 파일 열기 +SETTINGS_CLICK_TO_OPEN: 클릭하여 열기 +SETTINGS_SET_LOG_FILE: 로그 파일 설정 +SETTINGS_CLICK_TO_SET: 클릭하여 설정 +SETTINGS_CLICK_TO_CHECK: 클릭하여 확인 +SETTINGS_SET_SHORTCUT: 단축키 설정 +SETTINGS_URL_REWRITE: URL 재작성 +SETTINGS_CUSTOM_LINK_FORMAT: 사용자 정의 링크 형식 +SETTINGS_SET_PROXY_AND_MIRROR: 프록시 및 미러 설정 +SETTINGS_SET_SERVER: 서버 설정 +SETTINGS_CHECK_UPDATE: 업데이트 확인 +SETTINGS_OPEN_UPDATE_HELPER: 업데이트 도우미 열기 +SETTINGS_OPEN: 켜기 +SETTINGS_CLOSE: 끄기 +SETTINGS_ACCEPT_BETA_UPDATE: 베타 버전 업데이트 허용 +SETTINGS_LAUNCH_ON_BOOT: 부팅 시 시작 +SETTINGS_RENAME_BEFORE_UPLOAD: 업로드 전 이름 변경 +SETTINGS_TIMESTAMP_RENAME: 타임스탬프로 이름 변경 +SETTINGS_OPEN_UPLOAD_TIPS: 업로드 알림 표시 +SETTINGS_NOTIFICATION_SOUND: 알림 소리 재생 +SETTINGS_MINI_WINDOW_ON_TOP: Mini 창 항상 위에 표시 +SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: 업로드 후 URL 자동 복사 +SETTINGS_TIPS_PLACEHOLDER_URL: 자리표시자 $url로 URL 위치를 나타냅니다 +SETTINGS_TIPS_PLACEHOLDER_FILENAME: 자리표시자 $fileName으로 파일명 위치를 나타냅니다 +SETTINGS_TIPS_PLACEHOLDER_EXTNAME: 자리표시자 $extName으로 확장자 위치를 나타냅니다 +SETTINGS_TIPS_SUCH_AS: 예시 +SETTINGS_UPLOAD_PROXY: 업로드 프록시 +SETTINGS_PLUGIN_INSTALL_PROXY: 플러그인 설치 프록시 +SETTINGS_PLUGIN_INSTALL_MIRROR: 플러그인 설치 미러 +SETTINGS_CURRENT_VERSION: 현재 버전 +SETTINGS_NEWEST_VERSION: 최신 버전 +SETTINGS_GETING: 가져오는 중 +SETTINGS_TIPS_HAS_NEW_VERSION: PicGo 새 버전이 있습니다. 확인을 클릭하여 다운로드 페이지를 열어주세요 +SETTINGS_LOG_FILE: 로그 파일 +SETTINGS_LOG_LEVEL: 로그 레벨 +SETTINGS_LOG_FILE_SIZE: 로그 파일 크기 +SETTINGS_SET_PICGO_SERVER: PicGo-Server 설정 +SETTINGS_TIPS_SERVER_NOTICE: Server의 기능을 모르신다면 문서를 읽어보시거나 설정을 변경하지 마세요. +SETTINGS_ENABLE_SERVER: Server 활성화 +SETTINGS_SET_SERVER_HOST: 수신 주소 설정 +SETTINGS_SET_SERVER_PORT: 수신 포트 설정 +SETTINGS_TIP_PLACEHOLDER_HOST: 권장 기본값:127.0.0.1 +SETTINGS_TIP_PLACEHOLDER_PORT: 권장 기본값:36677 +SETTINGS_LOG_LEVEL_ALL: 전체-All +SETTINGS_LOG_LEVEL_SUCCESS: 성공-Success +SETTINGS_LOG_LEVEL_ERROR: 오류-Error +SETTINGS_LOG_LEVEL_INFO: 정보-Info +SETTINGS_LOG_LEVEL_WARN: 경고-Warn +SETTINGS_LOG_LEVEL_NONE: 기록 안 함-None +SETTINGS_RESULT: 설정 결과 +SETTINGS_DEFAULT_PICBED: 기본 이미지 호스팅 설정 +SETTINGS_SET_DEFAULT_PICBED: 기본 이미지 호스팅으로 설정 +SETTINGS_NOT_CONFIG_OPTIONS: 설정 항목 없음 +SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 내장 클립보드 업로드 사용 +SETTINGS_CHOOSE_LANGUAGE: 언어 선택 +BUILTIN_CLIPBOARD_TIPS: 스크립트 대신 내장 클립보드 함수를 사용하여 업로드 +SETTINGS_PASTE_IMAGE_FORMAT: 붙여넣기 이미지 형식 +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF +UPLOADER_CONFIG_NAME: 이미지 호스팅 설정 이름 + +# url rewrite + +URL_REWRITE_HELP: 업로드된 이미지 URL을 재작성합니다. 규칙은 순서대로 평가되며, 처음 일치하는 규칙이 적용됩니다. +URL_REWRITE_ADD_RULE: 규칙 추가 +URL_REWRITE_EDIT_RULE: 규칙 편집 +URL_REWRITE_EMPTY: 규칙 없음 +URL_REWRITE_ORDER: 순서 +URL_REWRITE_MATCH: 일치 +URL_REWRITE_REPLACE: 치환 +URL_REWRITE_FLAGS: 플래그 +URL_REWRITE_ENABLED: 활성화 +URL_REWRITE_ACTIONS: 작업 +URL_REWRITE_MOVE_UP: 위로 +URL_REWRITE_MOVE_DOWN: 아래로 +URL_REWRITE_EDIT: 편집 +URL_REWRITE_DELETE: 삭제 +URL_REWRITE_DELETE_CONFIRM: 이 규칙을 삭제하시겠습니까? +URL_REWRITE_MATCH_TIPS: 정규식 지원(JavaScript RegExp) +URL_REWRITE_MATCH_PLACEHOLDER: https://example.com/path +URL_REWRITE_REPLACE_TIPS: 치환 문자열($1, $2... 지원) +URL_REWRITE_REPLACE_PLACEHOLDER: https://example.org/newpath +URL_REWRITE_OPTIONS: 옵션 +URL_REWRITE_RULE_ENABLED: 이 규칙 활성화 +URL_REWRITE_FLAG_GLOBAL_LABEL: 전역(g) +URL_REWRITE_FLAG_GLOBAL_DESC: 첫 번째 일치만이 아니라 모든 일치 항목 치환 +URL_REWRITE_FLAG_IGNORE_CASE_LABEL: 대소문자 무시(i) +URL_REWRITE_FLAG_IGNORE_CASE_DESC: 대소문자를 구분하지 않는 매칭(예: JPG와 jpg는 동일) +URL_REWRITE_MATCH_REQUIRED: 일치 규칙은 필수입니다 +URL_REWRITE_REPLACE_REQUIRED: 치환 내용은 필수입니다 +URL_REWRITE_INVALID_REGEX: 유효하지 않은 정규식 +URL_REWRITE_PREVIEW_TITLE: 미리보기 +URL_REWRITE_PREVIEW_TIPS: URL을 입력하여 현재 규칙으로 어떻게 재작성되는지 확인합니다(순서대로 매칭, 첫 번째 일치만 적용) +URL_REWRITE_PREVIEW_PLACEHOLDER: https://example.com/path/to/image.png +URL_REWRITE_PREVIEW_RUN: 미리보기 +URL_REWRITE_PREVIEW_OUTPUT: 출력 URL +URL_REWRITE_PREVIEW_INPUT_REQUIRED: 미리보기할 URL을 입력해 주세요 +URL_REWRITE_PREVIEW_RULE_INVALID: 유효하지 않은 규칙 +URL_REWRITE_PREVIEW_MATCHED_RULE: 일치한 규칙 +URL_REWRITE_PREVIEW_NO_MATCH: 일치하는 규칙 없음 +UPLOADER_CONFIG_PLACEHOLDER: 설정 이름을 입력해 주세요 +SELECTED_SETTING_HINT: 선택됨 +SETTINGS_ENCODE_OUTPUT_URL: 출력(복사) URL 인코딩 +SETTINGS_SHOW_DOCK_ICON: Dock 아이콘 표시 +SETTINGS_SHOW_MENUBAR_ICON: 메뉴바 아이콘 표시 +SETTINGS_SHOW_MENUBAR_ICON_TIPS: "Dock 아이콘 표시"와 "메뉴바 아이콘 표시"를 모두 끄면 PicGo 메인 창을 찾을 수 없습니다. 설정 파일의 showDockIcon 또는 showMenubarIcon을 true로 변경하여 복구하세요. +SETTINGS_STARTUP_MODE: 시작 모드 +SETTINGS_STARTUP_MODE_MAIN_WINDOW: 메인 창 열기 +SETTINGS_STARTUP_MODE_MINI_WINDOW: Mini 창 열기 +SETTINGS_STARTUP_MODE_HIDE: 조용히 시작 + +# shortcut-page + +SHORTCUT_NAME: 단축키 이름 +SHORTCUT_BIND: 단축키 바인딩 +SHORTCUT_STATUS: 상태 +SHORTCUT_ENABLED: 활성화됨 +SHORTCUT_DISABLED: 비활성화됨 +SHORTCUT_SOURCE: 출처 +SHORTCUT_HANDLE: 작업 +SHORTCUT_ENABLE: 활성화 +SHORTCUT_DISABLE: 비활성화 +SHORTCUT_EDIT: 편집 +SHORTCUT_CHANGE_UPLOAD: 업로드 단축키 변경 + +# gallery-page +GALLERY_URL_REWRITE_TITLE: 선택한 이미지 URL 재작성 +GALLERY_URL_REWRITE_RESULT_TITLE: 이미지 URL 재작성 결과 +GALLERY_URL_REWRITE_WARN_NO_SELECTION: 최소한 하나의 이미지를 선택해야 합니다 + +GALLERY_URL_REWRITE_APPLY_GLOBAL_RULES: 전역 URL 재작성 규칙 적용 +GALLERY_URL_REWRITE_GLOBAL_RULES_COUNT: 전역 규칙 수 +GALLERY_URL_REWRITE_TEMP_RULE_TIPS: 선택 사항. 비워두면 임시 규칙을 사용하지 않습니다(임시 규칙은 전역 규칙보다 우선합니다). +GALLERY_URL_REWRITE_TEMP_RULE_REQUIRED: 임시 규칙에는 "일치"와 "치환"이 모두 필요합니다 +GALLERY_URL_REWRITE_NO_RULES_TO_APPLY: 활성화된 전역 규칙이 없고 임시 규칙도 지정되지 않았습니다 +GALLERY_URL_REWRITE_SAVE_TEMP_RULE_PROMPT: 임시 규칙을 전역 URL 재작성 규칙 목록에 저장하시겠습니까? +GALLERY_URL_REWRITE_APPLY_AND_SAVE: 적용 및 저장 +GALLERY_URL_REWRITE_APPLY_ONLY: 적용만 +GALLERY_URL_REWRITE_NO_CHANGES: 변경된 URL이 없습니다 +GALLERY_URL_REWRITE_EMPTY_RESULT_WARN: 재작성 결과가 비어 있습니다. 건너뛰었습니다 + +# tray-page + +WAIT_TO_UPLOAD: 업로드 대기 중 +ALREADY_UPLOAD: 업로드 완료 + +# upload-page + +PICTURE_UPLOAD: 이미지 업로드 +DRAG_FILE_TO_HERE: 파일을 여기로 드래그하거나 +CLICK_TO_UPLOAD: 클릭하여 업로드 +LINK_FORMAT: 링크 형식 +CUSTOM: 사용자 정의 +CLIPBOARD_PICTURE: 클립보드 이미지 +TIPS_DRAG_VALID_PICTURE_OR_URL: 유효한 이미지 파일 또는 이미지 URL을 드래그해 주세요 +TIPS_INPUT_URL: URL 입력 +TIPS_HTTP_PREFIX: http:// 또는 https://로 시작합니다. 여러 URL 지원(줄바꿈으로 구분) +TIPS_INPUT_VALID_URL: 유효한 URL을 입력해 주세요 + +# plugins + +PLUGIN_SEARCH_PLACEHOLDER: npm에서 PicGo 플러그인을 검색하거나 위 버튼을 클릭하여 추천 플러그인 목록 보기 +PLUGIN_INSTALL: 설치 +PLUGIN_INSTALLING: 설치 중 +PLUGIN_INSTALLED: 설치됨 +PLUGIN_DOING_SOMETHING: 처리 중 +PLUGIN_LIST: 플러그인 목록 +PLUGIN_IMPORT_LOCAL: 로컬 플러그인 가져오기 + +# tips + +TIPS_REMOVE_LINK: 이 작업은 앨범에서 이미지를 제거합니다. 계속하시겠습니까? +TIPS_WILL_REMOVE_CHOOSED_IMAGES: 선택한 ${m}개의 이미지를 앨범에서 제거합니다. 계속하시겠습니까? +TIPS_MUST_CONTAINS_URL: $url, $fileName 또는 $extName이 포함되어야 합니다 +TIPS_NETWORK_ERROR: 네트워크 오류로 가져올 수 없습니다 +TIPS_NEED_RELOAD: 다시 시작해야 적용됩니다 +TIPS_PLEASE_CHOOSE_LOG_LEVEL: 로그 레벨을 선택해 주세요 +TIPS_SET_SUCCEED: 설정 성공 +TIPS_PLUGIN_NOT_GUI_IMPLEMENT: 이 플러그인은 GUI에 최적화되지 않았습니다. 계속하시겠습니까? +TIPS_CLICK_NOTIFICATION_TO_RELOAD: 알림을 클릭하여 앱을 다시 시작하세요 +TIPS_GET_PLUGIN_LIST_FAILED: 플러그인 목록을 가져오지 못했습니다 + +# ---renderer i18n end--- + +# plugins +PLUGIN_INSTALL_SUCCEED: 플러그인 설치 성공 +PLUGIN_INSTALL_FAILED: 플러그인 설치 실패 +PLUGIN_UNINSTALL_SUCCEED: 플러그인 제거 성공 +PLUGIN_UNINSTALL_FAILED: 플러그인 제거 실패 +PLUGIN_UPDATE_SUCCEED: 플러그인 업데이트 성공 +PLUGIN_UPDATE_FAILED: 플러그인 업데이트 실패 +PLUGIN_IMPORT_SUCCEED: 플러그인 가져오기 성공 +PLUGIN_IMPORT_FAILED: 플러그인 가져오기 실패 +ENABLE_PLUGIN: 플러그인 활성화 +DISABLE_PLUGIN: 플러그인 비활성화 +UNINSTALL_PLUGIN: 플러그인 제거 +UPDATE_PLUGIN: 플러그인 업데이트 + +# toolbox +TOOLBOX: 도구상자 +TOOLBOX_TITLE: PicGo 실행 문제 해결 +TOOLBOX_SUB_TITLE: 다음 항목을 즉시 스캔하여 사용 문제를 해결합니다 +TOOLBOX_CHECK_CONFIG_FILE_BROKEN: 설정 파일 손상 여부 확인 +TOOLBOX_CHECK_GALLERY_FILE_BROKEN: 앨범 파일 손상 여부 확인 +TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: 클립보드 이미지 업로드 문제 확인 +TOOLBOX_CHECK_PROBLEM_WITH_PROXY: 프록시 설정 정상 여부 확인 +TOOLBOX_FIX_DONE_NEED_RELOAD: 복구 완료. 다시 시작해야 적용됩니다. 다시 시작하시겠습니까? +TOOLBOX_CANT_AUTO_FIX: 자동 복구할 수 없습니다. 다음 문제를 직접 해결해 주세요 +TOOLBOX_START_SCAN: 스캔 시작 +TOOLBOX_RE_SCAN: 다시 스캔 +TOOLBOX_START_FIX: 복구 시작 +TOOLBOX_SUCCESS_TIPS: 축하합니다. 문제가 발견되지 않았습니다 +TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: "설정 파일 경로: ${path}" +TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: 설정 파일이 손상되었습니다 +TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: "앨범 파일 경로: ${path}" +TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS: 앨범 파일이 손상되었습니다 +TOOLBOX_CHECK_PROXY_SUCCESS_TIPS: 프록시 설정이 정상입니다 +TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS: 프록시 설정 없음 +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT: 프록시 설정이 올바르지 않습니다 +TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: 프록시 설정을 사용할 수 없습니다 +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: "클립보드 이미지 임시 폴더 경로: ${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: "클립보드 이미지 임시 폴더가 존재하지 않습니다: ${path}" +TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: "폴더를 직접 생성해 주세요: ${path}" + +# tips +TIPS_NOTICE: 주의 +TIPS_WARNING: 경고 +TIPS_ERROR: 오류 발생 +TIPS_SKIPPED_INVALID_URLS: ${n}개의 유효하지 않은 URL을 건너뛰었습니다. 자세한 내용은 로그를 확인하세요 +TIPS_TOO_MANY_URLS_CONFIRM: ${n}개의 URL을 한 번에 업로드합니다. 지연이 발생할 수 있습니다. 나누어 업로드하는 것을 권장합니다. 계속하시겠습니까? +TIPS_NO_VALID_URLS: 유효한 URL을 찾을 수 없습니다 +TIPS_INSTALL_NODE_AND_RELOAD_PICGO: Node.js를 설치하고 PicGo를 다시 시작해 주세요 +TIPS_PLUGIN_REMOVE_GALLERY_ITEM: 플러그인이 앨범에서 이미지를 삭제하려고 합니다. 계속하시겠습니까? +TIPS_PLUGIN_OVERWRITE_GALLERY: 플러그인이 앨범 목록을 덮어쓰려고 합니다. 계속하시겠습니까? +TIPS_UPLOAD_NOT_PICTURES: 클립보드의 최신 레코드가 이미지가 아닙니다 +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT: PicGo 설정 파일이 손상되었습니다. 기본 설정으로 복원되었습니다 +TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP: PicGo 설정 파일이 손상되었습니다. 백업 설정으로 복원되었습니다 +TIPS_PICGO_BACKUP_FILE_VERSION: "백업 파일 버전: ${v}" +TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR: 사용자 정의 파일 구문 분석 오류. 경로 내용을 확인해 주세요 +TIPS_SHORTCUT_MODIFIED_SUCCEED: 단축키가 성공적으로 변경되었습니다 +TIPS_SHORTCUT_MODIFIED_CONFLICT: 단축키 충돌. 다시 설정해 주세요 +TIPS_CUSTOM_LINK_STYLE_MODIFIED_SUCCEED: 사용자 정의 링크 형식이 성공적으로 변경되었습니다 +TIPS_FIND_NEW_VERSION: 새 버전 ${v}이(가) 발견되었습니다. 많은 새 기능이 업데이트되었습니다. 최신 버전을 다운로드하시겠습니까? +TIPS_DELETE_UPLOADER_CONFIG: 이 설정을 삭제하시겠습니까? +TIPS_COPY_UPLOADER_CONFIG: 이 설정을 복사하시겠습니까? +TIPS_UPLOADER_CONFIG_NAME_EMPTY: 설정 이름은 비워둘 수 없습니다 +TIPS_UPLOADER_CONFIG_NOT_FOUND: 설정을 찾을 수 없습니다 +TIPS_UPLOADER_CONFIG_CANNOT_DELETE_LAST: 마지막 설정은 삭제할 수 없습니다 + +# privacy +PRIVACY: "사용하기 전에 개인정보 처리방침 ${privacyUrl}과 서비스 약관 ${termsUrl}을 읽고 동의해 주세요. 동의 후 사용 가능합니다." +PRIVACY_TIPS: 개인정보 처리방침에 동의해 주세요. 동의하지 않으면 업로드할 수 없습니다. +QUIT: 종료 diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml index 6b56d52c6..9add5df4a 100644 --- a/public/i18n/zh-CN.yml +++ b/public/i18n/zh-CN.yml @@ -187,6 +187,11 @@ SETTINGS_NOT_CONFIG_OPTIONS: 暂无配置项 SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用内置剪贴板上传 SETTINGS_CHOOSE_LANGUAGE: 选择语言 BUILTIN_CLIPBOARD_TIPS: 使用内置剪贴板函数而不是调用脚本获取剪贴板图片 +SETTINGS_PASTE_IMAGE_FORMAT: 粘贴图片格式 +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF UPLOADER_CONFIG_NAME: 图床配置名 # url rewrite diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml index 5e59429e5..152ec02b6 100644 --- a/public/i18n/zh-TW.yml +++ b/public/i18n/zh-TW.yml @@ -187,6 +187,11 @@ SETTINGS_NOT_CONFIG_OPTIONS: 暫無設定選項 SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用內建剪貼簿上傳 SETTINGS_CHOOSE_LANGUAGE: 選擇語言 BUILTIN_CLIPBOARD_TIPS: 使用內建剪貼簿函數而不是調用腳本取得剪貼簿內的照片 +SETTINGS_PASTE_IMAGE_FORMAT: 貼上圖片格式 +PASTE_IMAGE_FORMAT_PNG: PNG +PASTE_IMAGE_FORMAT_JPEG: JPEG +PASTE_IMAGE_FORMAT_WEBP: WebP +PASTE_IMAGE_FORMAT_AVIF: AVIF UPLOADER_CONFIG_NAME: 圖床配置名 # url rewrite diff --git a/src/main/apis/app/uploader/index.ts b/src/main/apis/app/uploader/index.ts index 86de88108..4656c6566 100644 --- a/src/main/apis/app/uploader/index.ts +++ b/src/main/apis/app/uploader/index.ts @@ -18,7 +18,9 @@ import fse from 'fs-extra' import path from 'path' import { privacyManager } from '~/main/utils/privacyManager' import writeFile from 'write-file-atomic' +import sharp from 'sharp' import { CLIPBOARD_IMAGE_FOLDER } from '~/universal/utils/static' +import { IPasteImageFormat } from '#/types/enum' import { IpcMainEvent } from 'electron/main' import { dataReportManager } from '~/main/utils/dataReport' @@ -97,6 +99,36 @@ class Uploader { return this } + /** + * Get the buffer and extension for a clipboard image based on user's format preference + */ + private async getClipboardImageBuffer (nativeImage: Electron.NativeImage): Promise<{ buffer: Buffer; ext: string }> { + const format = picgo.getConfig('settings.pasteImageFormat') || IPasteImageFormat.PNG + const quality = picgo.getConfig('settings.pasteImageQuality') || 90 + + switch (format) { + case IPasteImageFormat.JPEG: { + const buffer = nativeImage.toJPEG(quality) + return { buffer, ext: 'jpg' } + } + case IPasteImageFormat.WEBP: { + const pngBuffer = nativeImage.toPNG() + const buffer = await sharp(pngBuffer).webp({ quality }).toBuffer() + return { buffer, ext: 'webp' } + } + case IPasteImageFormat.AVIF: { + const pngBuffer = nativeImage.toPNG() + const buffer = await sharp(pngBuffer).avif({ quality: Math.min(quality, 63) }).toBuffer() + return { buffer, ext: 'avif' } + } + case IPasteImageFormat.PNG: + default: { + const buffer = nativeImage.toPNG() + return { buffer, ext: 'png' } + } + } + } + /** * use electron's clipboard image to upload */ @@ -109,9 +141,9 @@ class Uploader { if (nativeImage.isEmpty()) { return false } - const buffer = nativeImage.toPNG() + const { buffer, ext } = await this.getClipboardImageBuffer(nativeImage) const baseDir = picgo.baseDir - const fileName = `${dayjs().format('YYYYMMDDHHmmssSSS')}.png` + const fileName = `${dayjs().format('YYYYMMDDHHmmssSSS')}.${ext}` filePath = path.join(baseDir, CLIPBOARD_IMAGE_FOLDER, fileName) await writeFile(filePath, buffer) return await this.upload([filePath]) diff --git a/src/renderer/pages/PicGoSetting.vue b/src/renderer/pages/PicGoSetting.vue index 36b5adbe2..65c5279db 100644 --- a/src/renderer/pages/PicGoSetting.vue +++ b/src/renderer/pages/PicGoSetting.vue @@ -55,7 +55,7 @@ import SwitchAreaSettings from './components/settings/switchArea/SwitchAreaSetti import CustomAreaSettings from './components/settings/customArea/CustomAreaSettings.vue' import SelectAreaSettings from './components/settings/selectArea/SelectAreaSettings.vue' import { openURL } from '@/utils/common' -import { IStartupMode } from '#/types/enum' +import { IStartupMode, IPasteImageFormat } from '#/types/enum' import { useStore } from '@/hooks/useStore' import { isLinuxPlatform } from '@/utils/bridge' @@ -72,6 +72,7 @@ const form = reactive({ autoCopyUrl: true, checkBetaUpdate: true, useBuiltinClipboard: false, + pasteImageFormat: IPasteImageFormat.PNG, language: 'en', logFileSizeLimit: 10, encodeOutputURL: true, @@ -111,6 +112,7 @@ const applyAppConfig = (config: DeepReadonly | null) => { form.autoCopyUrl = settings.autoCopyUrl === undefined ? true : settings.autoCopyUrl form.checkBetaUpdate = settings.checkBetaUpdate === undefined ? true : settings.checkBetaUpdate form.useBuiltinClipboard = settings.useBuiltinClipboard === undefined ? false : settings.useBuiltinClipboard + form.pasteImageFormat = settings.pasteImageFormat || IPasteImageFormat.PNG form.language = settings.language ?? 'en' form.encodeOutputURL = settings.encodeOutputURL === undefined ? false : settings.encodeOutputURL form.customLink = settings.customLink || '$url' diff --git a/src/renderer/pages/components/settings/selectArea/SelectAreaSettings.vue b/src/renderer/pages/components/settings/selectArea/SelectAreaSettings.vue index dc8a4a680..42e1e3ded 100644 --- a/src/renderer/pages/components/settings/selectArea/SelectAreaSettings.vue +++ b/src/renderer/pages/components/settings/selectArea/SelectAreaSettings.vue @@ -12,6 +12,12 @@ :label="$T('SETTINGS_STARTUP_MODE')" @change="handleChangeStartupMode" /> +