markpdfdown 0.1.3 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +144 -0
- package/README.fa.md +144 -0
- package/README.ja.md +140 -0
- package/README.md +14 -2
- package/README.ru.md +140 -0
- package/README.zh-CN.md +140 -0
- package/bin/cli.js +31 -5
- package/dist/main/index.js +2 -2
- package/dist/preload/index.js +2 -1
- package/dist/renderer/assets/{index-DeDe7lry.js → index-C9Uc3AS4.js} +178 -82
- package/dist/renderer/index.html +1 -1
- package/package.json +7 -4
|
@@ -67524,6 +67524,7 @@ const WindowControls = ({ onClose }) => {
|
|
|
67524
67524
|
display: "flex",
|
|
67525
67525
|
gap: "8px",
|
|
67526
67526
|
padding: "12px",
|
|
67527
|
+
// @ts-expect-error WebkitAppRegion is Electron-specific CSS property
|
|
67527
67528
|
WebkitAppRegion: "no-drag"
|
|
67528
67529
|
},
|
|
67529
67530
|
children: [
|
|
@@ -67780,6 +67781,7 @@ const AppLayout = () => {
|
|
|
67780
67781
|
);
|
|
67781
67782
|
};
|
|
67782
67783
|
const { Text: Text$2 } = Typography;
|
|
67784
|
+
const SELECTED_MODEL_KEY = "markpdfdown_selected_model";
|
|
67783
67785
|
const UploadPanel = () => {
|
|
67784
67786
|
const navigate = useNavigate();
|
|
67785
67787
|
const { message } = App$1.useApp();
|
|
@@ -67798,11 +67800,22 @@ const UploadPanel = () => {
|
|
|
67798
67800
|
const result = await window.api.model.getAll();
|
|
67799
67801
|
if (result.success && result.data) {
|
|
67800
67802
|
setModelGroups(result.data);
|
|
67803
|
+
const savedModel = localStorage.getItem(SELECTED_MODEL_KEY);
|
|
67804
|
+
if (savedModel) {
|
|
67805
|
+
const modelExists = result.data.some(
|
|
67806
|
+
(group) => group.models.some(
|
|
67807
|
+
(model) => `${model.id}@${model.provider}` === savedModel
|
|
67808
|
+
)
|
|
67809
|
+
);
|
|
67810
|
+
if (modelExists) {
|
|
67811
|
+
setSelectedModel(savedModel);
|
|
67812
|
+
}
|
|
67813
|
+
}
|
|
67801
67814
|
} else {
|
|
67802
67815
|
message.error(result.error || t2("messages.fetch_models_failed"));
|
|
67803
67816
|
}
|
|
67804
67817
|
} catch (error) {
|
|
67805
|
-
console.error("
|
|
67818
|
+
console.error("Failed to fetch model list:", error);
|
|
67806
67819
|
message.error(
|
|
67807
67820
|
t2("messages.fetch_models_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
67808
67821
|
);
|
|
@@ -67812,6 +67825,10 @@ const UploadPanel = () => {
|
|
|
67812
67825
|
};
|
|
67813
67826
|
fetchAllModels();
|
|
67814
67827
|
}, [message, t2]);
|
|
67828
|
+
const handleModelChange = (value) => {
|
|
67829
|
+
setSelectedModel(value);
|
|
67830
|
+
localStorage.setItem(SELECTED_MODEL_KEY, value);
|
|
67831
|
+
};
|
|
67815
67832
|
const getModelOptions = () => {
|
|
67816
67833
|
const options = modelGroups.map((group) => ({
|
|
67817
67834
|
label: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: group.providerName }),
|
|
@@ -67851,7 +67868,7 @@ const UploadPanel = () => {
|
|
|
67851
67868
|
setFileList([...fileList, ...newFiles]);
|
|
67852
67869
|
}
|
|
67853
67870
|
} catch (error) {
|
|
67854
|
-
console.error("
|
|
67871
|
+
console.error("Failed to select files:", error);
|
|
67855
67872
|
message.error(
|
|
67856
67873
|
t2("messages.select_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
67857
67874
|
);
|
|
@@ -67961,7 +67978,7 @@ const UploadPanel = () => {
|
|
|
67961
67978
|
await window.api.task.delete(task.id);
|
|
67962
67979
|
}
|
|
67963
67980
|
} catch (error) {
|
|
67964
|
-
console.error(
|
|
67981
|
+
console.error(`Failed to upload file ${file.name}:`, error);
|
|
67965
67982
|
message.error(t2("messages.upload_failed", { filename: file.name }));
|
|
67966
67983
|
await window.api.task.delete(task.id);
|
|
67967
67984
|
}
|
|
@@ -67974,7 +67991,7 @@ const UploadPanel = () => {
|
|
|
67974
67991
|
message.error(t2("messages.upload_error"));
|
|
67975
67992
|
}
|
|
67976
67993
|
} catch (error) {
|
|
67977
|
-
console.error("
|
|
67994
|
+
console.error("Failed to upload files:", error);
|
|
67978
67995
|
message.error(
|
|
67979
67996
|
t2("messages.upload_error") + ": " + (error instanceof Error ? error.message : String(error))
|
|
67980
67997
|
);
|
|
@@ -67991,7 +68008,10 @@ const UploadPanel = () => {
|
|
|
67991
68008
|
Button$1,
|
|
67992
68009
|
{
|
|
67993
68010
|
type: "primary",
|
|
67994
|
-
onClick:
|
|
68011
|
+
onClick: (e2) => {
|
|
68012
|
+
e2.stopPropagation();
|
|
68013
|
+
handleFileSelect();
|
|
68014
|
+
},
|
|
67995
68015
|
style: { marginTop: 16 },
|
|
67996
68016
|
children: t2("dragger.button")
|
|
67997
68017
|
}
|
|
@@ -68006,7 +68026,8 @@ const UploadPanel = () => {
|
|
|
68006
68026
|
options: getModelOptions(),
|
|
68007
68027
|
loading,
|
|
68008
68028
|
placeholder: t2("form.model_placeholder"),
|
|
68009
|
-
|
|
68029
|
+
value: selectedModel || void 0,
|
|
68030
|
+
onChange: handleModelChange
|
|
68010
68031
|
}
|
|
68011
68032
|
),
|
|
68012
68033
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Text$2, { children: t2("form.page_range_label") }),
|
|
@@ -68157,7 +68178,7 @@ const List = () => {
|
|
|
68157
68178
|
message.error(result.error || t2("messages.fetch_failed"));
|
|
68158
68179
|
}
|
|
68159
68180
|
} catch (error) {
|
|
68160
|
-
console.error("
|
|
68181
|
+
console.error("Failed to fetch task list:", error);
|
|
68161
68182
|
message.error(t2("messages.fetch_failed"));
|
|
68162
68183
|
} finally {
|
|
68163
68184
|
setLoading(false);
|
|
@@ -68259,7 +68280,7 @@ const List = () => {
|
|
|
68259
68280
|
message.error(result.error || t2("messages.delete_failed"));
|
|
68260
68281
|
}
|
|
68261
68282
|
} catch (error) {
|
|
68262
|
-
console.error("
|
|
68283
|
+
console.error("Failed to delete task:", error);
|
|
68263
68284
|
message.error(t2("messages.delete_failed"));
|
|
68264
68285
|
}
|
|
68265
68286
|
}
|
|
@@ -68281,7 +68302,7 @@ const List = () => {
|
|
|
68281
68302
|
message.error(result.error || t2("messages.action_failed", { action: statusText }));
|
|
68282
68303
|
}
|
|
68283
68304
|
} catch (error) {
|
|
68284
|
-
console.error(
|
|
68305
|
+
console.error(`Failed to ${statusText} task:`, error);
|
|
68285
68306
|
message.error(t2("messages.action_failed", { action: statusText }));
|
|
68286
68307
|
}
|
|
68287
68308
|
}
|
|
@@ -68614,7 +68635,7 @@ const Provider = ({
|
|
|
68614
68635
|
setSuffix(data.suffix);
|
|
68615
68636
|
}
|
|
68616
68637
|
} catch (error) {
|
|
68617
|
-
console.error("
|
|
68638
|
+
console.error("Failed to fetch provider details:", error);
|
|
68618
68639
|
}
|
|
68619
68640
|
};
|
|
68620
68641
|
fetchProviderDetails();
|
|
@@ -68630,7 +68651,7 @@ const Provider = ({
|
|
|
68630
68651
|
}
|
|
68631
68652
|
setModels(result.data);
|
|
68632
68653
|
} catch (error) {
|
|
68633
|
-
console.error("
|
|
68654
|
+
console.error("Failed to fetch models:", error);
|
|
68634
68655
|
message.error(
|
|
68635
68656
|
t2("messages.fetch_models_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68636
68657
|
);
|
|
@@ -68649,7 +68670,7 @@ const Provider = ({
|
|
|
68649
68670
|
message.success(t2("messages.delete_model_success"));
|
|
68650
68671
|
fetchModelsRef.current();
|
|
68651
68672
|
} catch (error) {
|
|
68652
|
-
console.error("
|
|
68673
|
+
console.error("Failed to delete model:", error);
|
|
68653
68674
|
message.error(
|
|
68654
68675
|
t2("messages.delete_model_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68655
68676
|
);
|
|
@@ -68674,7 +68695,7 @@ const Provider = ({
|
|
|
68674
68695
|
message.success(t2("messages.add_model_success"));
|
|
68675
68696
|
fetchModelsRef.current();
|
|
68676
68697
|
} catch (error) {
|
|
68677
|
-
console.error("
|
|
68698
|
+
console.error("Failed to add model:", error);
|
|
68678
68699
|
message.error(
|
|
68679
68700
|
t2("messages.add_model_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68680
68701
|
);
|
|
@@ -68690,7 +68711,7 @@ const Provider = ({
|
|
|
68690
68711
|
setProviderData(result.data);
|
|
68691
68712
|
message.success(t2("messages.update_success"));
|
|
68692
68713
|
} catch (error) {
|
|
68693
|
-
console.error("
|
|
68714
|
+
console.error("Failed to update provider:", error);
|
|
68694
68715
|
message.error(
|
|
68695
68716
|
t2("messages.update_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68696
68717
|
);
|
|
@@ -68709,7 +68730,7 @@ const Provider = ({
|
|
|
68709
68730
|
}
|
|
68710
68731
|
message.success(t2("messages.test_success"));
|
|
68711
68732
|
} catch (error) {
|
|
68712
|
-
console.error("
|
|
68733
|
+
console.error("Failed to test model connection:", error);
|
|
68713
68734
|
message.error(
|
|
68714
68735
|
t2("messages.test_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68715
68736
|
);
|
|
@@ -68745,7 +68766,7 @@ const Provider = ({
|
|
|
68745
68766
|
}
|
|
68746
68767
|
setProviderData(result.data);
|
|
68747
68768
|
} catch (error) {
|
|
68748
|
-
console.error("
|
|
68769
|
+
console.error("Failed to update provider status:", error);
|
|
68749
68770
|
}
|
|
68750
68771
|
}
|
|
68751
68772
|
}
|
|
@@ -68947,7 +68968,7 @@ const Provider = ({
|
|
|
68947
68968
|
onProviderDeleted();
|
|
68948
68969
|
}
|
|
68949
68970
|
} catch (error) {
|
|
68950
|
-
console.error("
|
|
68971
|
+
console.error("Failed to delete provider:", error);
|
|
68951
68972
|
message.error(
|
|
68952
68973
|
t2("messages.delete_provider_failed") + ": " + (error instanceof Error ? error.message : String(error))
|
|
68953
68974
|
);
|
|
@@ -68983,7 +69004,7 @@ const ModelService = () => {
|
|
|
68983
69004
|
try {
|
|
68984
69005
|
const response = await window.api.provider.getAll();
|
|
68985
69006
|
if (!response.success) {
|
|
68986
|
-
throw new Error(response.error || "
|
|
69007
|
+
throw new Error(response.error || t2("messages.fetch_providers_failed"));
|
|
68987
69008
|
}
|
|
68988
69009
|
const providers = response.data;
|
|
68989
69010
|
const providerTabs = providers.map((provider) => ({
|
|
@@ -69010,7 +69031,7 @@ const ModelService = () => {
|
|
|
69010
69031
|
setIsInitialLoad(false);
|
|
69011
69032
|
}
|
|
69012
69033
|
} catch (error) {
|
|
69013
|
-
console.error("
|
|
69034
|
+
console.error("Failed to fetch provider list:", error);
|
|
69014
69035
|
}
|
|
69015
69036
|
}, [activeKey, isInitialLoad, t2]);
|
|
69016
69037
|
const handleProviderAdded = reactExports.useCallback((providerId) => {
|
|
@@ -69023,7 +69044,7 @@ const ModelService = () => {
|
|
|
69023
69044
|
try {
|
|
69024
69045
|
const response = await window.api.provider.getAll();
|
|
69025
69046
|
if (!response.success) {
|
|
69026
|
-
throw new Error(response.error || "
|
|
69047
|
+
throw new Error(response.error || t2("messages.fetch_providers_failed"));
|
|
69027
69048
|
}
|
|
69028
69049
|
const providers = response.data;
|
|
69029
69050
|
if (providers.length > 0) {
|
|
@@ -69032,11 +69053,11 @@ const ModelService = () => {
|
|
|
69032
69053
|
setActiveKey("add provider");
|
|
69033
69054
|
}
|
|
69034
69055
|
} catch (error) {
|
|
69035
|
-
console.error("
|
|
69056
|
+
console.error("Failed to fetch provider list:", error);
|
|
69036
69057
|
setActiveKey("add provider");
|
|
69037
69058
|
}
|
|
69038
69059
|
});
|
|
69039
|
-
}, []);
|
|
69060
|
+
}, [t2]);
|
|
69040
69061
|
reactExports.useEffect(() => {
|
|
69041
69062
|
handleProviderAddedRef.current = handleProviderAdded;
|
|
69042
69063
|
}, [handleProviderAdded]);
|
|
@@ -121138,6 +121159,7 @@ const Preview = () => {
|
|
|
121138
121159
|
const [loading, setLoading] = reactExports.useState(true);
|
|
121139
121160
|
const [imageError, setImageError] = reactExports.useState(false);
|
|
121140
121161
|
const [retrying, setRetrying] = reactExports.useState(false);
|
|
121162
|
+
const [retryingFailed, setRetryingFailed] = reactExports.useState(false);
|
|
121141
121163
|
const fetchTask = reactExports.useCallback(async () => {
|
|
121142
121164
|
if (!id) return;
|
|
121143
121165
|
try {
|
|
@@ -121145,15 +121167,15 @@ const Preview = () => {
|
|
|
121145
121167
|
if (result.success && result.data) {
|
|
121146
121168
|
setTask(result.data);
|
|
121147
121169
|
} else {
|
|
121148
|
-
message.error(result.error || "
|
|
121170
|
+
message.error(result.error || t2("preview.fetch_task_failed"));
|
|
121149
121171
|
navigate("/list");
|
|
121150
121172
|
}
|
|
121151
121173
|
} catch (error) {
|
|
121152
|
-
console.error("
|
|
121153
|
-
message.error("
|
|
121174
|
+
console.error("Failed to fetch task:", error);
|
|
121175
|
+
message.error(t2("preview.fetch_task_failed"));
|
|
121154
121176
|
navigate("/list");
|
|
121155
121177
|
}
|
|
121156
|
-
}, [id, message, navigate]);
|
|
121178
|
+
}, [id, message, navigate, t2]);
|
|
121157
121179
|
const fetchPageDetail = reactExports.useCallback(async (page) => {
|
|
121158
121180
|
if (!id) return;
|
|
121159
121181
|
setLoading(true);
|
|
@@ -121164,17 +121186,17 @@ const Preview = () => {
|
|
|
121164
121186
|
setTaskDetail(result.data);
|
|
121165
121187
|
setImageError(!result.data.imageExists);
|
|
121166
121188
|
} else {
|
|
121167
|
-
message.error(result.error || "
|
|
121189
|
+
message.error(result.error || t2("preview.fetch_page_failed"));
|
|
121168
121190
|
setTaskDetail(null);
|
|
121169
121191
|
}
|
|
121170
121192
|
} catch (error) {
|
|
121171
|
-
console.error("
|
|
121172
|
-
message.error("
|
|
121193
|
+
console.error("Failed to fetch page detail:", error);
|
|
121194
|
+
message.error(t2("preview.fetch_page_failed"));
|
|
121173
121195
|
setTaskDetail(null);
|
|
121174
121196
|
} finally {
|
|
121175
121197
|
setLoading(false);
|
|
121176
121198
|
}
|
|
121177
|
-
}, [id, message]);
|
|
121199
|
+
}, [id, message, t2]);
|
|
121178
121200
|
reactExports.useEffect(() => {
|
|
121179
121201
|
if (!id) return;
|
|
121180
121202
|
const handleTaskEvent = (event) => {
|
|
@@ -121190,7 +121212,7 @@ const Preview = () => {
|
|
|
121190
121212
|
}
|
|
121191
121213
|
break;
|
|
121192
121214
|
case "task:deleted":
|
|
121193
|
-
message.info("
|
|
121215
|
+
message.info(t2("preview.task_deleted"));
|
|
121194
121216
|
navigate("/list");
|
|
121195
121217
|
break;
|
|
121196
121218
|
}
|
|
@@ -121219,28 +121241,28 @@ const Preview = () => {
|
|
|
121219
121241
|
fetchTask();
|
|
121220
121242
|
}, [fetchTask]);
|
|
121221
121243
|
reactExports.useEffect(() => {
|
|
121222
|
-
if (task && task.pages > 0) {
|
|
121244
|
+
if (task && task.pages && task.pages > 0) {
|
|
121223
121245
|
fetchPageDetail(currentPage);
|
|
121224
121246
|
}
|
|
121225
121247
|
}, [currentPage, task, fetchPageDetail]);
|
|
121226
121248
|
reactExports.useEffect(() => {
|
|
121227
|
-
if (task && task.status < 2) {
|
|
121228
|
-
message.warning("
|
|
121249
|
+
if (task && task.status !== void 0 && task.status < 2) {
|
|
121250
|
+
message.warning(t2("preview.task_not_started"));
|
|
121229
121251
|
navigate("/list");
|
|
121230
121252
|
}
|
|
121231
|
-
}, [task, message, navigate]);
|
|
121253
|
+
}, [task, message, navigate, t2]);
|
|
121232
121254
|
const handleDownload = async () => {
|
|
121233
121255
|
if (!id) return;
|
|
121234
121256
|
try {
|
|
121235
121257
|
const result = await window.api.file.downloadMarkdown(id);
|
|
121236
121258
|
if (result.success) {
|
|
121237
|
-
message.success("
|
|
121259
|
+
message.success(t2("preview.download_success"));
|
|
121238
121260
|
} else {
|
|
121239
|
-
message.error(result.error || "
|
|
121261
|
+
message.error(result.error || t2("preview.download_failed"));
|
|
121240
121262
|
}
|
|
121241
121263
|
} catch (error) {
|
|
121242
|
-
console.error("
|
|
121243
|
-
message.error("
|
|
121264
|
+
console.error("Download failed:", error);
|
|
121265
|
+
message.error(t2("preview.download_failed"));
|
|
121244
121266
|
}
|
|
121245
121267
|
};
|
|
121246
121268
|
const handleDelete2 = async () => {
|
|
@@ -121312,6 +121334,31 @@ const Preview = () => {
|
|
|
121312
121334
|
}
|
|
121313
121335
|
});
|
|
121314
121336
|
};
|
|
121337
|
+
const handleRetryFailed = async () => {
|
|
121338
|
+
if (!id) return;
|
|
121339
|
+
modal.confirm({
|
|
121340
|
+
title: t2("preview.confirm_retry_failed"),
|
|
121341
|
+
content: t2("preview.confirm_retry_failed_content"),
|
|
121342
|
+
okText: tCommon("common.confirm"),
|
|
121343
|
+
cancelText: tCommon("common.cancel"),
|
|
121344
|
+
onOk: async () => {
|
|
121345
|
+
setRetryingFailed(true);
|
|
121346
|
+
try {
|
|
121347
|
+
const result = await window.api.taskDetail.retryFailed(id);
|
|
121348
|
+
if (result.success) {
|
|
121349
|
+
message.success(t2("preview.retry_failed_success", { count: result.data?.retried || 0 }));
|
|
121350
|
+
} else {
|
|
121351
|
+
message.error(result.error || t2("preview.retry_failed"));
|
|
121352
|
+
}
|
|
121353
|
+
} catch (error) {
|
|
121354
|
+
console.error("重试失败页失败:", error);
|
|
121355
|
+
message.error(t2("preview.retry_failed"));
|
|
121356
|
+
} finally {
|
|
121357
|
+
setRetryingFailed(false);
|
|
121358
|
+
}
|
|
121359
|
+
}
|
|
121360
|
+
});
|
|
121361
|
+
};
|
|
121315
121362
|
const handlePageChange = (page) => {
|
|
121316
121363
|
setCurrentPage(page);
|
|
121317
121364
|
};
|
|
@@ -121321,14 +121368,14 @@ const Preview = () => {
|
|
|
121321
121368
|
try {
|
|
121322
121369
|
const result = await window.api.taskDetail.retry(taskDetail.id);
|
|
121323
121370
|
if (result.success) {
|
|
121324
|
-
message.success("
|
|
121371
|
+
message.success(t2("preview.page_retry_success"));
|
|
121325
121372
|
fetchPageDetail(currentPage);
|
|
121326
121373
|
} else {
|
|
121327
|
-
message.error(result.error || "
|
|
121374
|
+
message.error(result.error || t2("preview.page_retry_failed"));
|
|
121328
121375
|
}
|
|
121329
121376
|
} catch (error) {
|
|
121330
|
-
console.error("
|
|
121331
|
-
message.error("
|
|
121377
|
+
console.error("Failed to retry page:", error);
|
|
121378
|
+
message.error(t2("preview.page_retry_failed"));
|
|
121332
121379
|
} finally {
|
|
121333
121380
|
setRetrying(false);
|
|
121334
121381
|
}
|
|
@@ -121441,35 +121488,84 @@ const Preview = () => {
|
|
|
121441
121488
|
children: t2("preview.download")
|
|
121442
121489
|
}
|
|
121443
121490
|
),
|
|
121444
|
-
|
|
121445
|
-
|
|
121446
|
-
|
|
121447
|
-
|
|
121448
|
-
|
|
121449
|
-
|
|
121450
|
-
|
|
121491
|
+
(() => {
|
|
121492
|
+
const status2 = task?.status;
|
|
121493
|
+
const failedCount = task?.failed_count || 0;
|
|
121494
|
+
const menuItems = [];
|
|
121495
|
+
if (status2 === 8 && failedCount > 0) {
|
|
121496
|
+
menuItems.push({
|
|
121497
|
+
key: "retry_failed",
|
|
121498
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$4, {}),
|
|
121499
|
+
label: t2("preview.retry_failed"),
|
|
121500
|
+
onClick: handleRetryFailed,
|
|
121501
|
+
disabled: retryingFailed
|
|
121502
|
+
});
|
|
121451
121503
|
}
|
|
121452
|
-
|
|
121453
|
-
|
|
121454
|
-
|
|
121455
|
-
|
|
121456
|
-
|
|
121457
|
-
|
|
121458
|
-
|
|
121459
|
-
onClick: handleRetryTask,
|
|
121460
|
-
children: t2("preview.retry")
|
|
121504
|
+
if (status2 === 0) {
|
|
121505
|
+
menuItems.push({
|
|
121506
|
+
key: "retry_all",
|
|
121507
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$4, {}),
|
|
121508
|
+
label: t2("preview.retry_all"),
|
|
121509
|
+
onClick: handleRetryTask
|
|
121510
|
+
});
|
|
121461
121511
|
}
|
|
121462
|
-
|
|
121463
|
-
|
|
121464
|
-
Button$1,
|
|
121465
|
-
{
|
|
121466
|
-
color: "danger",
|
|
121467
|
-
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$u, {}),
|
|
121468
|
-
variant: "filled",
|
|
121469
|
-
onClick: handleDelete2,
|
|
121470
|
-
children: t2("preview.delete")
|
|
121512
|
+
if (menuItems.length > 0 && (status2 !== void 0 && status2 > 0 && status2 < 6 || status2 === 0 || status2 !== void 0 && status2 >= 6)) {
|
|
121513
|
+
menuItems.push({ type: "divider" });
|
|
121471
121514
|
}
|
|
121472
|
-
|
|
121515
|
+
if (status2 !== void 0 && status2 > 0 && status2 < 6) {
|
|
121516
|
+
menuItems.push({
|
|
121517
|
+
key: "cancel",
|
|
121518
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$2, {}),
|
|
121519
|
+
label: t2("preview.cancel"),
|
|
121520
|
+
onClick: handleCancel
|
|
121521
|
+
});
|
|
121522
|
+
}
|
|
121523
|
+
if (status2 === 0 || status2 !== void 0 && status2 >= 6) {
|
|
121524
|
+
menuItems.push({
|
|
121525
|
+
key: "delete",
|
|
121526
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$u, {}),
|
|
121527
|
+
label: t2("preview.delete"),
|
|
121528
|
+
danger: true,
|
|
121529
|
+
onClick: handleDelete2
|
|
121530
|
+
});
|
|
121531
|
+
}
|
|
121532
|
+
if (menuItems.length === 0) return null;
|
|
121533
|
+
const hasRetryFailed = status2 === 8 && failedCount > 0;
|
|
121534
|
+
const hasRetryAll = status2 === 0;
|
|
121535
|
+
const hasPrimaryAction = hasRetryFailed || hasRetryAll;
|
|
121536
|
+
if (hasPrimaryAction) {
|
|
121537
|
+
const primaryLabel = hasRetryFailed ? t2("preview.retry_failed") : t2("preview.retry_all");
|
|
121538
|
+
const primaryAction = hasRetryFailed ? handleRetryFailed : handleRetryTask;
|
|
121539
|
+
const primaryIcon = hasRetryFailed && retryingFailed ? /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$S, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$4, {});
|
|
121540
|
+
const filteredMenuItems = menuItems.filter((item) => {
|
|
121541
|
+
if (!item || item.type === "divider") return true;
|
|
121542
|
+
if (hasRetryFailed && item.key === "retry_failed") return false;
|
|
121543
|
+
if (hasRetryAll && item.key === "retry_all") return false;
|
|
121544
|
+
return true;
|
|
121545
|
+
});
|
|
121546
|
+
while (filteredMenuItems.length > 0 && filteredMenuItems[0]?.type === "divider") {
|
|
121547
|
+
filteredMenuItems.shift();
|
|
121548
|
+
}
|
|
121549
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
121550
|
+
Dropdown.Button,
|
|
121551
|
+
{
|
|
121552
|
+
menu: { items: filteredMenuItems },
|
|
121553
|
+
onClick: primaryAction,
|
|
121554
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$P, {}),
|
|
121555
|
+
disabled: hasRetryFailed && retryingFailed,
|
|
121556
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, { children: [
|
|
121557
|
+
primaryIcon,
|
|
121558
|
+
primaryLabel
|
|
121559
|
+
] })
|
|
121560
|
+
}
|
|
121561
|
+
);
|
|
121562
|
+
} else {
|
|
121563
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown, { menu: { items: menuItems }, trigger: ["click"], children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Button$1, { children: [
|
|
121564
|
+
t2("preview.more_actions"),
|
|
121565
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$P, {})
|
|
121566
|
+
] }) });
|
|
121567
|
+
}
|
|
121568
|
+
})()
|
|
121473
121569
|
] })
|
|
121474
121570
|
] }),
|
|
121475
121571
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -121506,7 +121602,7 @@ const Preview = () => {
|
|
|
121506
121602
|
alignItems: "center",
|
|
121507
121603
|
overflow: "hidden"
|
|
121508
121604
|
},
|
|
121509
|
-
children: loading ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, { size: "large" }) : imageError || !taskDetail?.imagePath ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { textAlign: "center", color: "#999" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { type: "secondary", children: "
|
|
121605
|
+
children: loading ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, { size: "large" }) : imageError || !taskDetail?.imagePath ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { textAlign: "center", color: "#999" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { type: "secondary", children: t2("preview.image_load_failed") }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
121510
121606
|
"img",
|
|
121511
121607
|
{
|
|
121512
121608
|
src: `local-file:///${taskDetail.imagePath.replace(/\\/g, "/")}`,
|
|
@@ -123560,7 +123656,7 @@ const details$5 = { "protocol_type": "Protocol:", "api_key_label": "API Key:", "
|
|
|
123560
123656
|
const model_config$5 = { "title": "Model Configuration", "name_label": "Model Name:", "name_placeholder": "GPT 4o", "id_label": "Model ID:", "id_placeholder": "gpt-4o", "add_button": "Add Model", "warning": "Note: Please add models that support vision recognition and ensure the Model ID is correct, otherwise the model will not work properly!" };
|
|
123561
123657
|
const actions$f = { "delete_provider": "Delete Provider", "delete_model_title": "Delete", "test_connection": "Test Connection" };
|
|
123562
123658
|
const confirmations$a = { "delete_model_title": "Confirm Delete", "delete_model_content": 'Are you sure you want to delete model "{{name}}"?', "delete_provider_title": "Confirm Delete", "delete_provider_content": "Are you sure you want to delete this provider? This action cannot be undone.", "ok": "Delete", "cancel": "Cancel" };
|
|
123563
|
-
const messages$f = { "fetch_details_failed": "Failed to fetch provider details", "fetch_models_failed": "Failed to fetch model list", "delete_model_success": "Model deleted successfully", "delete_model_failed": "Failed to delete model", "add_model_warning": "Please fill in complete model information", "add_model_success": "Model added successfully", "add_model_failed": "Failed to add model", "update_success": "Updated successfully", "update_failed": "Update failed", "test_success": "Model connection test successful", "test_failed": "Connection test failed", "delete_provider_success": "Provider deleted successfully", "delete_provider_failed": "Failed to delete provider", "update_status_failed": "Failed to update provider status" };
|
|
123659
|
+
const messages$f = { "fetch_providers_failed": "Failed to fetch provider list", "fetch_details_failed": "Failed to fetch provider details", "fetch_models_failed": "Failed to fetch model list", "delete_model_success": "Model deleted successfully", "delete_model_failed": "Failed to delete model", "add_model_warning": "Please fill in complete model information", "add_model_success": "Model added successfully", "add_model_failed": "Failed to add model", "update_success": "Updated successfully", "update_failed": "Update failed", "test_success": "Model connection test successful", "test_failed": "Connection test failed", "delete_provider_success": "Provider deleted successfully", "delete_provider_failed": "Failed to delete provider", "update_status_failed": "Failed to update provider status" };
|
|
123564
123660
|
const add_provider$5 = { "tab_label": "Add Provider", "name_label": "Provider Name", "name_placeholder": "Enter provider name", "name_required": "Please enter provider name", "type_label": "Protocol Type", "type_placeholder": "Select protocol type", "type_required": "Please select protocol type", "submit_button": "Add Provider", "success": "Provider added successfully", "failed": "Failed to add provider" };
|
|
123565
123661
|
const enProvider = {
|
|
123566
123662
|
details: details$5,
|
|
@@ -123572,7 +123668,7 @@ const enProvider = {
|
|
|
123572
123668
|
};
|
|
123573
123669
|
const tabs$5 = { "model_service": "Model Service", "about": "About Us" };
|
|
123574
123670
|
const about$5 = { "subtitle": "A high-quality PDF to Markdown converter powered by large vision models", "buttons": { "website": "Official Website", "license": "License", "feedback": "Feedback", "contact": "Contact Email" } };
|
|
123575
|
-
const preview$5 = { "back": "Back", "download": "Download .md", "delete": "Delete", "cancel": "Cancel", "retry": "Retry", "regenerate": "Regenerate", "regenerate_tooltip": "Regenerate current page", "confirm_delete": "Confirm Delete", "confirm_delete_content": "Are you sure you want to delete this task? This action cannot be undone.", "delete_success": "Deleted successfully", "delete_failed": "Delete failed", "confirm_cancel": "Confirm Cancel", "confirm_cancel_content": "Are you sure you want to cancel this task?", "cancel_success": "Cancelled successfully", "cancel_failed": "Cancel failed", "confirm_retry": "Confirm Retry", "confirm_retry_content": "Are you sure you want to retry this task?", "retry_success": "Task has been added to retry queue", "
|
|
123671
|
+
const preview$5 = { "back": "Back", "download": "Download .md", "delete": "Delete", "cancel": "Cancel", "retry": "Retry", "retry_failed": "Retry Failed", "retry_all": "Retry All", "more_actions": "More Actions", "regenerate": "Regenerate", "regenerate_tooltip": "Regenerate current page", "confirm_delete": "Confirm Delete", "confirm_delete_content": "Are you sure you want to delete this task? This action cannot be undone.", "delete_success": "Deleted successfully", "delete_failed": "Delete failed", "confirm_cancel": "Confirm Cancel", "confirm_cancel_content": "Are you sure you want to cancel this task?", "cancel_success": "Cancelled successfully", "cancel_failed": "Cancel failed", "confirm_retry": "Confirm Retry", "confirm_retry_content": "Are you sure you want to retry this task?", "confirm_retry_failed": "Confirm Retry Failed Pages", "confirm_retry_failed_content": "Are you sure you want to retry all failed pages?", "retry_success": "Task has been added to retry queue", "retry_failed_success": "{{count}} failed pages have been added to retry queue", "page_retry_success": "Page has been added to retry queue", "page_retry_failed": "Retry failed", "fetch_task_failed": "Failed to fetch task info", "fetch_page_failed": "Failed to fetch page details", "task_deleted": "Task has been deleted", "task_not_started": "Task has not started processing, cannot preview", "download_success": "Download successful", "download_failed": "Download failed", "image_load_failed": "Image failed to load or does not exist", "status": { "failed": "Conversion failed", "pending": "Pending", "processing": "Converting", "completed": "Completed", "retrying": "Retrying" } };
|
|
123576
123672
|
const enSettings = {
|
|
123577
123673
|
tabs: tabs$5,
|
|
123578
123674
|
about: about$5,
|
|
@@ -123620,7 +123716,7 @@ const details$4 = { "protocol_type": "协议类型:", "api_key_label": "API 密
|
|
|
123620
123716
|
const model_config$4 = { "title": "模型配置", "name_label": "模型名称:", "name_placeholder": "GPT 4o", "id_label": "模型ID:", "id_placeholder": "gpt-4o", "add_button": "添加模型", "warning": "注意:请添加支持视觉识别的模型,并确保模型ID正确,否则模型将无法正常使用!" };
|
|
123621
123717
|
const actions$c = { "delete_provider": "删除服务商", "delete_model_title": "删除", "test_connection": "检查" };
|
|
123622
123718
|
const confirmations$8 = { "delete_model_title": "确认删除", "delete_model_content": '确定要删除模型"{{name}}"吗?', "delete_provider_title": "确认删除", "delete_provider_content": "确定要删除此服务商吗?删除后无法恢复。", "ok": "删除", "cancel": "取消" };
|
|
123623
|
-
const messages$c = { "fetch_details_failed": "获取服务商详情失败", "fetch_models_failed": "获取模型列表失败", "delete_model_success": "模型已成功删除", "delete_model_failed": "删除模型失败", "add_model_warning": "请填写完整的模型信息", "add_model_success": "模型添加成功", "add_model_failed": "添加模型失败", "update_success": "更新成功", "update_failed": "更新失败", "test_success": "模型连接测试成功", "test_failed": "连接测试失败", "delete_provider_success": "服务商已成功删除", "delete_provider_failed": "删除服务商失败", "update_status_failed": "更新服务商状态失败" };
|
|
123719
|
+
const messages$c = { "fetch_providers_failed": "获取服务商列表失败", "fetch_details_failed": "获取服务商详情失败", "fetch_models_failed": "获取模型列表失败", "delete_model_success": "模型已成功删除", "delete_model_failed": "删除模型失败", "add_model_warning": "请填写完整的模型信息", "add_model_success": "模型添加成功", "add_model_failed": "添加模型失败", "update_success": "更新成功", "update_failed": "更新失败", "test_success": "模型连接测试成功", "test_failed": "连接测试失败", "delete_provider_success": "服务商已成功删除", "delete_provider_failed": "删除服务商失败", "update_status_failed": "更新服务商状态失败" };
|
|
123624
123720
|
const add_provider$4 = { "tab_label": "添加服务商", "name_label": "服务商名称", "name_placeholder": "请输入服务商名称", "name_required": "请输入服务商名称", "type_label": "协议类型", "type_placeholder": "请选择协议类型", "type_required": "请选择协议类型", "submit_button": "确认添加", "success": "服务商添加成功", "failed": "添加服务商失败" };
|
|
123625
123721
|
const zhProvider = {
|
|
123626
123722
|
details: details$4,
|
|
@@ -123632,7 +123728,7 @@ const zhProvider = {
|
|
|
123632
123728
|
};
|
|
123633
123729
|
const tabs$4 = { "model_service": "模型服务", "about": "关于我们" };
|
|
123634
123730
|
const about$4 = { "subtitle": "一款基于大模型视觉识别的高质量PDF转Markdown工具", "buttons": { "website": "官方网址", "license": "许可协议", "feedback": "反馈意见", "contact": "联系邮件" } };
|
|
123635
|
-
const preview$4 = { "back": "返回", "download": "下载 .md", "delete": "删除", "cancel": "取消", "retry": "重试", "regenerate": "重新生成", "regenerate_tooltip": "重新生成当前页", "confirm_delete": "确认删除", "confirm_delete_content": "确定要删除此任务吗?此操作不可恢复。", "delete_success": "删除成功", "delete_failed": "删除失败", "confirm_cancel": "确认取消", "confirm_cancel_content": "确定要取消此任务吗?", "cancel_success": "取消成功", "cancel_failed": "取消失败", "confirm_retry": "确认重试", "confirm_retry_content": "确定要重试此任务吗?", "retry_success": "任务已加入重试队列", "
|
|
123731
|
+
const preview$4 = { "back": "返回", "download": "下载 .md", "delete": "删除", "cancel": "取消", "retry": "重试", "retry_failed": "重试失败页", "retry_all": "全部重试", "more_actions": "更多操作", "regenerate": "重新生成", "regenerate_tooltip": "重新生成当前页", "confirm_delete": "确认删除", "confirm_delete_content": "确定要删除此任务吗?此操作不可恢复。", "delete_success": "删除成功", "delete_failed": "删除失败", "confirm_cancel": "确认取消", "confirm_cancel_content": "确定要取消此任务吗?", "cancel_success": "取消成功", "cancel_failed": "取消失败", "confirm_retry": "确认重试", "confirm_retry_content": "确定要重试此任务吗?", "confirm_retry_failed": "确认重试失败页", "confirm_retry_failed_content": "确定要重试所有失败的页面吗?", "retry_success": "任务已加入重试队列", "retry_failed_success": "{{count}} 个失败页面已加入重试队列", "page_retry_success": "页面已加入重试队列", "page_retry_failed": "重试失败", "fetch_task_failed": "获取任务信息失败", "fetch_page_failed": "获取页面详情失败", "task_deleted": "任务已被删除", "task_not_started": "任务尚未开始处理,无法预览", "download_success": "下载成功", "download_failed": "下载失败", "image_load_failed": "图片加载失败或不存在", "status": { "failed": "转换失败", "pending": "等待转换", "processing": "转换中", "completed": "转换完成", "retrying": "重试中" } };
|
|
123636
123732
|
const zhSettings = {
|
|
123637
123733
|
tabs: tabs$4,
|
|
123638
123734
|
about: about$4,
|
|
@@ -123680,7 +123776,7 @@ const details$3 = { "protocol_type": "プロトコル:", "api_key_label": "API
|
|
|
123680
123776
|
const model_config$3 = { "title": "モデル設定", "name_label": "モデル名:", "name_placeholder": "GPT 4o", "id_label": "モデルID:", "id_placeholder": "gpt-4o", "add_button": "モデルを追加", "warning": "注意: 視覚認識に対応しているモデルを追加し、モデルIDが正確であることを確認してください。さもなければモデルは正常に動作しません!" };
|
|
123681
123777
|
const actions$9 = { "delete_provider": "プロバイダーを削除", "delete_model_title": "削除", "test_connection": "接続をテスト" };
|
|
123682
123778
|
const confirmations$6 = { "delete_model_title": "削除の確認", "delete_model_content": "モデル「{{name}}」を削除してもよろしいですか?", "delete_provider_title": "削除の確認", "delete_provider_content": "このプロバイダーを削除してもよろしいですか?この操作は元に戻せません。", "ok": "削除", "cancel": "キャンセル" };
|
|
123683
|
-
const messages$9 = { "fetch_details_failed": "プロバイダーの詳細取得に失敗しました", "fetch_models_failed": "モデルリストの取得に失敗しました", "delete_model_success": "モデルの削除が完了しました", "delete_model_failed": "モデルの削除に失敗しました", "add_model_warning": "モデル情報をすべて入力してください", "add_model_success": "モデルの追加が完了しました", "add_model_failed": "モデルの追加に失敗しました", "update_success": "更新が完了しました", "update_failed": "更新に失敗しました", "test_success": "モデルの接続テストが成功しました", "test_failed": "接続テストに失敗しました", "delete_provider_success": "プロバイダーの削除が完了しました", "delete_provider_failed": "プロバイダーの削除に失敗しました", "update_status_failed": "プロバイダーのステータス更新に失敗しました" };
|
|
123779
|
+
const messages$9 = { "fetch_providers_failed": "プロバイダーリストの取得に失敗しました", "fetch_details_failed": "プロバイダーの詳細取得に失敗しました", "fetch_models_failed": "モデルリストの取得に失敗しました", "delete_model_success": "モデルの削除が完了しました", "delete_model_failed": "モデルの削除に失敗しました", "add_model_warning": "モデル情報をすべて入力してください", "add_model_success": "モデルの追加が完了しました", "add_model_failed": "モデルの追加に失敗しました", "update_success": "更新が完了しました", "update_failed": "更新に失敗しました", "test_success": "モデルの接続テストが成功しました", "test_failed": "接続テストに失敗しました", "delete_provider_success": "プロバイダーの削除が完了しました", "delete_provider_failed": "プロバイダーの削除に失敗しました", "update_status_failed": "プロバイダーのステータス更新に失敗しました" };
|
|
123684
123780
|
const add_provider$3 = { "tab_label": "プロバイダーを追加", "name_label": "プロバイダー名", "name_placeholder": "プロバイダー名を入力してください", "name_required": "プロバイダー名を入力してください", "type_label": "プロトコルタイプ", "type_placeholder": "プロトコルタイプを選択してください", "type_required": "プロトコルタイプを選択してください", "submit_button": "プロバイダーを追加", "success": "プロバイダーの追加が完了しました", "failed": "プロバイダーの追加に失敗しました" };
|
|
123685
123781
|
const jaProvider = {
|
|
123686
123782
|
details: details$3,
|
|
@@ -123692,7 +123788,7 @@ const jaProvider = {
|
|
|
123692
123788
|
};
|
|
123693
123789
|
const tabs$3 = { "model_service": "モデルサービス", "about": "概要" };
|
|
123694
123790
|
const about$3 = { "version": "v1.0.6", "subtitle": "大規模ビジョンモデルを使用した高品質なPDFからMarkdownへのコンバーター", "buttons": { "website": "公式サイト", "license": "ライセンス", "feedback": "フィードバック", "contact": "連絡先メールアドレス" } };
|
|
123695
|
-
const preview$3 = { "back": "戻る", "download": ".md形式でダウンロード", "delete": "削除", "cancel": "キャンセル", "retry": "再試行", "regenerate": "再生成", "regenerate_tooltip": "現在のページを再生成", "confirm_delete": "削除の確認", "confirm_delete_content": "このタスクを削除してもよろしいですか?この操作は元に戻せません。", "delete_success": "削除しました", "delete_failed": "削除に失敗しました", "confirm_cancel": "キャンセルの確認", "confirm_cancel_content": "このタスクをキャンセルしてもよろしいですか?", "cancel_success": "キャンセルしました", "cancel_failed": "キャンセルに失敗しました", "confirm_retry": "再試行の確認", "confirm_retry_content": "このタスクを再試行してもよろしいですか?", "retry_success": "タスクが再試行キューに追加されました", "
|
|
123791
|
+
const preview$3 = { "back": "戻る", "download": ".md形式でダウンロード", "delete": "削除", "cancel": "キャンセル", "retry": "再試行", "retry_failed": "失敗ページを再試行", "retry_all": "すべて再試行", "more_actions": "その他の操作", "regenerate": "再生成", "regenerate_tooltip": "現在のページを再生成", "confirm_delete": "削除の確認", "confirm_delete_content": "このタスクを削除してもよろしいですか?この操作は元に戻せません。", "delete_success": "削除しました", "delete_failed": "削除に失敗しました", "confirm_cancel": "キャンセルの確認", "confirm_cancel_content": "このタスクをキャンセルしてもよろしいですか?", "cancel_success": "キャンセルしました", "cancel_failed": "キャンセルに失敗しました", "confirm_retry": "再試行の確認", "confirm_retry_content": "このタスクを再試行してもよろしいですか?", "confirm_retry_failed": "失敗ページの再試行確認", "confirm_retry_failed_content": "すべての失敗したページを再試行してもよろしいですか?", "retry_success": "タスクが再試行キューに追加されました", "retry_failed_success": "{{count}}個の失敗ページが再試行キューに追加されました", "page_retry_success": "ページが再試行キューに追加されました", "page_retry_failed": "再試行に失敗しました", "fetch_task_failed": "タスク情報の取得に失敗しました", "fetch_page_failed": "ページ詳細の取得に失敗しました", "task_deleted": "タスクは削除されました", "task_not_started": "タスクはまだ処理されていません。プレビューできません", "download_success": "ダウンロードしました", "download_failed": "ダウンロードに失敗しました", "image_load_failed": "画像の読み込みに失敗したか、存在しません", "status": { "failed": "変換失敗", "pending": "変換待ち", "processing": "変換中", "completed": "変換完了", "retrying": "再試行中" } };
|
|
123696
123792
|
const jaSettings = {
|
|
123697
123793
|
tabs: tabs$3,
|
|
123698
123794
|
about: about$3,
|
|
@@ -123740,7 +123836,7 @@ const details$2 = { "protocol_type": "Протокол:", "api_key_label": "API-
|
|
|
123740
123836
|
const model_config$2 = { "title": "Конфигурация модели", "name_label": "Название модели:", "name_placeholder": "GPT 4o", "id_label": "ID модели:", "id_placeholder": "gpt-4o", "add_button": "Добавить модель", "warning": "Примечание: Пожалуйста, добавьте модели, поддерживающие визуальное распознавание, и убедитесь, что ID модели указан правильно. В противном случае модель не будет работать должным образом!" };
|
|
123741
123837
|
const actions$6 = { "delete_provider": "Удалить провайдера", "delete_model_title": "Удалить", "test_connection": "Проверить подключение" };
|
|
123742
123838
|
const confirmations$4 = { "delete_model_title": "Подтверждение удаления", "delete_model_content": 'Вы уверены, что хотите удалить модель "{{name}}"?', "delete_provider_title": "Подтверждение удаления", "delete_provider_content": "Вы уверены, что хотите удалить этого провайдера? Это действие нельзя отменить.", "ok": "Удалить", "cancel": "Отмена" };
|
|
123743
|
-
const messages$6 = { "fetch_details_failed": "Не удалось получить данные провайдера", "fetch_models_failed": "Не удалось получить список моделей", "delete_model_success": "Модель успешно удалена", "delete_model_failed": "Не удалось удалить модель", "add_model_warning": "Пожалуйста, заполните полную информацию о модели", "add_model_success": "Модель успешно добавлена", "add_model_failed": "Не удалось добавить модель", "update_success": "Успешно обновлено", "update_failed": "Ошибка обновления", "test_success": "Проверка подключения модели успешна", "test_failed": "Ошибка проверки подключения", "delete_provider_success": "Провайдер успешно удалён", "delete_provider_failed": "Не удалось удалить провайдера", "update_status_failed": "Не удалось обновить статус провайдера" };
|
|
123839
|
+
const messages$6 = { "fetch_providers_failed": "Не удалось получить список провайдеров", "fetch_details_failed": "Не удалось получить данные провайдера", "fetch_models_failed": "Не удалось получить список моделей", "delete_model_success": "Модель успешно удалена", "delete_model_failed": "Не удалось удалить модель", "add_model_warning": "Пожалуйста, заполните полную информацию о модели", "add_model_success": "Модель успешно добавлена", "add_model_failed": "Не удалось добавить модель", "update_success": "Успешно обновлено", "update_failed": "Ошибка обновления", "test_success": "Проверка подключения модели успешна", "test_failed": "Ошибка проверки подключения", "delete_provider_success": "Провайдер успешно удалён", "delete_provider_failed": "Не удалось удалить провайдера", "update_status_failed": "Не удалось обновить статус провайдера" };
|
|
123744
123840
|
const add_provider$2 = { "tab_label": "Добавить провайдера", "name_label": "Название провайдера", "name_placeholder": "Введите название провайдера", "name_required": "Пожалуйста, введите название провайдера", "type_label": "Тип протокола", "type_placeholder": "Выберите тип протокола", "type_required": "Пожалуйста, выберите тип протокола", "submit_button": "Добавить провайдера", "success": "Провайдер успешно добавлен", "failed": "Не удалось добавить провайдера" };
|
|
123745
123841
|
const ruProvider = {
|
|
123746
123842
|
details: details$2,
|
|
@@ -123752,7 +123848,7 @@ const ruProvider = {
|
|
|
123752
123848
|
};
|
|
123753
123849
|
const tabs$2 = { "model_service": "Модельный сервис", "about": "О приложении" };
|
|
123754
123850
|
const about$2 = { "version": "v1.0.6", "subtitle": "Высококачественный конвертер PDF в Markdown на основе больших визуальных моделей", "buttons": { "website": "Официальный сайт", "license": "Лицензия", "feedback": "Обратная связь", "contact": "Контактный email" } };
|
|
123755
|
-
const preview$2 = { "back": "Назад", "download": "Скачать .md", "delete": "Удалить", "cancel": "Отмена", "retry": "Повторить", "regenerate": "Перегенерировать", "regenerate_tooltip": "Перегенерировать текущую страницу", "confirm_delete": "Подтвердите удаление", "confirm_delete_content": "Вы уверены, что хотите удалить эту задачу? Это действие необратимо.", "delete_success": "Успешно удалено", "delete_failed": "Ошибка удаления", "confirm_cancel": "Подтвердите отмену", "confirm_cancel_content": "Вы уверены, что хотите отменить эту задачу?", "cancel_success": "Успешно отменено", "cancel_failed": "Ошибка отмены", "confirm_retry": "Подтвердите повтор", "confirm_retry_content": "Вы уверены, что хотите повторить эту задачу?", "retry_success": "Задача добавлена в очередь на повтор", "
|
|
123851
|
+
const preview$2 = { "back": "Назад", "download": "Скачать .md", "delete": "Удалить", "cancel": "Отмена", "retry": "Повторить", "retry_failed": "Повторить неудачные", "retry_all": "Повторить все", "more_actions": "Действия", "regenerate": "Перегенерировать", "regenerate_tooltip": "Перегенерировать текущую страницу", "confirm_delete": "Подтвердите удаление", "confirm_delete_content": "Вы уверены, что хотите удалить эту задачу? Это действие необратимо.", "delete_success": "Успешно удалено", "delete_failed": "Ошибка удаления", "confirm_cancel": "Подтвердите отмену", "confirm_cancel_content": "Вы уверены, что хотите отменить эту задачу?", "cancel_success": "Успешно отменено", "cancel_failed": "Ошибка отмены", "confirm_retry": "Подтвердите повтор", "confirm_retry_content": "Вы уверены, что хотите повторить эту задачу?", "confirm_retry_failed": "Подтвердите повтор неудачных", "confirm_retry_failed_content": "Вы уверены, что хотите повторить все неудачные страницы?", "retry_success": "Задача добавлена в очередь на повтор", "retry_failed_success": "{{count}} неудачных страниц добавлено в очередь на повтор", "page_retry_success": "Страница добавлена в очередь на повтор", "page_retry_failed": "Ошибка повтора", "fetch_task_failed": "Не удалось получить информацию о задаче", "fetch_page_failed": "Не удалось получить детали страницы", "task_deleted": "Задача была удалена", "task_not_started": "Задача ещё не обработана, предпросмотр недоступен", "download_success": "Успешно скачано", "download_failed": "Ошибка скачивания", "image_load_failed": "Не удалось загрузить изображение или оно не существует", "status": { "failed": "Ошибка конвертации", "pending": "Ожидание", "processing": "Конвертация", "completed": "Завершено", "retrying": "Повторная попытка" } };
|
|
123756
123852
|
const ruSettings = {
|
|
123757
123853
|
tabs: tabs$2,
|
|
123758
123854
|
about: about$2,
|
|
@@ -123800,7 +123896,7 @@ const details$1 = { "protocol_type": "پروتکل:", "api_key_label": "کلید
|
|
|
123800
123896
|
const model_config$1 = { "title": "پیکربندی مدل", "name_label": "نام مدل:", "name_placeholder": "GPT 4o", "id_label": "شناسه مدل:", "id_placeholder": "gpt-4o", "add_button": "افزودن مدل", "warning": "توجه: لطفاً مدلهایی که از تشخیص تصویر پشتیبانی میکنند اضافه کنید و مطمئن شوید که شناسه مدل صحیح است. در غیر این صورت مدل به درستی کار نخواهد کرد!" };
|
|
123801
123897
|
const actions$3 = { "delete_provider": "حذف ارائهدهنده", "delete_model_title": "حذف", "test_connection": "تست اتصال" };
|
|
123802
123898
|
const confirmations$2 = { "delete_model_title": "تأیید حذف", "delete_model_content": "آیا از حذف مدل «{{name}}» مطمئن هستید؟", "delete_provider_title": "تأیید حذف", "delete_provider_content": "آیا از حذف این ارائهدهنده مطمئن هستید؟ این عملیات قابل بازگشت نیست.", "ok": "حذف", "cancel": "لغو" };
|
|
123803
|
-
const messages$3 = { "fetch_details_failed": "دریافت جزئیات ارائهدهنده ناموفق بود", "fetch_models_failed": "دریافت لیست مدلها ناموفق بود", "delete_model_success": "مدل با موفقیت حذف شد", "delete_model_failed": "حذف مدل ناموفق بود", "add_model_warning": "لطفاً اطلاعات کامل مدل را وارد کنید", "add_model_success": "مدل با موفقیت اضافه شد", "add_model_failed": "افزودن مدل ناموفق بود", "update_success": "با موفقیت بهروزرسانی شد", "update_failed": "بهروزرسانی ناموفق بود", "test_success": "تست اتصال مدل موفق بود", "test_failed": "تست اتصال ناموفق بود", "delete_provider_success": "ارائهدهنده با موفقیت حذف شد", "delete_provider_failed": "حذف ارائهدهنده ناموفق بود", "update_status_failed": "بهروزرسانی وضعیت ارائهدهنده ناموفق بود" };
|
|
123899
|
+
const messages$3 = { "fetch_providers_failed": "دریافت لیست ارائهدهندگان ناموفق بود", "fetch_details_failed": "دریافت جزئیات ارائهدهنده ناموفق بود", "fetch_models_failed": "دریافت لیست مدلها ناموفق بود", "delete_model_success": "مدل با موفقیت حذف شد", "delete_model_failed": "حذف مدل ناموفق بود", "add_model_warning": "لطفاً اطلاعات کامل مدل را وارد کنید", "add_model_success": "مدل با موفقیت اضافه شد", "add_model_failed": "افزودن مدل ناموفق بود", "update_success": "با موفقیت بهروزرسانی شد", "update_failed": "بهروزرسانی ناموفق بود", "test_success": "تست اتصال مدل موفق بود", "test_failed": "تست اتصال ناموفق بود", "delete_provider_success": "ارائهدهنده با موفقیت حذف شد", "delete_provider_failed": "حذف ارائهدهنده ناموفق بود", "update_status_failed": "بهروزرسانی وضعیت ارائهدهنده ناموفق بود" };
|
|
123804
123900
|
const add_provider$1 = { "tab_label": "افزودن ارائهدهنده", "name_label": "نام ارائهدهنده", "name_placeholder": "نام ارائهدهنده را وارد کنید", "name_required": "لطفاً نام ارائهدهنده را وارد کنید", "type_label": "نوع پروتکل", "type_placeholder": "نوع پروتکل را انتخاب کنید", "type_required": "لطفاً نوع پروتکل را انتخاب کنید", "submit_button": "افزودن ارائهدهنده", "success": "ارائهدهنده با موفقیت اضافه شد", "failed": "افزودن ارائهدهنده ناموفق بود" };
|
|
123805
123901
|
const faProvider = {
|
|
123806
123902
|
details: details$1,
|
|
@@ -123812,7 +123908,7 @@ const faProvider = {
|
|
|
123812
123908
|
};
|
|
123813
123909
|
const tabs$1 = { "model_service": "سرویس مدل", "about": "درباره ما" };
|
|
123814
123910
|
const about$1 = { "version": "v1.0.6", "subtitle": "مبدل با کیفیت بالای PDF به Markdown با قدرت مدلهای بینایی بزرگ", "buttons": { "website": "سایت رسمی", "license": "مجوز", "feedback": "بازخورد", "contact": "ایمیل تماس" } };
|
|
123815
|
-
const preview$1 = { "back": "بازگشت", "download": "دانلود .md", "delete": "حذف", "cancel": "لغو", "retry": "تلاش مجدد", "regenerate": "بازتولید", "regenerate_tooltip": "بازتولید صفحه فعلی", "confirm_delete": "تأیید حذف", "confirm_delete_content": "آیا مطمئن هستید که میخواهید این وظیفه را حذف کنید؟ این عمل قابل بازگشت نیست.", "delete_success": "با موفقیت حذف شد", "delete_failed": "حذف ناموفق بود", "confirm_cancel": "تأیید لغو", "confirm_cancel_content": "آیا مطمئن هستید که میخواهید این وظیفه را لغو کنید؟", "cancel_success": "با موفقیت لغو شد", "cancel_failed": "لغو ناموفق بود", "confirm_retry": "تأیید تلاش مجدد", "confirm_retry_content": "آیا مطمئن هستید که میخواهید این وظیفه را مجدداً تلاش کنید؟", "retry_success": "وظیفه به صف تلاش مجدد اضافه شد", "
|
|
123911
|
+
const preview$1 = { "back": "بازگشت", "download": "دانلود .md", "delete": "حذف", "cancel": "لغو", "retry": "تلاش مجدد", "retry_failed": "تلاش مجدد ناموفقها", "retry_all": "تلاش مجدد همه", "more_actions": "عملیات بیشتر", "regenerate": "بازتولید", "regenerate_tooltip": "بازتولید صفحه فعلی", "confirm_delete": "تأیید حذف", "confirm_delete_content": "آیا مطمئن هستید که میخواهید این وظیفه را حذف کنید؟ این عمل قابل بازگشت نیست.", "delete_success": "با موفقیت حذف شد", "delete_failed": "حذف ناموفق بود", "confirm_cancel": "تأیید لغو", "confirm_cancel_content": "آیا مطمئن هستید که میخواهید این وظیفه را لغو کنید؟", "cancel_success": "با موفقیت لغو شد", "cancel_failed": "لغو ناموفق بود", "confirm_retry": "تأیید تلاش مجدد", "confirm_retry_content": "آیا مطمئن هستید که میخواهید این وظیفه را مجدداً تلاش کنید؟", "confirm_retry_failed": "تأیید تلاش مجدد صفحات ناموفق", "confirm_retry_failed_content": "آیا مطمئن هستید که میخواهید همه صفحات ناموفق را مجدداً تلاش کنید؟", "retry_success": "وظیفه به صف تلاش مجدد اضافه شد", "retry_failed_success": "{{count}} صفحه ناموفق به صف تلاش مجدد اضافه شد", "page_retry_success": "صفحه به صف تلاش مجدد اضافه شد", "page_retry_failed": "تلاش مجدد ناموفق بود", "fetch_task_failed": "دریافت اطلاعات وظیفه ناموفق بود", "fetch_page_failed": "دریافت جزئیات صفحه ناموفق بود", "task_deleted": "وظیفه حذف شده است", "task_not_started": "وظیفه هنوز پردازش نشده است، پیشنمایش امکانپذیر نیست", "download_success": "دانلود موفق", "download_failed": "دانلود ناموفق بود", "image_load_failed": "بارگذاری تصویر ناموفق بود یا وجود ندارد", "status": { "failed": "تبدیل ناموفق", "pending": "در انتظار", "processing": "در حال تبدیل", "completed": "تکمیل شده", "retrying": "در حال تلاش مجدد" } };
|
|
123816
123912
|
const faSettings = {
|
|
123817
123913
|
tabs: tabs$1,
|
|
123818
123914
|
about: about$1,
|
|
@@ -123860,7 +123956,7 @@ const details = { "protocol_type": "بروتوكول:", "api_key_label": "مفت
|
|
|
123860
123956
|
const model_config = { "title": "تكوين النموذج", "name_label": "اسم النموذج:", "name_placeholder": "GPT 4o", "id_label": "معرف النموذج:", "id_placeholder": "gpt-4o", "add_button": "إضافة نموذج", "warning": "ملاحظة: يرجى إضافة نماذج تدعم التعرف على الرؤية والتأكد من صحة معرف النموذج، وإلا لن يعمل النموذج بشكل صحيح!" };
|
|
123861
123957
|
const actions = { "delete_provider": "حذف المزود", "delete_model_title": "حذف", "test_connection": "اختبار الاتصال" };
|
|
123862
123958
|
const confirmations = { "delete_model_title": "تأكيد الحذف", "delete_model_content": 'هل أنت متأكد من حذف النموذج "{{name}}"؟', "delete_provider_title": "تأكيد الحذف", "delete_provider_content": "هل أنت متأكد من حذف هذا المزود؟ لا يمكن التراجع عن هذا الإجراء.", "ok": "حذف", "cancel": "إلغاء" };
|
|
123863
|
-
const messages = { "fetch_details_failed": "فشل في جلب تفاصيل المزود", "fetch_models_failed": "فشل في جلب قائمة النماذج", "delete_model_success": "تم حذف النموذج بنجاح", "delete_model_failed": "فشل في حذف النموذج", "add_model_warning": "الرجاء ملء معلومات النموذج الكاملة", "add_model_success": "تم إضافة النموذج بنجاح", "add_model_failed": "فشل في إضافة النموذج", "update_success": "تم التحديث بنجاح", "update_failed": "فشل التحديث", "test_success": "نجاح اختبار اتصال النموذج", "test_failed": "فشل اختبار الاتصال", "delete_provider_success": "تم حذف المزود بنجاح", "delete_provider_failed": "فشل في حذف المزود", "update_status_failed": "فشل في تحديث حالة المزود" };
|
|
123959
|
+
const messages = { "fetch_providers_failed": "فشل في جلب قائمة المزودين", "fetch_details_failed": "فشل في جلب تفاصيل المزود", "fetch_models_failed": "فشل في جلب قائمة النماذج", "delete_model_success": "تم حذف النموذج بنجاح", "delete_model_failed": "فشل في حذف النموذج", "add_model_warning": "الرجاء ملء معلومات النموذج الكاملة", "add_model_success": "تم إضافة النموذج بنجاح", "add_model_failed": "فشل في إضافة النموذج", "update_success": "تم التحديث بنجاح", "update_failed": "فشل التحديث", "test_success": "نجاح اختبار اتصال النموذج", "test_failed": "فشل اختبار الاتصال", "delete_provider_success": "تم حذف المزود بنجاح", "delete_provider_failed": "فشل في حذف المزود", "update_status_failed": "فشل في تحديث حالة المزود" };
|
|
123864
123960
|
const add_provider = { "tab_label": "إضافة مزود", "name_label": "اسم المزود", "name_placeholder": "أدخل اسم المزود", "name_required": "الرجاء إدخال اسم المزود", "type_label": "نوع البروتوكول", "type_placeholder": "اختر نوع البروتوكول", "type_required": "الرجاء اختيار نوع البروتوكول", "submit_button": "إضافة مزود", "success": "تم إضافة المزود بنجاح", "failed": "فشل في إضافة المزود" };
|
|
123865
123961
|
const arProvider = {
|
|
123866
123962
|
details,
|
|
@@ -123872,7 +123968,7 @@ const arProvider = {
|
|
|
123872
123968
|
};
|
|
123873
123969
|
const tabs = { "model_service": "خدمة النماذج", "about": "من نحن" };
|
|
123874
123970
|
const about = { "version": "v1.0.6", "subtitle": "محول PDF إلى Markdown عالي الجودة مدعوم بنماذج الرؤية الكبيرة", "buttons": { "website": "الموقع الرسمي", "license": "الرخصة", "feedback": "الملاحظات", "contact": "البريد الإلكتروني للتواصل" } };
|
|
123875
|
-
const preview = { "back": "رجوع", "download": "تحميل .md", "delete": "حذف", "cancel": "إلغاء", "retry": "إعادة المحاولة", "regenerate": "إعادة إنشاء", "regenerate_tooltip": "إعادة إنشاء الصفحة الحالية", "confirm_delete": "تأكيد الحذف", "confirm_delete_content": "هل أنت متأكد من حذف هذه المهمة؟ لا يمكن التراجع عن هذا الإجراء.", "delete_success": "تم الحذف بنجاح", "delete_failed": "فشل الحذف", "confirm_cancel": "تأكيد الإلغاء", "confirm_cancel_content": "هل أنت متأكد من إلغاء هذه المهمة؟", "cancel_success": "تم الإلغاء بنجاح", "cancel_failed": "فشل الإلغاء", "confirm_retry": "تأكيد إعادة المحاولة", "confirm_retry_content": "هل أنت متأكد من إعادة محاولة هذه المهمة؟", "retry_success": "تمت إضافة المهمة إلى قائمة إعادة المحاولة", "
|
|
123971
|
+
const preview = { "back": "رجوع", "download": "تحميل .md", "delete": "حذف", "cancel": "إلغاء", "retry": "إعادة المحاولة", "retry_failed": "إعادة محاولة الفاشلة", "retry_all": "إعادة محاولة الكل", "more_actions": "المزيد من الإجراءات", "regenerate": "إعادة إنشاء", "regenerate_tooltip": "إعادة إنشاء الصفحة الحالية", "confirm_delete": "تأكيد الحذف", "confirm_delete_content": "هل أنت متأكد من حذف هذه المهمة؟ لا يمكن التراجع عن هذا الإجراء.", "delete_success": "تم الحذف بنجاح", "delete_failed": "فشل الحذف", "confirm_cancel": "تأكيد الإلغاء", "confirm_cancel_content": "هل أنت متأكد من إلغاء هذه المهمة؟", "cancel_success": "تم الإلغاء بنجاح", "cancel_failed": "فشل الإلغاء", "confirm_retry": "تأكيد إعادة المحاولة", "confirm_retry_content": "هل أنت متأكد من إعادة محاولة هذه المهمة؟", "confirm_retry_failed": "تأكيد إعادة محاولة الصفحات الفاشلة", "confirm_retry_failed_content": "هل أنت متأكد من إعادة محاولة جميع الصفحات الفاشلة؟", "retry_success": "تمت إضافة المهمة إلى قائمة إعادة المحاولة", "retry_failed_success": "تمت إضافة {{count}} صفحة فاشلة إلى قائمة إعادة المحاولة", "page_retry_success": "تمت إضافة الصفحة إلى قائمة إعادة المحاولة", "page_retry_failed": "فشل إعادة المحاولة", "fetch_task_failed": "فشل في الحصول على معلومات المهمة", "fetch_page_failed": "فشل في الحصول على تفاصيل الصفحة", "task_deleted": "تم حذف المهمة", "task_not_started": "لم تتم معالجة المهمة بعد، لا يمكن المعاينة", "download_success": "تم التحميل بنجاح", "download_failed": "فشل التحميل", "image_load_failed": "فشل تحميل الصورة أو غير موجودة", "status": { "failed": "فشل التحويل", "pending": "في الانتظار", "processing": "جاري التحويل", "completed": "مكتمل", "retrying": "إعادة المحاولة" } };
|
|
123876
123972
|
const arSettings = {
|
|
123877
123973
|
tabs,
|
|
123878
123974
|
about,
|