mwoffliner 2.0.0 → 2.1.0
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.md +2 -2
- package/lib/Downloader.d.ts +1 -1
- package/lib/Downloader.js +17 -17
- package/lib/Downloader.js.map +1 -1
- package/lib/Dump.d.ts +1 -0
- package/lib/Dump.js +5 -8
- package/lib/Dump.js.map +1 -1
- package/lib/RedisStore.js +33 -3
- package/lib/RedisStore.js.map +1 -1
- package/lib/error.manager.js +1 -1
- package/lib/error.manager.js.map +1 -1
- package/lib/mwoffliner.lib.js +5 -1
- package/lib/mwoffliner.lib.js.map +1 -1
- package/lib/parameterList.js +1 -1
- package/lib/parameterList.js.map +1 -1
- package/lib/renderers/abstract.renderer.js +11 -11
- package/lib/renderers/abstract.renderer.js.map +1 -1
- package/lib/renderers/action-parse.renderer.js +12 -5
- package/lib/renderers/action-parse.renderer.js.map +1 -1
- package/lib/util/FileManager.d.ts +11 -0
- package/lib/util/FileManager.js +34 -11
- package/lib/util/FileManager.js.map +1 -1
- package/lib/util/RedisKvs.js +18 -15
- package/lib/util/RedisKvs.js.map +1 -1
- package/lib/util/RedisQueue.js +5 -4
- package/lib/util/RedisQueue.js.map +1 -1
- package/lib/util/dump.js +5 -5
- package/lib/util/dump.js.map +1 -1
- package/lib/util/misc.d.ts +0 -1
- package/lib/util/misc.js +1 -13
- package/lib/util/misc.js.map +1 -1
- package/lib/util/pages.d.ts +12 -1
- package/lib/util/pages.js +15 -1
- package/lib/util/pages.js.map +1 -1
- package/lib/util/redisRetry.d.ts +12 -0
- package/lib/util/redisRetry.js +32 -0
- package/lib/util/redisRetry.js.map +1 -0
- package/lib/util/rewriteUrls.js +10 -7
- package/lib/util/rewriteUrls.js.map +1 -1
- package/lib/util/savePages.js +10 -9
- package/lib/util/savePages.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/offliner-definition.json +1 -8
- package/package.json +18 -17
- package/translation/ia.json +19 -19
- package/translation/zh-hant.json +44 -18
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RedisClientType } from 'redis';
|
|
2
|
+
/**
|
|
3
|
+
* Run a Redis command, retrying it when it failed because the connection to Redis was lost.
|
|
4
|
+
*
|
|
5
|
+
* When the connection drops (e.g. ECONNRESET), the Redis client rejects commands which were awaiting a
|
|
6
|
+
* reply and automatically reconnects (see reconnect strategy in RedisStore). Commands sent while the
|
|
7
|
+
* client is reconnecting are queued until connection is back, so retrying a rejected command is enough to
|
|
8
|
+
* survive a transient connection loss (retried commands may time out while waiting in this queue, hence the
|
|
9
|
+
* retry until a deadline). We do not retry errors returned by Redis server itself, nor when the client is
|
|
10
|
+
* closed (i.e. it gave up reconnecting or has been closed on purpose).
|
|
11
|
+
*/
|
|
12
|
+
export declare function withRedisRetry<T>(client: RedisClientType, command: () => Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ErrorReply } from 'redis';
|
|
2
|
+
import * as logger from '../Logger.js';
|
|
3
|
+
// Must be longer than the time the client tries to reconnect (see reconnect strategy in RedisStore), so
|
|
4
|
+
// that commands keep being retried until connection is back or client gives up
|
|
5
|
+
const MAX_RETRY_DURATION_MS = 2 * 60 * 1000;
|
|
6
|
+
const RETRY_DELAY_MS = 1000;
|
|
7
|
+
/**
|
|
8
|
+
* Run a Redis command, retrying it when it failed because the connection to Redis was lost.
|
|
9
|
+
*
|
|
10
|
+
* When the connection drops (e.g. ECONNRESET), the Redis client rejects commands which were awaiting a
|
|
11
|
+
* reply and automatically reconnects (see reconnect strategy in RedisStore). Commands sent while the
|
|
12
|
+
* client is reconnecting are queued until connection is back, so retrying a rejected command is enough to
|
|
13
|
+
* survive a transient connection loss (retried commands may time out while waiting in this queue, hence the
|
|
14
|
+
* retry until a deadline). We do not retry errors returned by Redis server itself, nor when the client is
|
|
15
|
+
* closed (i.e. it gave up reconnecting or has been closed on purpose).
|
|
16
|
+
*/
|
|
17
|
+
export async function withRedisRetry(client, command) {
|
|
18
|
+
const deadline = Date.now() + MAX_RETRY_DURATION_MS;
|
|
19
|
+
for (let attempt = 1;; attempt += 1) {
|
|
20
|
+
try {
|
|
21
|
+
return await command();
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (err instanceof ErrorReply || !client.isOpen || Date.now() >= deadline) {
|
|
25
|
+
throw err;
|
|
26
|
+
}
|
|
27
|
+
logger.warn(`Redis command failed (attempt ${attempt}), retrying: ${err?.message || err}`);
|
|
28
|
+
await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY_MS));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=redisRetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisRetry.js","sourceRoot":"","sources":["../../src/util/redisRetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,wGAAwG;AACxG,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,MAAuB,EAAE,OAAyB;IACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAA;IACnD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,YAAY,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1E,MAAM,GAAG,CAAA;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,gBAAgB,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;YAC1F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/lib/util/rewriteUrls.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getMediaBase, getFullUrl, getRelativeFilePath, encodePageTitleForZimHtmlUrl } from './misc.js';
|
|
2
2
|
import MediaWiki from '../MediaWiki.js';
|
|
3
3
|
import RedisStore from '../RedisStore.js';
|
|
4
4
|
import DU from '../DOMUtils.js';
|
|
@@ -18,8 +18,7 @@ function rewriteUrlNoContentCheck(pagePath, dump, linkNode, mediaDependencies) {
|
|
|
18
18
|
}
|
|
19
19
|
// Always remove redlinks
|
|
20
20
|
if (classList.includes('new')) {
|
|
21
|
-
|
|
22
|
-
linkNode.parentNode.removeChild(linkNode);
|
|
21
|
+
linkNode.outerHTML = linkNode.innerHTML;
|
|
23
22
|
return null;
|
|
24
23
|
}
|
|
25
24
|
const extractScheme = function (href) {
|
|
@@ -145,8 +144,7 @@ function rewriteUrlNoContentCheck(pagePath, dump, linkNode, mediaDependencies) {
|
|
|
145
144
|
linkNode.setAttribute('href', getFullUrl(href, MediaWiki.baseUrl));
|
|
146
145
|
}
|
|
147
146
|
else if (href.substring(0, 2) === './') {
|
|
148
|
-
|
|
149
|
-
linkNode.parentNode.removeChild(linkNode);
|
|
147
|
+
linkNode.outerHTML = linkNode.innerHTML;
|
|
150
148
|
}
|
|
151
149
|
return null;
|
|
152
150
|
}
|
|
@@ -207,8 +205,13 @@ export async function rewriteUrls(pagePath, dump, linkNodes) {
|
|
|
207
205
|
const redirect = pagesRedirected[pageTitle];
|
|
208
206
|
if (!redirect) {
|
|
209
207
|
wikilinkMappings[pageTitle].forEach((linkNode) => {
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
const classList = (linkNode.getAttribute('class') || '').split(' ').filter((cssClass) => cssClass);
|
|
209
|
+
if (classList.includes('mw-file-description')) {
|
|
210
|
+
linkNode.outerHTML = `<span>${linkNode.innerHTML}</span>`;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
linkNode.outerHTML = linkNode.innerHTML;
|
|
214
|
+
}
|
|
212
215
|
});
|
|
213
216
|
delete wikilinkMappings[pageTitle];
|
|
214
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewriteUrls.js","sourceRoot":"","sources":["../../src/util/rewriteUrls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rewriteUrls.js","sourceRoot":"","sources":["../../src/util/rewriteUrls.ts"],"names":[],"mappings":"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"}
|
package/lib/util/savePages.js
CHANGED
|
@@ -9,11 +9,12 @@ import { getSizeFromUrl } from './misc.js';
|
|
|
9
9
|
import urlHelper from './url.helper.js';
|
|
10
10
|
import RenderingContext from '../renderers/rendering.context.js';
|
|
11
11
|
import { zimCreatorMutex } from '../mutex.js';
|
|
12
|
-
import FileManager from './FileManager.js';
|
|
12
|
+
import FileManager, { mergeFileDetails } from './FileManager.js';
|
|
13
13
|
import { truncateZimEntryTitleWords } from './misc.js';
|
|
14
|
-
import {
|
|
14
|
+
import { isZimLandingPage, isZimMainPage } from './pages.js';
|
|
15
15
|
function getPageRenderUrl(pageDetail, dump) {
|
|
16
|
-
const
|
|
16
|
+
const isLandingPage = isZimLandingPage(pageDetail.title, dump);
|
|
17
|
+
const leadSectionId = dump.nodet && !isLandingPage && !pageDetail.contentmodel && !pageDetail.missing ? config.filters.leadSectionId : '';
|
|
17
18
|
const oldid = dump.opts.stableRevision && pageDetail.stableRevisionId !== undefined ? pageDetail.stableRevisionId : undefined;
|
|
18
19
|
return Downloader.getPageUrl(pageDetail.title, { sectionId: leadSectionId, oldid, langVar: dump.langVar });
|
|
19
20
|
}
|
|
@@ -22,7 +23,7 @@ async function getAllPagesToKeep(dump, pagesRenderer) {
|
|
|
22
23
|
for (const pageDetail of Object.values(pageKeyValuePairs)) {
|
|
23
24
|
const pageTitle = pageDetail.title;
|
|
24
25
|
try {
|
|
25
|
-
const
|
|
26
|
+
const isPageZimMain = isZimMainPage(pageTitle, dump);
|
|
26
27
|
const pageUrl = getPageRenderUrl(pageDetail, dump);
|
|
27
28
|
const rendererOutput = await Downloader.getPage(pageTitle, pagesRenderer, pageUrl, dump, pageDetail);
|
|
28
29
|
await new Promise((resolve) => setTimeout(resolve, Downloader.pageRequestInterval));
|
|
@@ -31,7 +32,7 @@ async function getAllPagesToKeep(dump, pagesRenderer) {
|
|
|
31
32
|
continue;
|
|
32
33
|
}
|
|
33
34
|
const doc = domino.createDocument(htmlContent);
|
|
34
|
-
if (!
|
|
35
|
+
if (!isPageZimMain && !(await dump.customProcessor.shouldKeepPage(pageTitle, doc))) {
|
|
35
36
|
RedisStore.pagesStore.delete(pageTitle);
|
|
36
37
|
}
|
|
37
38
|
}
|
|
@@ -75,10 +76,10 @@ async function savePageFiles(mediaDependencies, imageDependencies, videoDependen
|
|
|
75
76
|
}
|
|
76
77
|
if (imageDependencies && imageDependencies.length) {
|
|
77
78
|
for (const dep of imageDependencies) {
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
pageFiles[dep.path] =
|
|
79
|
+
const { mult, width } = getSizeFromUrl(dep.url);
|
|
80
|
+
const detail = { url: urlHelper.serializeUrl(dep.url), kind: 'image', mult, width, displayWidth: dep.displayWidth };
|
|
81
|
+
// same image might be used multiple times in the page with different URLs
|
|
82
|
+
pageFiles[dep.path] = pageFiles[dep.path] ? mergeFileDetails(pageFiles[dep.path], detail) || pageFiles[dep.path] : detail;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
if (videoDependencies && videoDependencies.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"savePages.js","sourceRoot":"","sources":["../../src/util/savePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAW,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAEvC,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,WAAW,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"savePages.js","sourceRoot":"","sources":["../../src/util/savePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAW,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAEvC,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,WAAW,EAAE,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE5D,SAAS,gBAAgB,CAAC,UAAsB,EAAE,IAAU;IAC1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IACzI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7H,OAAO,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;AAC5G,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,aAAuB;IAClE,MAAM,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;QACvF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAA;YAClC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAElD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;gBACpG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBACnF,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,SAAQ;oBACV,CAAC;oBAED,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;oBAC9C,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;wBACnF,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,aAAa,EAAE,GAAG,CAAC,CAAA;gBACnE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAmB,EAAE,WAAmB,EAAE,OAAe,EAAE,QAAgB;IACxG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC;YAC/G,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAErE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAY,CAAA;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,iBAAsB,EAAE,iBAAsB,EAAE,iBAAsB,EAAE,SAAc;IACjH,IAAI,CAAC;QACH,MAAM,SAAS,GAAoB,EAAE,CAAA;QAErC,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACtD,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAC5F,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/C,MAAM,MAAM,GAAe,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAA;gBAC/H,0EAA0E;gBAC1E,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3H,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAC5F,CAAC;QACH,CAAC;QAED,MAAM,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAElD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAY,CAAA;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAmB,EAAE,IAAU;IAC7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/C,IAAI,mBAA2B,CAAA;IAC/B,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAA;IAEpD,mFAAmF;IACnF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAA;IAEtE,IAAI,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;QACzC,MAAM,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC/D,CAAC;IAED,oGAAoG;IACpG,wHAAwH;IACxH,yDAAyD;IACzD,oEAAoE;IACpE,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAA;IACxG,MAAM,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE;QACjG,qDAAqD;QACrD,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C;;eAEG;YACH,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,YAAY,GAAG,0BAA0B,OAAO,UAAU,OAAO,EAAE,CAAA;gBACzE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;YACjC,CAAC,EAAE,OAAO,CAAC,CAAA;YAEX,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,cAAc,oBAAoB,CAAC,CAAA;YAEjJ,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,KAAK,EAAE,CAAA;gBACb,OAAO,GAAG,UAAU,CAAC,KAAK,CAAA;gBAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;oBACtI,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;oBAC/I,IAAI,eAAe,KAAK,mBAAmB,EAAE,CAAC;wBAC5C,mBAAmB,GAAG,eAAe,CAAA;wBACrC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,UAAU,MAAM,eAAe,IAAI,CAAC,CAAA;oBACxK,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBAElD,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,6BAA6B,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAC/J,UAAU,CAAC,KAAK,EAChB,gBAAgB,CAAC,aAAa,EAC9B,OAAO,EACP,IAAI,EACJ,UAAU,CACX,CAAA;oBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;oBAEnF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACtB,MAAM,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,KAAK,aAAa,CAAC,CAAA;wBAC9E,SAAQ;oBACV,CAAC;oBAED,IAAI,6BAA6B,EAAE,CAAC;wBAClC,gBAAgB,CAAC,aAAa,CAAC,2BAA2B,EAAE,CAAA;oBAC9D,CAAC;oBAED,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;wBAC9D,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC/B,CAAC;oBACD,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;wBACjE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChC,CAAC;oBAED,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAA;oBAEjF,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;wBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;4BACjB,MAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,WAAW,OAAO,aAAa,CAAC,CAAA;4BAC3F,SAAQ;wBACV,CAAC;wBACD,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACtD,CAAC;oBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;oBAC3D,MAAM,CAAC,GAAG,CAAC,CAAA;oBACX,OAAM;gBACR,CAAC;YACH,CAAC;YAED,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,qCAAqC,UAAU,SAAS,CAAC,CAAA;IAErE,OAAO;QACL,eAAe,EAAE,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,EAAE;QACpE,oBAAoB;QACpB,qBAAqB;KACtB,CAAA;AACH,CAAC"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "2.
|
|
1
|
+
export declare const LIB_VERSION = "2.1.0";
|
package/lib/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = '2.
|
|
1
|
+
export const LIB_VERSION = '2.1.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/offliner-definition.json
CHANGED
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"type": "list-of-string-enum",
|
|
112
112
|
"required": false,
|
|
113
113
|
"title": "Formats",
|
|
114
|
-
"description": "Which flavours to build. Empty option will scrape all page contents, including videos.",
|
|
114
|
+
"description": "Which flavours to build. Empty option will scrape all page contents, including videos ('full' flavour).",
|
|
115
115
|
"alias": "format",
|
|
116
116
|
"choices": [
|
|
117
117
|
{ "title": "mini: no page details or pictures or videos", "value": "nodet,nopic:mini" },
|
|
@@ -252,13 +252,6 @@
|
|
|
252
252
|
"description": "Convert all jpeg, png and gif images to webp format",
|
|
253
253
|
"required": false
|
|
254
254
|
},
|
|
255
|
-
"forceRender": {
|
|
256
|
-
"type": "string-enum",
|
|
257
|
-
"required": false,
|
|
258
|
-
"title": "Force Render",
|
|
259
|
-
"description": "Force the usage of a specific API end-point/render, automatically chosen otherwise",
|
|
260
|
-
"choices": [{ "title": "ACTION_PARSE", "value": "ActionParse" }]
|
|
261
|
-
},
|
|
262
255
|
"forceSkin": {
|
|
263
256
|
"type": "string",
|
|
264
257
|
"required": false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mwoffliner",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "MediaWiki ZIM scraper",
|
|
5
5
|
"main": "lib/mwoffliner.lib.js",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
"node": ">=26 <27"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@aws-sdk/client-s3": "^3.
|
|
63
|
+
"@aws-sdk/client-s3": "^3.1144.0",
|
|
64
64
|
"@file-type/xml": "^1.1.1",
|
|
65
65
|
"@ladjs/country-language": "^1.0.3",
|
|
66
66
|
"@openzim/libzim": "4.6.0",
|
|
67
|
-
"@types/async": "^3.2.
|
|
67
|
+
"@types/async": "^3.2.26",
|
|
68
68
|
"@types/backoff": "^2.5.5",
|
|
69
69
|
"@types/bluebird": "^3.5.42",
|
|
70
70
|
"@types/html-minifier-terser": "^7.0.2",
|
|
71
71
|
"@types/md5": "^2.3.6",
|
|
72
|
-
"@types/node": "^26.
|
|
72
|
+
"@types/node": "^26.6.3",
|
|
73
73
|
"@types/semver": "^7.7.1",
|
|
74
74
|
"ajv": "^8.20.0",
|
|
75
75
|
"async": "^3.2.6",
|
|
@@ -86,14 +86,14 @@
|
|
|
86
86
|
"md5": "^2.3.0",
|
|
87
87
|
"merge": "^2.1.1",
|
|
88
88
|
"mkdirp": "^3.0.1",
|
|
89
|
-
"p-map": "^7.0.
|
|
89
|
+
"p-map": "^7.0.8",
|
|
90
90
|
"pino": "^10.3.1",
|
|
91
91
|
"pino-pretty": "^13.1.3",
|
|
92
92
|
"public-ip": "^8.0.0",
|
|
93
|
-
"redis": "^6.
|
|
93
|
+
"redis": "^6.3.0",
|
|
94
94
|
"rimraf": "^6.1.3",
|
|
95
95
|
"semver": "^7.8.5",
|
|
96
|
-
"sharp": "^0.35.
|
|
96
|
+
"sharp": "^0.35.5",
|
|
97
97
|
"sharp-apng": "^0.1.5",
|
|
98
98
|
"split-by-grapheme": "^1.0.1",
|
|
99
99
|
"swig-templates": "^2.0.3",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"url-join": "^5.0.0",
|
|
103
103
|
"utf8-binary-cutter": "^0.9.2",
|
|
104
104
|
"webp-hero": "0.0.2",
|
|
105
|
-
"yargs": "^18.
|
|
105
|
+
"yargs": "^18.2.0"
|
|
106
106
|
},
|
|
107
107
|
"keywords": [
|
|
108
108
|
"mediawiki",
|
|
@@ -115,23 +115,24 @@
|
|
|
115
115
|
"@types/tape-promise": "^4.0.7",
|
|
116
116
|
"@types/tmp": "^0.2.6",
|
|
117
117
|
"@types/unzipper": "^0.10.11",
|
|
118
|
-
"@typescript-eslint/parser": "^8.
|
|
119
|
-
"dotenv": "^
|
|
120
|
-
"eslint": "^10.
|
|
121
|
-
"file-type": "^22.
|
|
122
|
-
"jest": "^30.
|
|
118
|
+
"@typescript-eslint/parser": "^8.71.0",
|
|
119
|
+
"dotenv": "^18.0.5",
|
|
120
|
+
"eslint": "^10.11.0",
|
|
121
|
+
"file-type": "^22.1.1",
|
|
122
|
+
"jest": "^30.5.2",
|
|
123
123
|
"nyc": "^18.0.0",
|
|
124
|
-
"prettier": "3.9.
|
|
124
|
+
"prettier": "3.9.9",
|
|
125
125
|
"tmp": "^0.2.7",
|
|
126
|
-
"ts-jest": "^29.4.
|
|
126
|
+
"ts-jest": "^29.4.14",
|
|
127
127
|
"ts-node": "^10.9.2",
|
|
128
128
|
"tsconfig-paths": "^4.2.0",
|
|
129
129
|
"typescript": "^6.0.3",
|
|
130
|
-
"typescript-eslint": "^8.
|
|
130
|
+
"typescript-eslint": "^8.71.0"
|
|
131
131
|
},
|
|
132
132
|
"allowScripts": {
|
|
133
133
|
"@openzim/libzim@4.6.0": true,
|
|
134
|
-
"unrs-resolver@1.12.2": true
|
|
134
|
+
"unrs-resolver@1.12.2": true,
|
|
135
|
+
"@parcel/watcher@2.6.0": false
|
|
135
136
|
},
|
|
136
137
|
"overrides": {
|
|
137
138
|
"minimist": "^1.2.8"
|
package/translation/ia.json
CHANGED
|
@@ -4,26 +4,26 @@
|
|
|
4
4
|
"McDutchie"
|
|
5
5
|
]
|
|
6
6
|
},
|
|
7
|
-
"DISCLAIMER": "Iste
|
|
7
|
+
"DISCLAIMER": "Iste pagina es publicate per {{creator}}. Le texto es disponibile sub le licentia {{license}} si non se indica le contrario. Additional terminos pote applicar se al files multimedial.",
|
|
8
8
|
"LAST_EDITED_ON": "Ultime modification le {{date}}",
|
|
9
9
|
"LICENSE_UNKNOWN": "un licentia incognite",
|
|
10
10
|
"DOWNLOAD_ERRORS_HEADING": "Articulo non trovate.",
|
|
11
|
-
"DOWNLOAD_ERRORS_MESSAGE": "Le
|
|
12
|
-
"DOWNLOAD_ERRORS_LINE1_DELETED_PAGE": "Iste
|
|
13
|
-
"DOWNLOAD_ERRORS_LINE1_PERMISSION_DENIED": "Le accesso a iste
|
|
14
|
-
"DOWNLOAD_ERRORS_LINE1_CATEGORY_LOCKDOWN": "Le accesso a iste
|
|
15
|
-
"DOWNLOAD_ERRORS_LINE1_CLIENT_SIDE_TIMEOUT": "Durante le construction del file ZIM
|
|
16
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UPSTREAM_TIMEOUT": "Durante le construction del file ZIM
|
|
17
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_HTML_503_ERROR": "Durante le construction del file ZIM
|
|
18
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_BAD_REVISION_ERROR": "Durante le construction del file ZIM
|
|
19
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UNREACHABLE_EXCEPTION_ERROR": "Durante le construction del file ZIM
|
|
20
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVARIANT_EXCEPTION_ERROR": "Durante le construction del file ZIM
|
|
21
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_PARSOID_RESOURCE_LIMIT_EXCEEDED": "Durante le construction del file ZIM
|
|
22
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_GENERIC_INTERNAL_API_ERROR": "Durante le construction del file ZIM
|
|
23
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INTERNAL_API_TYPE_ERROR": "Durante le construction del file ZIM
|
|
24
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVALID_ARGUMENT_EXCEPTION_ERROR": "Durante le construction del file ZIM
|
|
25
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_TRUNCATED_RESPONSE": "Durante le construction del file ZIM
|
|
26
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_EMPTY_500_RESPONSE": "Durante le construction del file ZIM
|
|
27
|
-
"DOWNLOAD_ERRORS_LINE2": "Le
|
|
28
|
-
"DOWNLOAD_ERRORS_LINE3": "Que nos spera que le problema essera resolvite sur le servitor {{server}} e que nostre proxime version de iste ZIM continera iste
|
|
11
|
+
"DOWNLOAD_ERRORS_MESSAGE": "Le pagina requestate ‘{{pageTitle}}’ non es disponibile in iste ZIM. Non esseva possibile recuperar lo de {{server}}.",
|
|
12
|
+
"DOWNLOAD_ERRORS_LINE1_DELETED_PAGE": "Iste pagina ha essite eliminate post le generation del lista de articulos a obtener, ma ante le obtention del pagina mesme pro construer le file ZIM que tu lege ora.",
|
|
13
|
+
"DOWNLOAD_ERRORS_LINE1_PERMISSION_DENIED": "Le accesso a iste pagina ha essite restringite sur le servitor {{server}}. Illo require permissiones special que non es disponibile durante le processo de extraction ZIM.",
|
|
14
|
+
"DOWNLOAD_ERRORS_LINE1_CATEGORY_LOCKDOWN": "Le accesso a iste pagina es restringite per un blocada basate sur categorias in le servitor {{server}}. Le permissiones de categoria requirite non es disponibile durante le processo de extraction ZIM.",
|
|
15
|
+
"DOWNLOAD_ERRORS_LINE1_CLIENT_SIDE_TIMEOUT": "Durante le construction del file ZIM que tu lege ora, le servitor {{server}} ha fallite de dar le detalios sur le codice HTML de iste pagina in tempore utile.",
|
|
16
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UPSTREAM_TIMEOUT": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha excedite le tempore limite durante le processamento de iste pagina e ha restituite un error HTTP 504.",
|
|
17
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_HTML_503_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error HTTP 503 durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
18
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_BAD_REVISION_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error inexpectate de mal ID de version durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
19
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UNREACHABLE_EXCEPTION_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error de servitor inattingibile durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
20
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVARIANT_EXCEPTION_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error de valor invariante non valide durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
21
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_PARSOID_RESOURCE_LIMIT_EXCEEDED": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error ligate al excesso del limites de ressources de Parsoid durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
22
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_GENERIC_INTERNAL_API_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error interne del API durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
23
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INTERNAL_API_TYPE_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error interne de typo del API durante que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
24
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVALID_ARGUMENT_EXCEPTION_ERROR": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha restituite un error de argumento non valide que illo dava le detalios sur le codice HTML de iste pagina.",
|
|
25
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_TRUNCATED_RESPONSE": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha fallite de dar le detalios sur le codice HTML de iste pagina perque le pagina es multo troppo grande. Alcuno deberea probabilemente divider iste pagina in plure paginas minor sur le servitor {{server}}.",
|
|
26
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_EMPTY_500_RESPONSE": "Durante le construction del file ZIM que tu lege ora, le API ActionParse del servitor {{server}} ha fallite de dar le detalios sur le codice HTML de iste pagina, restituente un responsa vacue.",
|
|
27
|
+
"DOWNLOAD_ERRORS_LINE2": "Le pagina mancante ha essite reimplaciate per le pagina de substituto que tu vide ora.",
|
|
28
|
+
"DOWNLOAD_ERRORS_LINE3": "Que nos spera que le problema essera resolvite sur le servitor {{server}} e que nostre proxime version de iste ZIM continera iste pagina."
|
|
29
29
|
}
|
package/translation/zh-hant.json
CHANGED
|
@@ -5,32 +5,58 @@
|
|
|
5
5
|
]
|
|
6
6
|
},
|
|
7
7
|
"categoryHeaderNumerals": "0–9",
|
|
8
|
+
"categoryFileCount": {
|
|
9
|
+
"one": "此分類僅包含以下檔案。",
|
|
10
|
+
"other": "以下$t(categoryCurrentPageFileCount, {\"count\": {{curPageCount}} })在此分類,總共 {{count}} 個。"
|
|
11
|
+
},
|
|
12
|
+
"categoryCurrentPageFileCount": {
|
|
13
|
+
"one": "檔案是",
|
|
14
|
+
"other": "{{count}} 個檔案是"
|
|
15
|
+
},
|
|
8
16
|
"categoryMediaHeader": "在分類「{{pageName}}」的媒體",
|
|
17
|
+
"categoryPageCount": {
|
|
18
|
+
"one": "此分類僅包含以下頁面。",
|
|
19
|
+
"other": "以下 $t(categoryCurrentPagePageCount, {\"count\": {{curPageCount}} })在此分類,總共 {{count}} 個。"
|
|
20
|
+
},
|
|
21
|
+
"categoryCurrentPagePageCount": {
|
|
22
|
+
"one": "頁面是",
|
|
23
|
+
"other": "{{count}} 個頁面是"
|
|
24
|
+
},
|
|
9
25
|
"categoryHeader": "在分類「{{pageName}}」的頁面",
|
|
26
|
+
"categorySubcatCount": {
|
|
27
|
+
"one": "此分類僅包含下列子分類。",
|
|
28
|
+
"other": "此分類包含以下 $t(categoryCurrentPageSubcatCount,{\"count\": {{curPageCount}} }),總共 {{count}} 個。"
|
|
29
|
+
},
|
|
30
|
+
"categoryCurrentPageSubcatCount": {
|
|
31
|
+
"one": "子分類",
|
|
32
|
+
"other": "{{count}} 個子分類"
|
|
33
|
+
},
|
|
10
34
|
"categoryPreviousPage": "上一頁",
|
|
11
35
|
"categoryNextPage": "下一頁",
|
|
36
|
+
"categoryNoPagination": "未啟用 Javascript 的瀏覽器會無法顯示下列項目。",
|
|
12
37
|
"subcategories": "子分類",
|
|
13
38
|
"categoryEmpty": "<em>此分類目前未包含頁面或媒體。</em>",
|
|
39
|
+
"categoryLimited": "<em>此分類內容已縮減至僅包含在 ZIM 檔案裡的頁面。</em>",
|
|
14
40
|
"DISCLAIMER": "此頁面由{{creator}}發布。除非另有說明,否則內容文字基於{{license}}之下可用。媒體檔案部份可能適用於額外條款。",
|
|
15
41
|
"LAST_EDITED_ON": "最後編輯於{{date}}",
|
|
16
42
|
"LICENSE_UNKNOWN": "未知授權條款",
|
|
17
|
-
"DOWNLOAD_ERRORS_HEADING": "
|
|
43
|
+
"DOWNLOAD_ERRORS_HEADING": "哎呀。找不到頁面。",
|
|
18
44
|
"DOWNLOAD_ERRORS_MESSAGE": "所要求的頁面「{{pageTitle}}」在此 ZIM 中不可用,無法從 {{server}} 檢索。",
|
|
19
|
-
"DOWNLOAD_ERRORS_LINE1_DELETED_PAGE": "
|
|
20
|
-
"DOWNLOAD_ERRORS_LINE1_PERMISSION_DENIED": "
|
|
21
|
-
"DOWNLOAD_ERRORS_LINE1_CATEGORY_LOCKDOWN": "由於在伺服器 {{server}}
|
|
22
|
-
"DOWNLOAD_ERRORS_LINE1_CLIENT_SIDE_TIMEOUT": "當您瀏覽的 ZIM 在建置時,{{server}}
|
|
23
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UPSTREAM_TIMEOUT": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
24
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_HTML_503_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
25
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_BAD_REVISION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
26
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UNREACHABLE_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
27
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVARIANT_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
28
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_PARSOID_RESOURCE_LIMIT_EXCEEDED": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
29
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_GENERIC_INTERNAL_API_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
30
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INTERNAL_API_TYPE_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
31
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVALID_ARGUMENT_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
32
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_TRUNCATED_RESPONSE": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
33
|
-
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_EMPTY_500_RESPONSE": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API
|
|
34
|
-
"DOWNLOAD_ERRORS_LINE2": "
|
|
35
|
-
"DOWNLOAD_ERRORS_LINE3": "希望 {{server}} 伺服器上的問題可以解決,以及希望我們的下一個版本的 ZIM
|
|
45
|
+
"DOWNLOAD_ERRORS_LINE1_DELETED_PAGE": "此頁面在我們編譯要檢索的頁面清單之後,且在我們取得它以建置您正在瀏覽的 ZIM 之前被刪除了。",
|
|
46
|
+
"DOWNLOAD_ERRORS_LINE1_PERMISSION_DENIED": "存取此頁面在 {{server}} 伺服器上受到限制。這需要特殊權限,而這些權限在 ZIM 抓取過程中無法取得。",
|
|
47
|
+
"DOWNLOAD_ERRORS_LINE1_CATEGORY_LOCKDOWN": "由於在伺服器 {{server}} 上設定了基於分類的權限鎖定,因此無法存取此頁面。在 ZIM 抓取過程中,所需要的分類權限不可用。",
|
|
48
|
+
"DOWNLOAD_ERRORS_LINE1_CLIENT_SIDE_TIMEOUT": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器未能及時提供有關該頁面 HTML 的詳細資訊。",
|
|
49
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UPSTREAM_TIMEOUT": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 會在處理該頁面時逾時,並會回傳 HTTP 504 錯誤。",
|
|
50
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_HTML_503_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 會在提供關於該頁面 HTML 詳細資訊時引發 HTTP 503 錯誤。",
|
|
51
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_BAD_REVISION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 會在提供關於該頁面 HTML 詳細資訊時引發非預期錯誤修訂 ID。",
|
|
52
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_UNREACHABLE_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 會在提供關於該頁面 HTML 詳細資訊時引發無法存取的例外錯誤。",
|
|
53
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVARIANT_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 在提供關於該頁面 HTML 詳細資訊時引發慣例異常錯誤。",
|
|
54
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_PARSOID_RESOURCE_LIMIT_EXCEEDED": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 在提供關於該頁面 HTML 詳細資訊時引發連結至 Parsoid 資源超出限制的相關錯誤。",
|
|
55
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_GENERIC_INTERNAL_API_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 在提供關於該頁面 HTML 詳細資訊時引發內部網路 API 錯誤。",
|
|
56
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INTERNAL_API_TYPE_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 在提供關於該頁面 HTML 詳細資訊時引發內網 API 類型錯誤。",
|
|
57
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_INVALID_ARGUMENT_EXCEPTION_ERROR": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 在提供關於該頁面 HTML 詳細資訊時引發參數異常錯誤。",
|
|
58
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_TRUNCATED_RESPONSE": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 無法提供關於該頁面 HTML 詳細資訊,因為該頁面內容過多。需要有人在 {{server}} 伺服器上將此頁面拆分成多個較小內容。",
|
|
59
|
+
"DOWNLOAD_ERRORS_LINE1_ACTION_PARSE_EMPTY_500_RESPONSE": "當您瀏覽的 ZIM 在建置時,{{server}} 伺服器的 ActionParse API 提供有關此頁面 HTML 的詳細資訊失敗並回傳空回應。",
|
|
60
|
+
"DOWNLOAD_ERRORS_LINE2": "缺少的頁面已被您目前看到的佔位符頁面所取代。",
|
|
61
|
+
"DOWNLOAD_ERRORS_LINE3": "希望 {{server}} 伺服器上的問題可以解決,以及希望我們的下一個版本的 ZIM 將包含此頁面。"
|
|
36
62
|
}
|