diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json
index e21ebcf83..c2cc580eb 100644
--- a/app/appearance/langs/en_US.json
+++ b/app/appearance/langs/en_US.json
@@ -1,4 +1,6 @@
{
+ "copyInsertAsAssets": "Copy as asset and insert",
+ "useFileProtoLink": "Use file:// absolute path and link",
"syncConfGuide1": "Initialize sync key",
"syncConfGuide2": "This key is used for data sync end-to-end encryption
The key is generated based on the password you enter, please remember the password",
"syncConfGuide3": "The cloud sync directory is used to store the encrypted data corresponding to the current workspace. The default name is main
. If you only have one workspace to sync, use main
directly",
diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json
index fb77ea417..312c20ec1 100644
--- a/app/appearance/langs/es_ES.json
+++ b/app/appearance/langs/es_ES.json
@@ -1,4 +1,6 @@
{
+ "copyInsertAsAssets": "Copiar como archivo de activos e insertar",
+ "useFileProtoLink": "Usar archivo:// ruta absoluta y enlace",
"syncConfGuide1": "Inicializar clave de sincronización",
"syncConfGuide2": "Esta clave se utiliza para el cifrado de extremo a extremo de sincronización de datos
La clave se genera en función de la contraseña que ingresa, recuerde la contraseña",
"syncConfGuide3": "El directorio de sincronización en la nube se utiliza para almacenar los datos cifrados correspondientes al espacio de trabajo actual. El nombre predeterminado es main
. Si solo tiene un espacio de trabajo para sincronizar, agregue y use main
directamente.",
diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json
index fb54adeab..38fd026e1 100644
--- a/app/appearance/langs/fr_FR.json
+++ b/app/appearance/langs/fr_FR.json
@@ -1,4 +1,6 @@
{
+ "copyInsertAsAssets": "Copier en tant que fichier d'actif et insérer",
+ "useFileProtoLink": "Utiliser file:// chemin absolu et lien",
"syncConfGuide1": "Initialiser la clé de synchronisation",
"syncConfGuide2": "Cette clé est utilisée pour le chiffrement de bout en bout de la synchronisation des données
La clé est générée en fonction du mot de passe que vous saisissez, veuillez vous souvenir du mot de passe",
"syncConfGuide3": "Le répertoire de synchronisation cloud est utilisé pour stocker les données chiffrées correspondant à l'espace de travail actuel. Le nom par défaut est main
. Si vous n'avez qu'un seul espace de travail à synchroniser, ajoutez et utilisez main
directement",
diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json
index 853547c55..6df08bb48 100644
--- a/app/appearance/langs/zh_CHT.json
+++ b/app/appearance/langs/zh_CHT.json
@@ -1,4 +1,6 @@
{
+ "copyInsertAsAssets": "複製為資源文件並插入",
+ "useFileProtoLink": "使用 file:// 絕對路徑並鏈接",
"syncConfGuide1": "初始化同步密鑰",
"syncConfGuide2": "該密鑰用於數據同步端到端加密
密鑰基於你輸入的密碼生成,請務必牢記密碼",
"syncConfGuide3": "雲端同步目錄用於存放當前工作空間對應的加密數據,默認名稱為 main
。如果你只有一個工作空間需要同步,直接使用 main
即可",
diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index f3275a19a..c095d70b3 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -1,4 +1,6 @@
{
+ "copyInsertAsAssets": "复制为资源文件并插入",
+ "useFileProtoLink": "使用 file:// 绝对路径并链接",
"syncConfGuide1": "初始化同步密钥",
"syncConfGuide2": "该密钥用于数据同步端到端加密
密钥基于你输入的密码生成,请务必牢记密码",
"syncConfGuide3": "云端同步目录用于存放当前工作空间对应的加密数据,默认名称为 main
。如果你只有一个工作空间需要同步,直接使用 main
即可",
diff --git a/app/src/protyle/util/editorCommonEvent.ts b/app/src/protyle/util/editorCommonEvent.ts
index 28e7bea47..f7693a1c3 100644
--- a/app/src/protyle/util/editorCommonEvent.ts
+++ b/app/src/protyle/util/editorCommonEvent.ts
@@ -706,19 +706,19 @@ export const dropEvent = (protyle: IProtyle, editorElement: HTMLElement) => {
if (isAllFile) {
window.siyuan.menus.menu.remove();
window.siyuan.menus.menu.append(new MenuItem({
- label:window.siyuan.languages.upload,
+ label:window.siyuan.languages.copyInsertAsAssets,
icon:"iconUpload",
click() {
uploadLocalFiles(files, protyle);
}
}).element);
window.siyuan.menus.menu.append(new MenuItem({
- label:window.siyuan.languages.link,
+ label:window.siyuan.languages.useFileProtoLink,
icon:"iconLink",
click() {
let fileText = "";
files.forEach((item) => {
- fileText = `[${pathPosix().basename(item)}](${item})\n`;
+ fileText = `[${pathPosix().basename(item)}](file://${item})\n`;
});
insertHTML(protyle.lute.SpinBlockDOM(fileText), protyle);
}