Compare commits
No commits in common. "master" and "v4.8.69" have entirely different histories.
13
.eslintignore
Normal file
13
.eslintignore
Normal file
@ -0,0 +1,13 @@
|
||||
build/
|
||||
l10n/
|
||||
docs/
|
||||
node_modules/
|
||||
external/bcmaps/
|
||||
external/builder/fixtures/
|
||||
external/builder/fixtures_babel/
|
||||
external/quickjs/
|
||||
external/openjpeg/
|
||||
test/tmp/
|
||||
test/pdfs/
|
||||
web/locale/
|
||||
*~/
|
||||
265
.eslintrc
Normal file
265
.eslintrc
Normal file
@ -0,0 +1,265 @@
|
||||
{
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2022,
|
||||
"sourceType": "module",
|
||||
},
|
||||
|
||||
"plugins": [
|
||||
"import",
|
||||
"json",
|
||||
"no-unsanitized",
|
||||
"perfectionist",
|
||||
"unicorn",
|
||||
],
|
||||
|
||||
"extends": [
|
||||
"plugin:json/recommended",
|
||||
"plugin:prettier/recommended"
|
||||
],
|
||||
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2022": true,
|
||||
"worker": true,
|
||||
},
|
||||
|
||||
"globals": {
|
||||
"PDFJSDev": "readonly",
|
||||
"__non_webpack_import__": "readonly",
|
||||
},
|
||||
|
||||
"rules": {
|
||||
// Plugins
|
||||
"import/export": "error",
|
||||
"import/exports-last": "error",
|
||||
"import/extensions": ["error", "always", { "ignorePackages": true, }],
|
||||
"import/first": "error",
|
||||
"import/named": "error",
|
||||
"import/no-cycle": "error",
|
||||
"import/no-empty-named-blocks": "error",
|
||||
"import/no-commonjs": "error",
|
||||
"import/no-mutable-exports": "error",
|
||||
"import/no-self-import": "error",
|
||||
"import/no-unresolved": ["error", {
|
||||
"ignore": ["display", "pdfjs", "pdfjs-lib", "pdfjs-web", "web", "fluent-bundle", "fluent-dom"],
|
||||
}],
|
||||
"no-unsanitized/method": "error",
|
||||
"no-unsanitized/property": "error",
|
||||
"perfectionist/sort-exports": "error",
|
||||
"perfectionist/sort-named-exports": "error",
|
||||
"unicorn/no-abusive-eslint-disable": "error",
|
||||
"unicorn/no-array-push-push": "error",
|
||||
"unicorn/no-instanceof-array": "error",
|
||||
"unicorn/no-invalid-remove-event-listener": "error",
|
||||
"unicorn/no-new-buffer": "error",
|
||||
"unicorn/no-typeof-undefined": ["error", {
|
||||
"checkGlobalVariables": false,
|
||||
}],
|
||||
"unicorn/no-useless-promise-resolve-reject": "error",
|
||||
"unicorn/no-useless-spread": "error",
|
||||
"unicorn/prefer-array-find": "error",
|
||||
"unicorn/prefer-array-flat": "error",
|
||||
"unicorn/prefer-array-flat-map": "error",
|
||||
"unicorn/prefer-array-index-of": "error",
|
||||
"unicorn/prefer-array-some": "error",
|
||||
"unicorn/prefer-at": "error",
|
||||
"unicorn/prefer-date-now": "error",
|
||||
"unicorn/prefer-dom-node-append": "error",
|
||||
"unicorn/prefer-dom-node-remove": "error",
|
||||
"unicorn/prefer-includes": "error",
|
||||
"unicorn/prefer-logical-operator-over-ternary": "error",
|
||||
"unicorn/prefer-modern-dom-apis": "error",
|
||||
"unicorn/prefer-modern-math-apis": "error",
|
||||
"unicorn/prefer-negative-index": "error",
|
||||
"unicorn/prefer-optional-catch-binding": "error",
|
||||
"unicorn/prefer-regexp-test": "error",
|
||||
"unicorn/prefer-string-replace-all": "error",
|
||||
"unicorn/prefer-string-starts-ends-with": "error",
|
||||
"unicorn/prefer-ternary": ["error", "only-single-line"],
|
||||
"unicorn/throw-new-error": "error",
|
||||
|
||||
// Possible errors
|
||||
"for-direction": "error",
|
||||
"getter-return": "error",
|
||||
"no-async-promise-executor": "error",
|
||||
"no-cond-assign": ["error", "except-parens"],
|
||||
"no-constant-condition": ["error", { "checkLoops": false, }],
|
||||
"no-debugger": "error",
|
||||
"no-dupe-args": "error",
|
||||
"no-dupe-else-if": "error",
|
||||
"no-dupe-keys": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-empty": ["error", { "allowEmptyCatch": true, }],
|
||||
"no-empty-character-class": "error",
|
||||
"no-ex-assign": "error",
|
||||
"no-extra-boolean-cast": "error",
|
||||
"no-func-assign": "error",
|
||||
"no-inner-declarations": ["error", "functions"],
|
||||
"no-invalid-regexp": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-loss-of-precision": "error",
|
||||
"no-obj-calls": "error",
|
||||
"no-promise-executor-return": "error",
|
||||
"no-regex-spaces": "error",
|
||||
"no-setter-return": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-template-curly-in-string": "error",
|
||||
"no-unexpected-multiline": "error",
|
||||
"no-unreachable": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unsafe-negation": "error",
|
||||
"no-unsafe-optional-chaining": ["error", { "disallowArithmeticOperators": true }],
|
||||
"no-unused-private-class-members": "error",
|
||||
"use-isnan": ["error", { "enforceForIndexOf": true, }],
|
||||
"valid-typeof": ["error", { "requireStringLiterals": true, }],
|
||||
|
||||
// Best Practices
|
||||
"accessor-pairs": ["error", {
|
||||
"setWithoutGet": true,
|
||||
"enforceForClassMembers": true,
|
||||
}],
|
||||
"consistent-return": "error",
|
||||
"curly": ["error", "all"],
|
||||
"default-case-last": "error",
|
||||
"dot-notation": "error",
|
||||
"eqeqeq": ["error", "always"],
|
||||
"grouped-accessor-pairs": ["error", "getBeforeSet"],
|
||||
"no-alert": "error",
|
||||
"no-caller": "error",
|
||||
"no-else-return": "error",
|
||||
"no-empty-pattern": "error",
|
||||
"no-eval": "error",
|
||||
"no-extend-native": "error",
|
||||
"no-extra-bind": "error",
|
||||
"no-extra-label": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-floating-decimal": "error",
|
||||
"no-global-assign": "error",
|
||||
"no-implied-eval": "error",
|
||||
"no-iterator": "error",
|
||||
"no-lone-blocks": "error",
|
||||
"no-lonely-if": "error",
|
||||
"no-multi-str": "error",
|
||||
"no-new": "error",
|
||||
"no-new-func": "error",
|
||||
"no-new-symbol": "error",
|
||||
"no-new-wrappers": "error",
|
||||
"no-octal-escape": "error",
|
||||
"no-octal": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"no-self-assign": "error",
|
||||
"no-self-compare": "error",
|
||||
"no-throw-literal": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-useless-call": "error",
|
||||
"no-useless-catch": "error",
|
||||
"no-useless-concat": "error",
|
||||
"no-useless-escape": "error",
|
||||
"no-useless-return": "error",
|
||||
"prefer-promise-reject-errors": "error",
|
||||
"prefer-spread": "error",
|
||||
"wrap-iife": ["error", "any"],
|
||||
"yoda": ["error", "never", {
|
||||
"exceptRange": true,
|
||||
}],
|
||||
|
||||
// Strict Mode
|
||||
"strict": ["off", "global"],
|
||||
|
||||
// Variables
|
||||
"no-delete-var": "error",
|
||||
"no-label-var": "error",
|
||||
"no-shadow": "error",
|
||||
"no-shadow-restricted-names": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-undef": ["error", { "typeof": true, }],
|
||||
"no-unused-vars": ["error", {
|
||||
"vars": "all",
|
||||
"args": "none",
|
||||
}],
|
||||
"no-use-before-define": ["error", {
|
||||
"functions": false,
|
||||
"classes": false,
|
||||
"variables": false,
|
||||
}],
|
||||
|
||||
// Stylistic Issues
|
||||
"lines-between-class-members": ["error", "always"],
|
||||
"max-len": ["error", {
|
||||
"code": 1000,
|
||||
"comments": 80,
|
||||
"ignoreUrls": true
|
||||
}],
|
||||
"new-cap": ["error", { "newIsCap": true, "capIsNew": false, }],
|
||||
"no-array-constructor": "error",
|
||||
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0, "maxBOF": 1, }],
|
||||
"no-nested-ternary": "error",
|
||||
"no-new-object": "error",
|
||||
"no-restricted-syntax": ["error",
|
||||
{
|
||||
"selector": "BinaryExpression[operator='instanceof'][right.name='Object']",
|
||||
"message": "Use `typeof` rather than `instanceof Object`.",
|
||||
},
|
||||
{
|
||||
"selector": "CallExpression[callee.name='assert'][arguments.length!=2]",
|
||||
"message": "`assert()` must always be invoked with two arguments.",
|
||||
},
|
||||
{
|
||||
"selector": "CallExpression[callee.name='isCmd'][arguments.length<2]",
|
||||
"message": "Use `instanceof Cmd` rather than `isCmd()` with one argument.",
|
||||
},
|
||||
{
|
||||
"selector": "CallExpression[callee.name='isDict'][arguments.length<2]",
|
||||
"message": "Use `instanceof Dict` rather than `isDict()` with one argument.",
|
||||
},
|
||||
{
|
||||
"selector": "CallExpression[callee.name='isName'][arguments.length<2]",
|
||||
"message": "Use `instanceof Name` rather than `isName()` with one argument.",
|
||||
},
|
||||
{
|
||||
"selector": "NewExpression[callee.name='Cmd']",
|
||||
"message": "Use `Cmd.get()` rather than `new Cmd()`.",
|
||||
},
|
||||
{
|
||||
"selector": "NewExpression[callee.name='Name']",
|
||||
"message": "Use `Name.get()` rather than `new Name()`.",
|
||||
},
|
||||
{
|
||||
"selector": "NewExpression[callee.name='Ref']",
|
||||
"message": "Use `Ref.get()` rather than `new Ref()`.",
|
||||
},
|
||||
],
|
||||
"no-unneeded-ternary": "error",
|
||||
"operator-assignment": "error",
|
||||
"prefer-exponentiation-operator": "error",
|
||||
"spaced-comment": ["error", "always", {
|
||||
"block": {
|
||||
"balanced": true,
|
||||
}
|
||||
}],
|
||||
|
||||
// ECMAScript 6
|
||||
"arrow-body-style": ["error", "as-needed"],
|
||||
"constructor-super": "error",
|
||||
"no-class-assign": "error",
|
||||
"no-const-assign": "error",
|
||||
"no-dupe-class-members": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-this-before-super": "error",
|
||||
"no-useless-computed-key": "error",
|
||||
"no-useless-constructor": "error",
|
||||
"no-useless-rename": "error",
|
||||
"no-var": "error",
|
||||
"object-shorthand": ["error", "always", {
|
||||
"avoidQuotes": true,
|
||||
}],
|
||||
"prefer-const": "error",
|
||||
"require-yield": "error",
|
||||
"sort-imports": ["error", {
|
||||
"ignoreCase": true,
|
||||
}],
|
||||
"template-curly-spacing": ["error", "never"],
|
||||
},
|
||||
}
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,4 +1,4 @@
|
||||
blank_issues_enabled: false
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Need help?
|
||||
url: https://github.com/mozilla/pdf.js/discussions
|
||||
|
||||
2
.github/fluent_linter_config.yml
vendored
2
.github/fluent_linter_config.yml
vendored
@ -25,5 +25,3 @@ CO01:
|
||||
exclusions:
|
||||
files: []
|
||||
messages: []
|
||||
VC:
|
||||
disabled: false
|
||||
|
||||
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@ -11,16 +11,16 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [20, 22, 24]
|
||||
node-version: [18, lts/*, 22, 23]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
|
||||
8
.github/workflows/codeql.yml
vendored
8
.github/workflows/codeql.yml
vendored
@ -18,18 +18,18 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v4
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
queries: security-and-quality
|
||||
|
||||
- name: Autobuild CodeQL
|
||||
uses: github/codeql-action/autobuild@v4
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
|
||||
- name: Perform CodeQL analysis
|
||||
uses: github/codeql-action/analyze@v4
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
||||
8
.github/workflows/fluent_linter.yml
vendored
8
.github/workflows/fluent_linter.yml
vendored
@ -25,12 +25,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Use Python 3.14
|
||||
uses: actions/setup-python@v6
|
||||
- name: Use Python 3.12
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.14'
|
||||
python-version: '3.12'
|
||||
cache: 'pip'
|
||||
|
||||
- name: Install Fluent dependencies
|
||||
|
||||
10
.github/workflows/font_tests.yml
vendored
10
.github/workflows/font_tests.yml
vendored
@ -36,22 +36,22 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Use Python 3.14
|
||||
uses: actions/setup-python@v6
|
||||
- name: Use Python 3.12
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.14'
|
||||
python-version: '3.12'
|
||||
cache: 'pip'
|
||||
|
||||
- name: Install Fonttools
|
||||
|
||||
4
.github/workflows/lint.yml
vendored
4
.github/workflows/lint.yml
vendored
@ -15,12 +15,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
|
||||
8
.github/workflows/publish_release.yml
vendored
8
.github/workflows/publish_release.yml
vendored
@ -17,12 +17,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
@ -34,4 +34,6 @@ jobs:
|
||||
run: npx gulp dist
|
||||
|
||||
- name: Publish the `pdfjs-dist` library to NPM
|
||||
run: npm publish ./build/dist
|
||||
run: npm publish ./build/dist --provenance
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
6
.github/workflows/publish_website.yml
vendored
6
.github/workflows/publish_website.yml
vendored
@ -17,12 +17,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
@ -49,7 +49,7 @@ jobs:
|
||||
INPUT_PATH: build/gh-pages
|
||||
|
||||
- name: Upload the website
|
||||
uses: actions/upload-artifact@v5
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: github-pages
|
||||
path: ${{ runner.temp }}/website.tar
|
||||
|
||||
4
.github/workflows/types_tests.yml
vendored
4
.github/workflows/types_tests.yml
vendored
@ -15,12 +15,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
|
||||
7
.gitpod.Dockerfile
vendored
Normal file
7
.gitpod.Dockerfile
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
FROM gitpod/workspace-full-vnc
|
||||
|
||||
USER gitpod
|
||||
|
||||
RUN sudo apt-get update && \
|
||||
sudo apt-get install -yq firefox && \
|
||||
sudo rm -rf /var/lib/apt/lists/*
|
||||
13
.gitpod.yml
Normal file
13
.gitpod.yml
Normal file
@ -0,0 +1,13 @@
|
||||
image:
|
||||
file: .gitpod.Dockerfile
|
||||
tasks:
|
||||
- command: |
|
||||
gp await-port 8888 && gp preview $(gp url 8888)/web/viewer.html && echo '[{"name": "Firefox","path": "/usr/bin/firefox"}]' | jq '.' > test/resources/browser_manifests/browser_manifest.json
|
||||
|
||||
- init: npm install -g gulp-cli && npm install
|
||||
command: gulp server
|
||||
ports:
|
||||
- port: 8888
|
||||
onOpen: ignore
|
||||
- port: 6080
|
||||
onOpen: ignore
|
||||
@ -5,10 +5,7 @@ node_modules/
|
||||
external/bcmaps/
|
||||
external/builder/fixtures/
|
||||
external/builder/fixtures_babel/
|
||||
external/openjpeg/
|
||||
external/qcms/
|
||||
external/quickjs/
|
||||
test/stats/results/
|
||||
test/tmp/
|
||||
test/pdfs/
|
||||
web/locale/
|
||||
|
||||
15
.prettierrc
15
.prettierrc
@ -9,17 +9,10 @@
|
||||
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["tsconfig.json", ".prettierrc"],
|
||||
"options": {
|
||||
"parser": "json"
|
||||
}
|
||||
files: ["tsconfig.json"],
|
||||
options: {
|
||||
parser: "json",
|
||||
},
|
||||
},
|
||||
{
|
||||
"files": ["**/*.html"],
|
||||
"options": {
|
||||
"parser": "html",
|
||||
"printWidth": 160
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -6,7 +6,6 @@ external/bcmaps/
|
||||
external/builder/fixtures/
|
||||
external/builder/fixtures_babel/
|
||||
external/quickjs/
|
||||
test/stats/results/
|
||||
test/tmp/
|
||||
test/pdfs/
|
||||
web/locale/
|
||||
|
||||
@ -18,18 +18,4 @@ export default {
|
||||
},
|
||||
],
|
||||
},
|
||||
ignore: [
|
||||
"build/**",
|
||||
"l10n/**",
|
||||
"docs/**",
|
||||
"node_modules/**",
|
||||
"external/bcmaps/**",
|
||||
"external/builder/fixtures/**",
|
||||
"external/builder/fixtures_babel/**",
|
||||
"external/quickjs/**",
|
||||
"test/tmp/**",
|
||||
"test/pdfs/**",
|
||||
"web/locale/**",
|
||||
"*~/**",
|
||||
],
|
||||
};
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# PDF.js [](https://github.com/mozilla/pdf.js/actions/workflows/ci.yml?query=branch%3Amaster)
|
||||
# PDF.js [](https://github.com/mozilla/pdf.js/actions?query=workflow%3ACI+branch%3Amaster)
|
||||
|
||||
[PDF.js](https://mozilla.github.io/pdf.js/) is a Portable Document Format (PDF) viewer that is built with HTML5.
|
||||
|
||||
@ -14,7 +14,7 @@ get involved, visit:
|
||||
+ [Issue Reporting Guide](https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md)
|
||||
+ [Code Contribution Guide](https://github.com/mozilla/pdf.js/wiki/Contributing)
|
||||
+ [Frequently Asked Questions](https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions)
|
||||
+ [Good Beginner Bugs](https://github.com/mozilla/pdf.js/issues?q=is%3Aissue%20state%3Aopen%20label%3Agood-beginner-bug)
|
||||
+ [Good Beginner Bugs](https://github.com/mozilla/pdf.js/issues?direction=desc&labels=good-beginner-bug&page=1&sort=created&state=open)
|
||||
+ [Projects](https://github.com/mozilla/pdf.js/projects)
|
||||
|
||||
Feel free to stop by our [Matrix room](https://chat.mozilla.org/#/room/#pdfjs:mozilla.org) for questions or guidance.
|
||||
@ -57,6 +57,9 @@ all dependencies for PDF.js:
|
||||
|
||||
$ npm install
|
||||
|
||||
> [!NOTE]
|
||||
> On MacOS M1/M2 you may see some `node-gyp`-related errors when running `npm install`. This is because one of our dependencies, `"canvas"`, does not provide pre-built binaries for this platform and instead `npm` will try to build it from source. Please make sure to first install the necessary native dependencies using `brew`: https://github.com/Automattic/node-canvas#compiling.
|
||||
|
||||
Finally, you need to start a local web server as some browsers do not allow opening
|
||||
PDF files using a `file://` URL. Run:
|
||||
|
||||
@ -90,7 +93,7 @@ be loaded by `pdf.js`. The PDF.js files are large and should be minified for pro
|
||||
## Using PDF.js in a web application
|
||||
|
||||
To use PDF.js in a web application you can choose to use a pre-built version of the library
|
||||
or to build it from source. We supply pre-built versions for usage with NPM under
|
||||
or to build it from source. We supply pre-built versions for usage with NPM and Bower under
|
||||
the `pdfjs-dist` name. For more information and examples please refer to the
|
||||
[wiki page](https://github.com/mozilla/pdf.js/wiki/Setup-pdf.js-in-a-website) on this subject.
|
||||
|
||||
|
||||
@ -1,473 +0,0 @@
|
||||
import globals from "globals";
|
||||
|
||||
import import_ from "eslint-plugin-import";
|
||||
import jasmine from "eslint-plugin-jasmine";
|
||||
import json from "eslint-plugin-json";
|
||||
import noUnsanitized from "eslint-plugin-no-unsanitized";
|
||||
import perfectionist from "eslint-plugin-perfectionist";
|
||||
import prettierRecommended from "eslint-plugin-prettier/recommended";
|
||||
import unicorn from "eslint-plugin-unicorn";
|
||||
|
||||
const jsFiles = folder => {
|
||||
const prefix = folder === "." ? "" : folder + "/";
|
||||
return [prefix + "**/*.js", prefix + "**/*.jsm", prefix + "**/*.mjs"];
|
||||
};
|
||||
|
||||
// Include all files referenced in extensions/chromium/background.js
|
||||
const chromiumExtensionServiceWorkerFiles = [
|
||||
"extensions/chromium/extension-router.js",
|
||||
"extensions/chromium/options/migration.js",
|
||||
"extensions/chromium/pdfHandler.js",
|
||||
"extensions/chromium/preserve-referer.js",
|
||||
"extensions/chromium/suppress-update.js",
|
||||
"extensions/chromium/telemetry.js",
|
||||
];
|
||||
|
||||
export default [
|
||||
{
|
||||
ignores: [
|
||||
"**/build/",
|
||||
"**/l10n/",
|
||||
"**/docs/",
|
||||
"**/node_modules/",
|
||||
"external/bcmaps/",
|
||||
"external/builder/fixtures/",
|
||||
"external/builder/fixtures_babel/",
|
||||
"external/openjpeg/",
|
||||
"external/qcms/",
|
||||
"external/quickjs/",
|
||||
"test/stats/results/",
|
||||
"test/tmp/",
|
||||
"test/pdfs/",
|
||||
"web/locale/",
|
||||
"web/wasm/",
|
||||
"**/*~/",
|
||||
],
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
Base configuration
|
||||
\* ======================================================================== */
|
||||
|
||||
prettierRecommended,
|
||||
{
|
||||
files: ["**/*.json"],
|
||||
...json.configs.recommended,
|
||||
},
|
||||
{
|
||||
files: jsFiles("."),
|
||||
ignores: chromiumExtensionServiceWorkerFiles,
|
||||
languageOptions: {
|
||||
globals: globals.browser,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: jsFiles("."),
|
||||
|
||||
plugins: {
|
||||
import: import_.flatConfigs.recommended.plugins.import,
|
||||
json,
|
||||
"no-unsanitized": noUnsanitized,
|
||||
perfectionist,
|
||||
unicorn,
|
||||
},
|
||||
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.worker,
|
||||
PDFJSDev: "readonly",
|
||||
__raw_import__: "readonly",
|
||||
},
|
||||
|
||||
ecmaVersion: 2025,
|
||||
sourceType: "module",
|
||||
},
|
||||
|
||||
rules: {
|
||||
"import/export": "error",
|
||||
"import/exports-last": "error",
|
||||
"import/extensions": ["error", "always", { ignorePackages: true }],
|
||||
"import/first": "error",
|
||||
"import/named": "error",
|
||||
"import/no-cycle": "error",
|
||||
"import/no-empty-named-blocks": "error",
|
||||
"import/no-commonjs": "error",
|
||||
"import/no-mutable-exports": "error",
|
||||
"import/no-restricted-paths": [
|
||||
"error",
|
||||
{
|
||||
zones: [
|
||||
{
|
||||
target: "./web",
|
||||
from: "./src",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
"import/no-self-import": "error",
|
||||
"import/no-unresolved": [
|
||||
"error",
|
||||
{
|
||||
ignore: [
|
||||
"display",
|
||||
"pdfjs",
|
||||
"pdfjs-lib",
|
||||
"pdfjs-web",
|
||||
"web",
|
||||
"fluent-bundle",
|
||||
"fluent-dom",
|
||||
// See https://github.com/firebase/firebase-admin-node/discussions/1359.
|
||||
"eslint-plugin-perfectionist",
|
||||
],
|
||||
},
|
||||
],
|
||||
"no-unsanitized/method": "error",
|
||||
"no-unsanitized/property": "error",
|
||||
"perfectionist/sort-exports": "error",
|
||||
"perfectionist/sort-named-exports": "error",
|
||||
"unicorn/no-abusive-eslint-disable": "error",
|
||||
"unicorn/no-array-reduce": ["error", { allowSimpleOperations: true }],
|
||||
"unicorn/no-console-spaces": "error",
|
||||
"unicorn/no-instanceof-builtins": "error",
|
||||
"unicorn/no-invalid-remove-event-listener": "error",
|
||||
"unicorn/no-new-buffer": "error",
|
||||
"unicorn/no-single-promise-in-promise-methods": "error",
|
||||
"unicorn/no-typeof-undefined": ["error", { checkGlobalVariables: false }],
|
||||
"unicorn/no-unnecessary-array-flat-depth": "error",
|
||||
"unicorn/no-unnecessary-array-splice-count": "error",
|
||||
"unicorn/no-unnecessary-slice-end": "error",
|
||||
"unicorn/no-useless-promise-resolve-reject": "error",
|
||||
"unicorn/no-useless-spread": "error",
|
||||
"unicorn/prefer-array-find": "error",
|
||||
"unicorn/prefer-array-flat": "error",
|
||||
"unicorn/prefer-array-flat-map": "error",
|
||||
"unicorn/prefer-array-index-of": "error",
|
||||
"unicorn/prefer-array-some": "error",
|
||||
"unicorn/prefer-at": "error",
|
||||
"unicorn/prefer-date-now": "error",
|
||||
"unicorn/prefer-dom-node-append": "error",
|
||||
"unicorn/prefer-dom-node-remove": "error",
|
||||
"unicorn/prefer-import-meta-properties": "error",
|
||||
"unicorn/prefer-includes": "error",
|
||||
"unicorn/prefer-logical-operator-over-ternary": "error",
|
||||
"unicorn/prefer-modern-dom-apis": "error",
|
||||
"unicorn/prefer-modern-math-apis": "error",
|
||||
"unicorn/prefer-negative-index": "error",
|
||||
"unicorn/prefer-optional-catch-binding": "error",
|
||||
"unicorn/prefer-regexp-test": "error",
|
||||
"unicorn/prefer-single-call": "error",
|
||||
"unicorn/prefer-string-replace-all": "error",
|
||||
"unicorn/prefer-string-starts-ends-with": "error",
|
||||
"unicorn/prefer-ternary": ["error", "only-single-line"],
|
||||
"unicorn/throw-new-error": "error",
|
||||
|
||||
// Possible errors
|
||||
"for-direction": "error",
|
||||
"getter-return": "error",
|
||||
"no-async-promise-executor": "error",
|
||||
"no-cond-assign": ["error", "except-parens"],
|
||||
"no-constant-condition": ["error", { checkLoops: false }],
|
||||
"no-debugger": "error",
|
||||
"no-dupe-args": "error",
|
||||
"no-dupe-else-if": "error",
|
||||
"no-dupe-keys": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-empty": ["error", { allowEmptyCatch: true }],
|
||||
"no-empty-character-class": "error",
|
||||
"no-ex-assign": "error",
|
||||
"no-extra-boolean-cast": "error",
|
||||
"no-func-assign": "error",
|
||||
"no-inner-declarations": ["error", "functions"],
|
||||
"no-invalid-regexp": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-loss-of-precision": "error",
|
||||
"no-obj-calls": "error",
|
||||
"no-promise-executor-return": "error",
|
||||
"no-regex-spaces": "error",
|
||||
"no-setter-return": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-template-curly-in-string": "error",
|
||||
"no-unexpected-multiline": "error",
|
||||
"no-unreachable": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unsafe-negation": "error",
|
||||
"no-unsafe-optional-chaining": [
|
||||
"error",
|
||||
{ disallowArithmeticOperators: true },
|
||||
],
|
||||
"no-unused-private-class-members": "error",
|
||||
"use-isnan": ["error", { enforceForIndexOf: true }],
|
||||
"valid-typeof": ["error", { requireStringLiterals: true }],
|
||||
|
||||
// Best Practices
|
||||
"accessor-pairs": [
|
||||
"error",
|
||||
{ setWithoutGet: true, enforceForClassMembers: true },
|
||||
],
|
||||
"consistent-return": "error",
|
||||
curly: ["error", "all"],
|
||||
"default-case-last": "error",
|
||||
"dot-notation": "error",
|
||||
eqeqeq: ["error", "always"],
|
||||
"grouped-accessor-pairs": ["error", "getBeforeSet"],
|
||||
"no-alert": "error",
|
||||
"no-caller": "error",
|
||||
"no-else-return": "error",
|
||||
"no-empty-pattern": "error",
|
||||
"no-eval": "error",
|
||||
"no-extend-native": "error",
|
||||
"no-extra-bind": "error",
|
||||
"no-extra-label": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-floating-decimal": "error",
|
||||
"no-global-assign": "error",
|
||||
"no-implied-eval": "error",
|
||||
"no-iterator": "error",
|
||||
"no-lone-blocks": "error",
|
||||
"no-lonely-if": "error",
|
||||
"no-multi-str": "error",
|
||||
"no-new": "error",
|
||||
"no-new-func": "error",
|
||||
"no-new-symbol": "error",
|
||||
"no-new-wrappers": "error",
|
||||
"no-octal-escape": "error",
|
||||
"no-octal": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
"no-self-assign": "error",
|
||||
"no-self-compare": "error",
|
||||
"no-throw-literal": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-useless-call": "error",
|
||||
"no-useless-catch": "error",
|
||||
"no-useless-concat": "error",
|
||||
"no-useless-escape": "error",
|
||||
"no-useless-return": "error",
|
||||
"prefer-promise-reject-errors": "error",
|
||||
"prefer-spread": "error",
|
||||
"wrap-iife": ["error", "any"],
|
||||
yoda: ["error", "never", { exceptRange: true }],
|
||||
|
||||
// Strict Mode
|
||||
strict: ["off", "global"],
|
||||
|
||||
// Variables
|
||||
"no-delete-var": "error",
|
||||
"no-label-var": "error",
|
||||
"no-shadow": "error",
|
||||
"no-shadow-restricted-names": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-undef": ["error", { typeof: true }],
|
||||
"no-unused-vars": ["error", { vars: "all", args: "none" }],
|
||||
"no-use-before-define": [
|
||||
"error",
|
||||
{ functions: false, classes: false, variables: false },
|
||||
],
|
||||
|
||||
// Stylistic Issues
|
||||
"lines-between-class-members": ["error", "always"],
|
||||
"max-len": ["error", { code: 1000, comments: 80, ignoreUrls: true }],
|
||||
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
||||
"no-array-constructor": "error",
|
||||
"no-multiple-empty-lines": ["error", { max: 1, maxEOF: 0, maxBOF: 1 }],
|
||||
"no-nested-ternary": "error",
|
||||
"no-new-object": "error",
|
||||
"no-restricted-syntax": [
|
||||
"error",
|
||||
{
|
||||
selector:
|
||||
"BinaryExpression[operator='instanceof'][right.name='Object']",
|
||||
message: "Use `typeof` rather than `instanceof Object`.",
|
||||
},
|
||||
{
|
||||
selector: "CallExpression[callee.name='assert'][arguments.length!=2]",
|
||||
message: "`assert()` must always be invoked with two arguments.",
|
||||
},
|
||||
{
|
||||
selector: "CallExpression[callee.name='isCmd'][arguments.length<2]",
|
||||
message:
|
||||
"Use `instanceof Cmd` rather than `isCmd()` with one argument.",
|
||||
},
|
||||
{
|
||||
selector: "CallExpression[callee.name='isDict'][arguments.length<2]",
|
||||
message:
|
||||
"Use `instanceof Dict` rather than `isDict()` with one argument.",
|
||||
},
|
||||
{
|
||||
selector: "CallExpression[callee.name='isName'][arguments.length<2]",
|
||||
message:
|
||||
"Use `instanceof Name` rather than `isName()` with one argument.",
|
||||
},
|
||||
{
|
||||
selector: "NewExpression[callee.name='Cmd']",
|
||||
message: "Use `Cmd.get()` rather than `new Cmd()`.",
|
||||
},
|
||||
{
|
||||
selector: "NewExpression[callee.name='Name']",
|
||||
message: "Use `Name.get()` rather than `new Name()`.",
|
||||
},
|
||||
{
|
||||
selector: "NewExpression[callee.name='ObjectLoader']",
|
||||
message:
|
||||
"Use `ObjectLoader.load()` rather than `new ObjectLoader()`.",
|
||||
},
|
||||
{
|
||||
selector: "NewExpression[callee.name='Ref']",
|
||||
message: "Use `Ref.get()` rather than `new Ref()`.",
|
||||
},
|
||||
{
|
||||
selector: "ExportNamedDeclaration[declaration]",
|
||||
message:
|
||||
"Separate the declaration and the export statement, using `export { ... }`.",
|
||||
},
|
||||
{
|
||||
selector: "ExportDefaultDeclaration:has(> :declaration)",
|
||||
message:
|
||||
"Separate the declaration and the export statement, using `export default <variable name>`.",
|
||||
},
|
||||
],
|
||||
"no-unneeded-ternary": "error",
|
||||
"operator-assignment": "error",
|
||||
"prefer-exponentiation-operator": "error",
|
||||
"spaced-comment": ["error", "always", { block: { balanced: true } }],
|
||||
|
||||
// ECMAScript 6
|
||||
"arrow-body-style": ["error", "as-needed"],
|
||||
"constructor-super": "error",
|
||||
"no-class-assign": "error",
|
||||
"no-const-assign": "error",
|
||||
"no-dupe-class-members": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-this-before-super": "error",
|
||||
"no-useless-computed-key": "error",
|
||||
"no-useless-constructor": "error",
|
||||
"no-useless-rename": "error",
|
||||
"no-var": "error",
|
||||
"object-shorthand": ["error", "always", { avoidQuotes: true }],
|
||||
"prefer-const": "error",
|
||||
"require-yield": "error",
|
||||
"sort-imports": ["error", { ignoreCase: true }],
|
||||
"template-curly-spacing": ["error", "never"],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: jsFiles("src"),
|
||||
rules: {
|
||||
"no-console": "error",
|
||||
},
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
Test-specific rules
|
||||
\* ======================================================================== */
|
||||
|
||||
{
|
||||
files: jsFiles("test"),
|
||||
|
||||
plugins: { jasmine },
|
||||
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.node,
|
||||
...globals.jasmine,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
...jasmine.configs.recommended.rules,
|
||||
"jasmine/new-line-before-expect": "off",
|
||||
"jasmine/new-line-between-declarations": "off",
|
||||
"jasmine/no-focused-tests": "error",
|
||||
"jasmine/no-pending-tests": "off",
|
||||
"jasmine/no-spec-dupes": ["error", "branch"],
|
||||
"jasmine/no-suite-dupes": ["error", "branch"],
|
||||
"jasmine/prefer-jasmine-matcher": "off",
|
||||
"jasmine/prefer-toHaveBeenCalledWith": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: jsFiles("test/unit"),
|
||||
rules: {
|
||||
"import/no-unresolved": ["error", { ignore: ["pdfjs/"] }],
|
||||
"no-console": ["error", { allow: ["warn", "error"] }],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: jsFiles("test/integration"),
|
||||
rules: {
|
||||
"no-console": ["error", { allow: ["warn", "error"] }],
|
||||
"no-restricted-syntax": [
|
||||
"error",
|
||||
{
|
||||
selector: "CallExpression[callee.name='waitForTimeout']",
|
||||
message:
|
||||
"`waitForTimeout` can cause intermittent failures and should not be used (see issue #17656 for replacements).",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
External libraries
|
||||
\* ======================================================================== */
|
||||
|
||||
{
|
||||
files: jsFiles("external"),
|
||||
|
||||
languageOptions: { globals: globals.node },
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
Examples
|
||||
\* ======================================================================== */
|
||||
|
||||
{
|
||||
files: jsFiles("examples"),
|
||||
|
||||
languageOptions: {
|
||||
globals: {
|
||||
pdfjsImageDecoders: false,
|
||||
pdfjsLib: false,
|
||||
pdfjsViewer: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
files: [...jsFiles("examples/node"), ...jsFiles("examples/webpack")],
|
||||
|
||||
languageOptions: { globals: globals.node },
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
Chromium extension
|
||||
\* ======================================================================== */
|
||||
|
||||
{
|
||||
files: jsFiles("extensions/chromium"),
|
||||
|
||||
languageOptions: {
|
||||
globals: globals.webextensions,
|
||||
sourceType: "script",
|
||||
},
|
||||
|
||||
rules: {
|
||||
"no-var": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: chromiumExtensionServiceWorkerFiles,
|
||||
|
||||
languageOptions: {
|
||||
globals: globals.serviceworker,
|
||||
sourceType: "script",
|
||||
},
|
||||
},
|
||||
|
||||
/* ======================================================================== *\
|
||||
Other
|
||||
\* ======================================================================== */
|
||||
{
|
||||
files: ["gulpfile.mjs"],
|
||||
languageOptions: { globals: globals.node },
|
||||
},
|
||||
];
|
||||
11
examples/.eslintrc
Normal file
11
examples/.eslintrc
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": [
|
||||
"../.eslintrc"
|
||||
],
|
||||
|
||||
"globals": {
|
||||
"pdfjsImageDecoders": false,
|
||||
"pdfjsLib": false,
|
||||
"pdfjsViewer": false,
|
||||
},
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2014 Mozilla Foundation
|
||||
|
||||
@ -15,29 +15,29 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<html dir="ltr" mozdisallowselectionprint>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="google" content="notranslate" />
|
||||
<title>PDF.js page viewer using built components</title>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="google" content="notranslate">
|
||||
<title>PDF.js page viewer using built components</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css" />
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css">
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
|
||||
<body tabindex="1">
|
||||
<div id="pageContainer" class="pdfViewer singlePageView"></div>
|
||||
<body tabindex="1">
|
||||
<div id="pageContainer" class="pdfViewer singlePageView"></div>
|
||||
|
||||
<script src="pageviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
<script src="pageviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2014 Mozilla Foundation
|
||||
|
||||
@ -15,37 +15,37 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<html dir="ltr" mozdisallowselectionprint>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="google" content="notranslate" />
|
||||
<title>PDF.js viewer using built components</title>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="google" content="notranslate">
|
||||
<title>PDF.js viewer using built components</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#viewerContainer {
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#viewerContainer {
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css" />
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css">
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
|
||||
<body tabindex="1">
|
||||
<div id="viewerContainer">
|
||||
<div id="viewer" class="pdfViewer"></div>
|
||||
</div>
|
||||
<body tabindex="1">
|
||||
<div id="viewerContainer">
|
||||
<div id="viewer" class="pdfViewer"></div>
|
||||
</div>
|
||||
|
||||
<script src="simpleviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
<script src="simpleviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2014 Mozilla Foundation
|
||||
|
||||
@ -15,37 +15,37 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<html dir="ltr" mozdisallowselectionprint>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="google" content="notranslate" />
|
||||
<title>PDF.js Single Page Viewer using built components</title>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="google" content="notranslate">
|
||||
<title>PDF.js Single Page Viewer using built components</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#viewerContainer {
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#viewerContainer {
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css" />
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css">
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
</head>
|
||||
|
||||
<body tabindex="1">
|
||||
<div id="viewerContainer">
|
||||
<div id="viewer" class="pdfViewer"></div>
|
||||
</div>
|
||||
<body tabindex="1">
|
||||
<div id="viewerContainer">
|
||||
<div id="viewer" class="pdfViewer"></div>
|
||||
</div>
|
||||
|
||||
<script src="singlepageviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
<script src="singlepageviewer.mjs" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2018 Mozilla Foundation
|
||||
|
||||
@ -15,26 +15,26 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<html dir="ltr" mozdisallowselectionprint>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="google" content="notranslate" />
|
||||
<title>PDF.js standalone JpegImage parser</title>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="google" content="notranslate">
|
||||
<title>PDF.js standalone JpegImage parser</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
body {
|
||||
background-color: #808080;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/image_decoders/pdf.image_decoders.mjs" type="module"></script>
|
||||
</head>
|
||||
<script src="../../node_modules/pdfjs-dist/image_decoders/pdf.image_decoders.mjs" type="module"></script>
|
||||
</head>
|
||||
|
||||
<body tabindex="1">
|
||||
<canvas id="jpegCanvas" width="0" height="0"></canvas>
|
||||
<body tabindex="1">
|
||||
<canvas id="jpegCanvas" width="0" height="0"></canvas>
|
||||
|
||||
<script src="jpeg_viewer.mjs" type="module"></script>
|
||||
</body>
|
||||
<script src="jpeg_viewer.mjs" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,71 +1,76 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>'Hello, world!' example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>'Hello, world!' example</h1>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>'Hello, world!' example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr"></canvas>
|
||||
<h1>'Hello, world!' example</h1>
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr;"></canvas>
|
||||
|
||||
<script id="script" type="module">
|
||||
//
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
//
|
||||
const url = "./helloworld.pdf";
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
|
||||
//
|
||||
// The workerSrc property shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "../../node_modules/pdfjs-dist/build/pdf.worker.mjs";
|
||||
<script id="script" type="module">
|
||||
//
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
//
|
||||
const url = './helloworld.pdf';
|
||||
|
||||
//
|
||||
// Asynchronous download PDF
|
||||
//
|
||||
const loadingTask = pdfjsLib.getDocument(url);
|
||||
const pdf = await loadingTask.promise;
|
||||
//
|
||||
// Fetch the first page
|
||||
//
|
||||
const page = await pdf.getPage(1);
|
||||
const scale = 1.5;
|
||||
const viewport = page.getViewport({ scale });
|
||||
// Support HiDPI-screens.
|
||||
const outputScale = window.devicePixelRatio || 1;
|
||||
//
|
||||
// The workerSrc property shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc =
|
||||
'../../node_modules/pdfjs-dist/build/pdf.worker.mjs';
|
||||
|
||||
//
|
||||
// Prepare canvas using PDF page dimensions
|
||||
//
|
||||
const canvas = document.getElementById("the-canvas");
|
||||
const context = canvas.getContext("2d");
|
||||
//
|
||||
// Asynchronous download PDF
|
||||
//
|
||||
const loadingTask = pdfjsLib.getDocument(url);
|
||||
const pdf = await loadingTask.promise;
|
||||
//
|
||||
// Fetch the first page
|
||||
//
|
||||
const page = await pdf.getPage(1);
|
||||
const scale = 1.5;
|
||||
const viewport = page.getViewport({ scale });
|
||||
// Support HiDPI-screens.
|
||||
const outputScale = window.devicePixelRatio || 1;
|
||||
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
//
|
||||
// Prepare canvas using PDF page dimensions
|
||||
//
|
||||
const canvas = document.getElementById("the-canvas");
|
||||
const context = canvas.getContext("2d");
|
||||
|
||||
const transform = outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
|
||||
//
|
||||
// Render PDF page into canvas context
|
||||
//
|
||||
const renderContext = {
|
||||
canvasContext: context,
|
||||
transform,
|
||||
viewport,
|
||||
};
|
||||
page.render(renderContext);
|
||||
</script>
|
||||
const transform = outputScale !== 1
|
||||
? [outputScale, 0, 0, outputScale, 0, 0]
|
||||
: null;
|
||||
|
||||
<hr />
|
||||
<h2>JavaScript code:</h2>
|
||||
<pre id="code"></pre>
|
||||
<script>
|
||||
document.getElementById("code").textContent = document.getElementById("script").text;
|
||||
</script>
|
||||
</body>
|
||||
//
|
||||
// Render PDF page into canvas context
|
||||
//
|
||||
const renderContext = {
|
||||
canvasContext: context,
|
||||
transform,
|
||||
viewport,
|
||||
};
|
||||
page.render(renderContext);
|
||||
</script>
|
||||
|
||||
<hr>
|
||||
<h2>JavaScript code:</h2>
|
||||
<pre id="code"></pre>
|
||||
<script>
|
||||
document.getElementById('code').textContent =
|
||||
document.getElementById('script').text;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,77 +1,81 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>'Hello, world!' base64 example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>'Hello, world!' example</h1>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>'Hello, world!' base64 example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr"></canvas>
|
||||
<h1>'Hello, world!' example</h1>
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr;"></canvas>
|
||||
|
||||
<script id="script" type="module">
|
||||
// atob() is used to convert base64 encoded PDF to binary-like data.
|
||||
// (See also https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/
|
||||
// Base64_encoding_and_decoding.)
|
||||
var pdfData = atob(
|
||||
"JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog" +
|
||||
"IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv" +
|
||||
"TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K" +
|
||||
"Pj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAg" +
|
||||
"L1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+" +
|
||||
"PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9u" +
|
||||
"dAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2Jq" +
|
||||
"Cgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJU" +
|
||||
"CjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVu" +
|
||||
"ZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4g" +
|
||||
"CjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAw" +
|
||||
"MDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9v" +
|
||||
"dCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G"
|
||||
);
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
|
||||
//
|
||||
// The workerSrc property shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "../../node_modules/pdfjs-dist/build/pdf.worker.mjs";
|
||||
<script id="script" type="module">
|
||||
// atob() is used to convert base64 encoded PDF to binary-like data.
|
||||
// (See also https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/
|
||||
// Base64_encoding_and_decoding.)
|
||||
var pdfData = atob(
|
||||
'JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog' +
|
||||
'IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv' +
|
||||
'TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K' +
|
||||
'Pj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAg' +
|
||||
'L1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+' +
|
||||
'PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9u' +
|
||||
'dAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2Jq' +
|
||||
'Cgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJU' +
|
||||
'CjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVu' +
|
||||
'ZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4g' +
|
||||
'CjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAw' +
|
||||
'MDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9v' +
|
||||
'dCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G');
|
||||
|
||||
// Opening PDF by passing its binary data as a string. It is still preferable
|
||||
// to use Uint8Array, but string or array-like structure will work too.
|
||||
var loadingTask = pdfjsLib.getDocument({ data: pdfData });
|
||||
var pdf = await loadingTask.promise;
|
||||
// Fetch the first page.
|
||||
var page = await pdf.getPage(1);
|
||||
var scale = 1.5;
|
||||
var viewport = page.getViewport({ scale: scale });
|
||||
// Support HiDPI-screens.
|
||||
var outputScale = window.devicePixelRatio || 1;
|
||||
//
|
||||
// The workerSrc property shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc =
|
||||
'../../node_modules/pdfjs-dist/build/pdf.worker.mjs';
|
||||
|
||||
// Prepare canvas using PDF page dimensions.
|
||||
var canvas = document.getElementById("the-canvas");
|
||||
var context = canvas.getContext("2d");
|
||||
// Opening PDF by passing its binary data as a string. It is still preferable
|
||||
// to use Uint8Array, but string or array-like structure will work too.
|
||||
var loadingTask = pdfjsLib.getDocument({ data: pdfData, });
|
||||
var pdf = await loadingTask.promise;
|
||||
// Fetch the first page.
|
||||
var page = await pdf.getPage(1);
|
||||
var scale = 1.5;
|
||||
var viewport = page.getViewport({ scale: scale, });
|
||||
// Support HiDPI-screens.
|
||||
var outputScale = window.devicePixelRatio || 1;
|
||||
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
// Prepare canvas using PDF page dimensions.
|
||||
var canvas = document.getElementById('the-canvas');
|
||||
var context = canvas.getContext('2d');
|
||||
|
||||
var transform = outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
|
||||
// Render PDF page into canvas context.
|
||||
var renderContext = {
|
||||
canvasContext: context,
|
||||
transform,
|
||||
viewport,
|
||||
};
|
||||
page.render(renderContext);
|
||||
</script>
|
||||
var transform = outputScale !== 1
|
||||
? [outputScale, 0, 0, outputScale, 0, 0]
|
||||
: null;
|
||||
|
||||
<hr />
|
||||
<h2>JavaScript code:</h2>
|
||||
<pre id="code"></pre>
|
||||
<script>
|
||||
document.getElementById("code").textContent = document.getElementById("script").text;
|
||||
</script>
|
||||
</body>
|
||||
// Render PDF page into canvas context.
|
||||
var renderContext = {
|
||||
canvasContext: context,
|
||||
transform,
|
||||
viewport,
|
||||
};
|
||||
page.render(renderContext);
|
||||
</script>
|
||||
|
||||
<hr>
|
||||
<h2>JavaScript code:</h2>
|
||||
<pre id="code"></pre>
|
||||
<script>
|
||||
document.getElementById('code').textContent =
|
||||
document.getElementById('script').text;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,134 +1,139 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Previous/Next example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>'Previous/Next' example</h1>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Previous/Next example</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div>
|
||||
<button id="prev" type="button">Previous</button>
|
||||
<button id="next" type="button">Next</button>
|
||||
|
||||
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
<h1>'Previous/Next' example</h1>
|
||||
|
||||
<div>
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr"></canvas>
|
||||
</div>
|
||||
<div>
|
||||
<button id="prev" type="button">Previous</button>
|
||||
<button id="next" type="button">Next</button>
|
||||
|
||||
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<div>
|
||||
<canvas id="the-canvas" style="border: 1px solid black; direction: ltr;"></canvas>
|
||||
</div>
|
||||
|
||||
<script id="script" type="module">
|
||||
//
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
//
|
||||
var url = "../../web/compressed.tracemonkey-pldi-09.pdf";
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
|
||||
//
|
||||
// In cases when the pdf.worker.js is located at the different folder than the
|
||||
// PDF.js's one, or the PDF.js is executed via eval(), the workerSrc property
|
||||
// shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "../../node_modules/pdfjs-dist/build/pdf.worker.mjs";
|
||||
<script id="script" type="module">
|
||||
//
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
//
|
||||
var url = '../../web/compressed.tracemonkey-pldi-09.pdf';
|
||||
|
||||
var pdfDoc = null,
|
||||
pageNum = 1,
|
||||
pageRendering = false,
|
||||
pageNumPending = null,
|
||||
scale = 0.8,
|
||||
canvas = document.getElementById("the-canvas"),
|
||||
ctx = canvas.getContext("2d");
|
||||
//
|
||||
// In cases when the pdf.worker.js is located at the different folder than the
|
||||
// PDF.js's one, or the PDF.js is executed via eval(), the workerSrc property
|
||||
// shall be specified.
|
||||
//
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc =
|
||||
'../../node_modules/pdfjs-dist/build/pdf.worker.mjs';
|
||||
|
||||
/**
|
||||
* Get page info from document, resize canvas accordingly, and render page.
|
||||
* @param num Page number.
|
||||
*/
|
||||
function renderPage(num) {
|
||||
pageRendering = true;
|
||||
// Using promise to fetch the page
|
||||
pdfDoc.getPage(num).then(function (page) {
|
||||
var viewport = page.getViewport({ scale: scale });
|
||||
// Support HiDPI-screens.
|
||||
var outputScale = window.devicePixelRatio || 1;
|
||||
var pdfDoc = null,
|
||||
pageNum = 1,
|
||||
pageRendering = false,
|
||||
pageNumPending = null,
|
||||
scale = 0.8,
|
||||
canvas = document.getElementById('the-canvas'),
|
||||
ctx = canvas.getContext('2d');
|
||||
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
/**
|
||||
* Get page info from document, resize canvas accordingly, and render page.
|
||||
* @param num Page number.
|
||||
*/
|
||||
function renderPage(num) {
|
||||
pageRendering = true;
|
||||
// Using promise to fetch the page
|
||||
pdfDoc.getPage(num).then(function(page) {
|
||||
var viewport = page.getViewport({ scale: scale, });
|
||||
// Support HiDPI-screens.
|
||||
var outputScale = window.devicePixelRatio || 1;
|
||||
|
||||
var transform = outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
canvas.style.width = Math.floor(viewport.width) + "px";
|
||||
canvas.style.height = Math.floor(viewport.height) + "px";
|
||||
|
||||
// Render PDF page into canvas context
|
||||
var renderContext = {
|
||||
canvasContext: ctx,
|
||||
transform: transform,
|
||||
viewport: viewport,
|
||||
};
|
||||
var renderTask = page.render(renderContext);
|
||||
var transform = outputScale !== 1
|
||||
? [outputScale, 0, 0, outputScale, 0, 0]
|
||||
: null;
|
||||
|
||||
// Wait for rendering to finish
|
||||
renderTask.promise.then(function () {
|
||||
pageRendering = false;
|
||||
if (pageNumPending !== null) {
|
||||
// New page rendering is pending
|
||||
renderPage(pageNumPending);
|
||||
pageNumPending = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
// Render PDF page into canvas context
|
||||
var renderContext = {
|
||||
canvasContext: ctx,
|
||||
transform: transform,
|
||||
viewport: viewport,
|
||||
};
|
||||
var renderTask = page.render(renderContext);
|
||||
|
||||
// Update page counters
|
||||
document.getElementById("page_num").textContent = num;
|
||||
}
|
||||
|
||||
/**
|
||||
* If another page rendering in progress, waits until the rendering is
|
||||
* finished. Otherwise, executes rendering immediately.
|
||||
*/
|
||||
function queueRenderPage(num) {
|
||||
if (pageRendering) {
|
||||
pageNumPending = num;
|
||||
} else {
|
||||
renderPage(num);
|
||||
// Wait for rendering to finish
|
||||
renderTask.promise.then(function () {
|
||||
pageRendering = false;
|
||||
if (pageNumPending !== null) {
|
||||
// New page rendering is pending
|
||||
renderPage(pageNumPending);
|
||||
pageNumPending = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Displays previous page.
|
||||
*/
|
||||
function onPrevPage() {
|
||||
if (pageNum <= 1) {
|
||||
return;
|
||||
}
|
||||
pageNum--;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("prev").addEventListener("click", onPrevPage);
|
||||
// Update page counters
|
||||
document.getElementById('page_num').textContent = num;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays next page.
|
||||
*/
|
||||
function onNextPage() {
|
||||
if (pageNum >= pdfDoc.numPages) {
|
||||
return;
|
||||
}
|
||||
pageNum++;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("next").addEventListener("click", onNextPage);
|
||||
/**
|
||||
* If another page rendering in progress, waits until the rendering is
|
||||
* finished. Otherwise, executes rendering immediately.
|
||||
*/
|
||||
function queueRenderPage(num) {
|
||||
if (pageRendering) {
|
||||
pageNumPending = num;
|
||||
} else {
|
||||
renderPage(num);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
var loadingTask = pdfjsLib.getDocument(url);
|
||||
pdfDoc = await loadingTask.promise;
|
||||
document.getElementById("page_count").textContent = pdfDoc.numPages;
|
||||
/**
|
||||
* Displays previous page.
|
||||
*/
|
||||
function onPrevPage() {
|
||||
if (pageNum <= 1) {
|
||||
return;
|
||||
}
|
||||
pageNum--;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById('prev').addEventListener('click', onPrevPage);
|
||||
|
||||
// Initial/first page rendering
|
||||
renderPage(pageNum);
|
||||
</script>
|
||||
</body>
|
||||
/**
|
||||
* Displays next page.
|
||||
*/
|
||||
function onNextPage() {
|
||||
if (pageNum >= pdfDoc.numPages) {
|
||||
return;
|
||||
}
|
||||
pageNum++;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById('next').addEventListener('click', onNextPage);
|
||||
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
var loadingTask = pdfjsLib.getDocument(url);
|
||||
pdfDoc = await loadingTask.promise;
|
||||
document.getElementById('page_count').textContent = pdfDoc.numPages;
|
||||
|
||||
// Initial/first page rendering
|
||||
renderPage(pageNum);
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -113,8 +113,8 @@ footer {
|
||||
background-color: rgb(0 0 0 / 0);
|
||||
font-size: 1.2rem;
|
||||
color: rgb(255 255 255 / 1);
|
||||
background-image:
|
||||
url(images/div_line_left.png), url(images/div_line_right.png);
|
||||
background-image: url(images/div_line_left.png),
|
||||
url(images/div_line_right.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left, right;
|
||||
background-size: 0.2rem, 0.2rem;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2016 Mozilla Foundation
|
||||
|
||||
@ -16,13 +16,13 @@ limitations under the License.
|
||||
-->
|
||||
<html dir="ltr">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
|
||||
<title>PDF.js viewer</title>
|
||||
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css" />
|
||||
<link rel="stylesheet" type="text/css" href="viewer.css" />
|
||||
<link rel="stylesheet" href="../../node_modules/pdfjs-dist/web/pdf_viewer.css">
|
||||
<link rel="stylesheet" type="text/css" href="viewer.css">
|
||||
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="../../node_modules/pdfjs-dist/web/pdf_viewer.mjs" type="module"></script>
|
||||
@ -46,12 +46,12 @@ limitations under the License.
|
||||
<button class="toolbarButton pageUp" title="Previous Page" id="previous" type="button"></button>
|
||||
<button class="toolbarButton pageDown" title="Next Page" id="next" type="button"></button>
|
||||
|
||||
<input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" />
|
||||
<input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1">
|
||||
|
||||
<button class="toolbarButton zoomOut" title="Zoom Out" id="zoomOut" type="button"></button>
|
||||
<button class="toolbarButton zoomIn" title="Zoom In" id="zoomIn" type="button"></button>
|
||||
</footer>
|
||||
|
||||
<script src="viewer.mjs" type="module"></script>
|
||||
<script src="viewer.mjs" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -91,10 +91,10 @@ const PDFViewerApplication = {
|
||||
let key = "pdfjs-loading-error";
|
||||
if (reason instanceof pdfjsLib.InvalidPDFException) {
|
||||
key = "pdfjs-invalid-file-error";
|
||||
} else if (reason instanceof pdfjsLib.ResponseException) {
|
||||
key = reason.missing
|
||||
? "pdfjs-missing-file-error"
|
||||
: "pdfjs-unexpected-response-error";
|
||||
} else if (reason instanceof pdfjsLib.MissingPDFException) {
|
||||
key = "pdfjs-missing-file-error";
|
||||
} else if (reason instanceof pdfjsLib.UnexpectedResponseException) {
|
||||
key = "pdfjs-unexpected-response-error";
|
||||
}
|
||||
self.l10n.get(key).then(msg => {
|
||||
self.error(msg, { message: reason?.message });
|
||||
|
||||
9
examples/node/.eslintrc
Normal file
9
examples/node/.eslintrc
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": [
|
||||
"../.eslintrc"
|
||||
],
|
||||
|
||||
"env": {
|
||||
"node": true,
|
||||
},
|
||||
}
|
||||
@ -9,7 +9,9 @@ Install the dependencies and build the PDF.js library:
|
||||
$ npm install
|
||||
$ gulp dist-install
|
||||
|
||||
Run the example to convert the first page of a PDF file to a PNG image:
|
||||
Install the Node canvas library and run the example to convert the first page of a
|
||||
PDF file to a PNG image:
|
||||
|
||||
$ npm install canvas
|
||||
$ cd examples/node/pdf2png
|
||||
$ node pdf2png.mjs
|
||||
$ node pdf2png.js
|
||||
|
||||
@ -57,7 +57,7 @@ try {
|
||||
const renderTask = page.render(renderContext);
|
||||
await renderTask.promise;
|
||||
// Convert the canvas to an image buffer.
|
||||
const image = canvasAndContext.canvas.toBuffer("image/png");
|
||||
const image = canvasAndContext.canvas.toBuffer();
|
||||
fs.writeFile("output.png", image, function (error) {
|
||||
if (error) {
|
||||
console.error("Error: " + error);
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Text-only PDF.js example</title>
|
||||
<script src="../../node_modules/pdfjs-dist/build/pdf.mjs" type="module"></script>
|
||||
<script src="pdf2svg.mjs" type="module"></script>
|
||||
</head>
|
||||
<body>
|
||||
<p>Text-only PDF.js example</p>
|
||||
<div id="pageContainer" style="display: inline-block; border: solid 1px black"></div>
|
||||
</body>
|
||||
</head>
|
||||
<body>
|
||||
<p>Text-only PDF.js example</p>
|
||||
<div id="pageContainer" style="display: inline-block; border: solid 1px black;">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
9
examples/webpack/.eslintrc
Normal file
9
examples/webpack/.eslintrc
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": [
|
||||
"../.eslintrc"
|
||||
],
|
||||
|
||||
"env": {
|
||||
"node": true,
|
||||
},
|
||||
}
|
||||
@ -1,11 +1,11 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>webpack example</title>
|
||||
<script src="../../build/webpack/main.bundle.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="theCanvas"></canvas>
|
||||
</body>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>webpack example</title>
|
||||
<script src="../../build/webpack/main.bundle.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="theCanvas"></canvas>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
36
extensions/chromium/.eslintrc
Normal file
36
extensions/chromium/.eslintrc
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"extends": [
|
||||
../../.eslintrc
|
||||
],
|
||||
|
||||
"env": {
|
||||
"webextensions": true
|
||||
},
|
||||
|
||||
"parserOptions": {
|
||||
"sourceType": "script"
|
||||
},
|
||||
|
||||
"rules": {
|
||||
"no-var": "off",
|
||||
},
|
||||
|
||||
"overrides": [
|
||||
{
|
||||
// Include all files referenced in background.js
|
||||
"files": [
|
||||
"options/migration.js",
|
||||
"preserve-referer.js",
|
||||
"pdfHandler.js",
|
||||
"extension-router.js",
|
||||
"suppress-update.js",
|
||||
"telemetry.js"
|
||||
],
|
||||
"env": {
|
||||
// Background script is a service worker.
|
||||
"browser": false,
|
||||
"serviceworker": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -46,7 +46,6 @@ limitations under the License.
|
||||
}
|
||||
var scheme = url.slice(0, schemeIndex).toLowerCase();
|
||||
if (schemes.includes(scheme)) {
|
||||
// NOTE: We cannot use the `updateUrlHash` function in this context.
|
||||
url = url.split("#", 1)[0];
|
||||
if (url.charAt(schemeIndex) === ":") {
|
||||
url = encodeURIComponent(url);
|
||||
|
||||
@ -15,171 +15,171 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>PDF.js viewer options</title>
|
||||
<style>
|
||||
body {
|
||||
min-width: 400px; /* a page at the settings page is at least 400px wide */
|
||||
margin: 14px 17px; /* already added by default in Chrome 40.0.2212.0 */
|
||||
}
|
||||
.settings-row {
|
||||
margin: 1em 0;
|
||||
}
|
||||
.checkbox label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
.checkbox label input {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="settings-boxes"></div>
|
||||
<button id="reset-button" type="button">Restore default settings</button>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>PDF.js viewer options</title>
|
||||
<style>
|
||||
body {
|
||||
min-width: 400px; /* a page at the settings page is at least 400px wide */
|
||||
margin: 14px 17px; /* already added by default in Chrome 40.0.2212.0 */
|
||||
}
|
||||
.settings-row {
|
||||
margin: 1em 0;
|
||||
}
|
||||
.checkbox label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
.checkbox label input {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="settings-boxes"></div>
|
||||
<button id="reset-button" type="button">Restore default settings</button>
|
||||
|
||||
<template id="checkbox-template">
|
||||
<div class="settings-row checkbox">
|
||||
<label>
|
||||
<input type="checkbox" />
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="checkbox-template">
|
||||
<div class="settings-row checkbox">
|
||||
<label>
|
||||
<input type="checkbox">
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="viewerCssTheme-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Use system theme</option>
|
||||
<option value="1">Light theme</option>
|
||||
<option value="2">Dark theme</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="viewerCssTheme-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Use system theme</option>
|
||||
<option value="1">Light theme</option>
|
||||
<option value="2">Dark theme</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="viewOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">Show previous position</option>
|
||||
<option value="1">Show initial position</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="viewOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">Show previous position</option>
|
||||
<option value="1">Show initial position</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="defaultZoomValue-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="auto" selected="selected">Automatic Zoom</option>
|
||||
<option value="page-actual">Actual Size</option>
|
||||
<option value="page-fit">Page Fit</option>
|
||||
<option value="page-width">Page Width</option>
|
||||
<option value="custom" class="custom-zoom" hidden></option>
|
||||
<option value="50">50%</option>
|
||||
<option value="75">75%</option>
|
||||
<option value="100">100%</option>
|
||||
<option value="125">125%</option>
|
||||
<option value="150">150%</option>
|
||||
<option value="200">200%</option>
|
||||
<option value="300">300%</option>
|
||||
<option value="400">400%</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="defaultZoomValue-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="auto" selected="selected">Automatic Zoom</option>
|
||||
<option value="page-actual">Actual Size</option>
|
||||
<option value="page-fit">Page Fit</option>
|
||||
<option value="page-width">Page Width</option>
|
||||
<option value="custom" class="custom-zoom" hidden></option>
|
||||
<option value="50">50%</option>
|
||||
<option value="75">75%</option>
|
||||
<option value="100">100%</option>
|
||||
<option value="125">125%</option>
|
||||
<option value="150">150%</option>
|
||||
<option value="200">200%</option>
|
||||
<option value="300">300%</option>
|
||||
<option value="400">400%</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="sidebarViewOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">Do not show sidebar</option>
|
||||
<option value="1">Show thumbnails in sidebar</option>
|
||||
<option value="2">Show document outline in sidebar</option>
|
||||
<option value="3">Show attachments in sidebar</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="sidebarViewOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">Do not show sidebar</option>
|
||||
<option value="1">Show thumbnails in sidebar</option>
|
||||
<option value="2">Show document outline in sidebar</option>
|
||||
<option value="3">Show attachments in sidebar</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="cursorToolOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Text selection tool</option>
|
||||
<option value="1">Hand tool</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="cursorToolOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Text selection tool</option>
|
||||
<option value="1">Hand tool</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="textLayerMode-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Disable text selection</option>
|
||||
<option value="1">Enable text selection</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="textLayerMode-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Disable text selection</option>
|
||||
<option value="1">Enable text selection</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="externalLinkTarget-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Default</option>
|
||||
<option value="1">Current window/tab</option>
|
||||
<option value="2">New window/tab</option>
|
||||
<option value="3">Parent window/tab</option>
|
||||
<option value="4">Top window/tab</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="externalLinkTarget-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="0">Default</option>
|
||||
<option value="1">Current window/tab</option>
|
||||
<option value="2">New window/tab</option>
|
||||
<option value="3">Parent window/tab</option>
|
||||
<option value="4">Top window/tab</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="scrollModeOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="3">Page scrolling</option>
|
||||
<option value="0">Vertical scrolling</option>
|
||||
<option value="1">Horizontal scrolling</option>
|
||||
<option value="2">Wrapped scrolling</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="scrollModeOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="3">Page scrolling</option>
|
||||
<option value="0">Vertical scrolling</option>
|
||||
<option value="1">Horizontal scrolling</option>
|
||||
<option value="2">Wrapped scrolling</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="spreadModeOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">No spreads</option>
|
||||
<option value="1">Odd spreads</option>
|
||||
<option value="2">Even spreads</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
<template id="spreadModeOnLoad-template">
|
||||
<div class="settings-row">
|
||||
<label>
|
||||
<span></span>
|
||||
<select>
|
||||
<option value="-1">Default</option>
|
||||
<option value="0">No spreads</option>
|
||||
<option value="1">Odd spreads</option>
|
||||
<option value="2">Even spreads</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="options.js"></script>
|
||||
</body>
|
||||
<script src="options.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -69,7 +69,7 @@ async function registerPdfRedirectRule() {
|
||||
},
|
||||
};
|
||||
|
||||
// Rules in order of priority (highest priority rule first).
|
||||
// Rules in order of prority (highest priority rule first).
|
||||
// The required "id" fields will be auto-generated later.
|
||||
const addRules = [
|
||||
{
|
||||
|
||||
@ -71,14 +71,6 @@
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"commentLearnMoreUrl": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"enableSignatureEditor": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableUpdatedAddImage": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
@ -108,7 +100,7 @@
|
||||
},
|
||||
"highlightEditorColors": {
|
||||
"type": "string",
|
||||
"default": "yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F,yellow_HCM=#FFFFCC,green_HCM=#53FFBC,blue_HCM=#80EBFF,pink_HCM=#F6B8FF,red_HCM=#C50043"
|
||||
"default": "yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F"
|
||||
},
|
||||
"disableRange": {
|
||||
"title": "Disable range requests",
|
||||
@ -176,10 +168,6 @@
|
||||
"enum": [-1, 0, 3, 15],
|
||||
"default": 0
|
||||
},
|
||||
"capCanvasAreaFactor": {
|
||||
"type": "integer",
|
||||
"default": 200
|
||||
},
|
||||
"enablePermissions": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
@ -232,21 +220,6 @@
|
||||
"description": "The color is a string as defined in CSS. Its goal is to help improve readability in high contrast mode",
|
||||
"type": "string",
|
||||
"default": "CanvasText"
|
||||
},
|
||||
"enableAutoLinking": {
|
||||
"description": "Enable creation of hyperlinks from text that look like URLs.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"enableComment": {
|
||||
"description": "Enable creation of comment annotations.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableOptimizedPartialRendering": {
|
||||
"description": "Enable tracking of PDF operations to optimize partial rendering.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
9
external/.eslintrc
vendored
Normal file
9
external/.eslintrc
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": [
|
||||
../.eslintrc
|
||||
],
|
||||
|
||||
"env": {
|
||||
"node": true,
|
||||
},
|
||||
}
|
||||
@ -1,7 +1,10 @@
|
||||
import { types as t, transformSync } from "@babel/core";
|
||||
import fs from "fs";
|
||||
import { join as joinPaths } from "path";
|
||||
import vm from "vm";
|
||||
|
||||
const PDFJS_PREPROCESSOR_NAME = "PDFJSDev";
|
||||
const ROOT_PREFIX = "$ROOT/";
|
||||
|
||||
function isPDFJSPreprocessor(obj) {
|
||||
return obj.type === "Identifier" && obj.name === PDFJS_PREPROCESSOR_NAME;
|
||||
@ -37,6 +40,18 @@ function handlePreprocessorAction(ctx, actionName, args, path) {
|
||||
return result;
|
||||
}
|
||||
break;
|
||||
case "json":
|
||||
if (!t.isStringLiteral(arg)) {
|
||||
throw new Error("Path to JSON is not provided");
|
||||
}
|
||||
let jsonPath = arg.value;
|
||||
if (jsonPath.startsWith(ROOT_PREFIX)) {
|
||||
jsonPath = joinPaths(
|
||||
ctx.rootPath,
|
||||
jsonPath.substring(ROOT_PREFIX.length)
|
||||
);
|
||||
}
|
||||
return JSON.parse(fs.readFileSync(jsonPath, "utf8"));
|
||||
}
|
||||
throw new Error("Unsupported action");
|
||||
} catch (e) {
|
||||
@ -47,25 +62,6 @@ function handlePreprocessorAction(ctx, actionName, args, path) {
|
||||
}
|
||||
|
||||
function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
function removeUnusedFunctions(path) {
|
||||
let removed;
|
||||
do {
|
||||
removed = false;
|
||||
path.scope.crawl();
|
||||
for (const name in path.scope.bindings) {
|
||||
const binding = path.scope.bindings[name];
|
||||
if (!binding.referenced) {
|
||||
const { path: bindingPath } = binding;
|
||||
if (bindingPath.isFunctionDeclaration()) {
|
||||
bindingPath.remove();
|
||||
removed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// If we removed some functions, there might be new unused ones
|
||||
} while (removed);
|
||||
}
|
||||
|
||||
return {
|
||||
name: "babel-plugin-pdfjs-preprocessor",
|
||||
manipulateOptions({ parserOpts }) {
|
||||
@ -172,22 +168,18 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
path.replaceWith(t.inherits(t.valueToNode(result), path.node));
|
||||
}
|
||||
|
||||
if (t.isIdentifier(node.callee, { name: "__raw_import__" })) {
|
||||
if (t.isIdentifier(node.callee, { name: "__non_webpack_import__" })) {
|
||||
if (node.arguments.length !== 1) {
|
||||
throw new Error("Invalid `__raw_import__` usage.");
|
||||
throw new Error("Invalid `__non_webpack_import__` usage.");
|
||||
}
|
||||
// Replace it with a standard `import`-call and attempt to ensure that
|
||||
// various bundlers will leave it alone; this *must* include Webpack.
|
||||
// Replace it with a standard `import`-call and
|
||||
// ensure that Webpack will leave it alone.
|
||||
const source = node.arguments[0];
|
||||
source.leadingComments = [
|
||||
{
|
||||
type: "CommentBlock",
|
||||
value: "webpackIgnore: true",
|
||||
},
|
||||
{
|
||||
type: "CommentBlock",
|
||||
value: "@vite-ignore",
|
||||
},
|
||||
];
|
||||
path.replaceWith(t.importExpression(source));
|
||||
}
|
||||
@ -244,8 +236,6 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
// Function body ends with return without arg -- removing it.
|
||||
body.pop();
|
||||
}
|
||||
|
||||
removeUnusedFunctions(path);
|
||||
},
|
||||
},
|
||||
ClassMethod: {
|
||||
@ -268,26 +258,6 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
}
|
||||
},
|
||||
},
|
||||
Program: {
|
||||
exit(path) {
|
||||
if (path.node.sourceType === "module") {
|
||||
removeUnusedFunctions(path);
|
||||
}
|
||||
},
|
||||
},
|
||||
MemberExpression(path) {
|
||||
// The Emscripten Compiler (emcc) generates code that allows the caller
|
||||
// to provide the Wasm module (thorugh Module.instantiateWasm), with
|
||||
// a fallback in case .instantiateWasm is not provided.
|
||||
// We always define instantiateWasm, so we can hard-code the check
|
||||
// and let our dead code elimination logic remove the unused fallback.
|
||||
if (
|
||||
path.parentPath.isIfStatement({ test: path.node }) &&
|
||||
path.matchesPattern("Module.instantiateWasm")
|
||||
) {
|
||||
path.replaceWith(t.booleanLiteral(true));
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
4
external/builder/builder.mjs
vendored
4
external/builder/builder.mjs
vendored
@ -151,7 +151,7 @@ function preprocess(inFilename, outFilename, defines) {
|
||||
let state = STATE_NONE;
|
||||
const stack = [];
|
||||
const control =
|
||||
/^(?:\/\/|\s*\/\*|\s*<!--)\s*#(if|elif|else|endif|expand|include|error)\b(?:\s+(.*?)(?:\*\/|-->)?$)?/;
|
||||
/^(?:\/\/|\s*\/\*|<!--)\s*#(if|elif|else|endif|expand|include|error)\b(?:\s+(.*?)(?:\*\/|-->)?$)?/;
|
||||
|
||||
while ((line = readLine()) !== null) {
|
||||
++lineNumber;
|
||||
@ -213,7 +213,7 @@ function preprocess(inFilename, outFilename, defines) {
|
||||
) {
|
||||
writeLine(
|
||||
line
|
||||
.replaceAll(/^\/\/|^\s*<!--/g, " ")
|
||||
.replaceAll(/^\/\/|^<!--/g, " ")
|
||||
.replaceAll(/(^\s*)\/\*/g, "$1 ")
|
||||
.replaceAll(/\*\/$|-->$/g, "")
|
||||
);
|
||||
|
||||
@ -8,4 +8,3 @@ function test() {
|
||||
}
|
||||
"4";
|
||||
}
|
||||
test();
|
||||
|
||||
1
external/builder/fixtures_babel/blocks.js
vendored
1
external/builder/fixtures_babel/blocks.js
vendored
@ -17,4 +17,3 @@ function test() {
|
||||
"4";
|
||||
}
|
||||
}
|
||||
test();
|
||||
|
||||
@ -2,12 +2,10 @@ function f1() {
|
||||
"1";
|
||||
"2";
|
||||
}
|
||||
f1();
|
||||
function f2() {
|
||||
"1";
|
||||
"2";
|
||||
}
|
||||
f2();
|
||||
function f3() {
|
||||
if ("1") {
|
||||
"1";
|
||||
@ -17,4 +15,3 @@ function f3() {
|
||||
"4";
|
||||
}
|
||||
}
|
||||
f3();
|
||||
|
||||
3
external/builder/fixtures_babel/comments.js
vendored
3
external/builder/fixtures_babel/comments.js
vendored
@ -6,7 +6,6 @@ function f1() {
|
||||
"2";
|
||||
/* tail */
|
||||
}
|
||||
f1();
|
||||
|
||||
function f2() {
|
||||
// head
|
||||
@ -15,7 +14,6 @@ function f2() {
|
||||
"2";
|
||||
// tail
|
||||
}
|
||||
f2();
|
||||
|
||||
function f3() {
|
||||
if ("1") { // begin block
|
||||
@ -26,4 +24,3 @@ function f3() {
|
||||
"4";
|
||||
}
|
||||
}
|
||||
f3();
|
||||
|
||||
@ -1,18 +1,14 @@
|
||||
function f1() {}
|
||||
f1();
|
||||
function f2() {
|
||||
return 1;
|
||||
}
|
||||
f2();
|
||||
function f3() {
|
||||
var i = 0;
|
||||
throw "test";
|
||||
}
|
||||
f3();
|
||||
function f4() {
|
||||
var i = 0;
|
||||
}
|
||||
f4();
|
||||
var obj = {
|
||||
method1() {},
|
||||
method2() {}
|
||||
|
||||
4
external/builder/fixtures_babel/deadcode.js
vendored
4
external/builder/fixtures_babel/deadcode.js
vendored
@ -2,20 +2,17 @@ function f1() {
|
||||
return;
|
||||
var i = 0;
|
||||
}
|
||||
f1();
|
||||
|
||||
function f2() {
|
||||
return 1;
|
||||
var i = 0;
|
||||
}
|
||||
f2();
|
||||
|
||||
function f3() {
|
||||
var i = 0;
|
||||
throw "test";
|
||||
var j = 0;
|
||||
}
|
||||
f3();
|
||||
|
||||
function f4() {
|
||||
var i = 0;
|
||||
@ -25,7 +22,6 @@ function f4() {
|
||||
throw "test";
|
||||
var j = 0;
|
||||
}
|
||||
f4();
|
||||
|
||||
var obj = {
|
||||
method1() { return; var i = 0; },
|
||||
|
||||
@ -10,6 +10,9 @@ var g = {
|
||||
},
|
||||
j: 2
|
||||
};
|
||||
var h = {
|
||||
test: "test"
|
||||
};
|
||||
var i = '0';
|
||||
var j = {
|
||||
i: 1
|
||||
|
||||
1
external/builder/fixtures_babel/evals.js
vendored
1
external/builder/fixtures_babel/evals.js
vendored
@ -5,6 +5,7 @@ var d = PDFJSDev.test('FALSE');
|
||||
var e = PDFJSDev.eval('TRUE');
|
||||
var f = PDFJSDev.eval('TEXT');
|
||||
var g = PDFJSDev.eval('OBJ');
|
||||
var h = PDFJSDev.json('$ROOT/external/builder/fixtures_babel/evals.json');
|
||||
var i = typeof PDFJSDev === 'undefined' ? PDFJSDev.eval('FALSE') : '0';
|
||||
var j = typeof PDFJSDev !== 'undefined' ? PDFJSDev.eval('OBJ.obj') : '0';
|
||||
var k = !PDFJSDev.test('TRUE');
|
||||
|
||||
1
external/builder/fixtures_babel/evals.json
vendored
Normal file
1
external/builder/fixtures_babel/evals.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{ "test": "test" }
|
||||
@ -16,4 +16,3 @@ if ('1') {
|
||||
function f1() {
|
||||
"1";
|
||||
}
|
||||
f1();
|
||||
|
||||
1
external/builder/fixtures_babel/ifs.js
vendored
1
external/builder/fixtures_babel/ifs.js
vendored
@ -32,4 +32,3 @@ function f1() {
|
||||
"2";
|
||||
}
|
||||
}
|
||||
f1();
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
import { Test } from "import-name";
|
||||
import { Test2 } from './non-alias';
|
||||
export { Test3 } from "import-name";
|
||||
await import(
|
||||
/*webpackIgnore: true*/
|
||||
/*@vite-ignore*/
|
||||
"./non-alias");
|
||||
await import(/*webpackIgnore: true*/"./non-alias");
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Test } from 'import-alias';
|
||||
import { Test2 } from './non-alias';
|
||||
export { Test3 } from 'import-alias';
|
||||
await __raw_import__("./non-alias");
|
||||
await __non_webpack_import__("./non-alias");
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
function usedByUsed() {}
|
||||
function used() {
|
||||
usedByUsed();
|
||||
}
|
||||
used();
|
||||
@ -1,14 +0,0 @@
|
||||
function usedByUsed() {}
|
||||
function usedByUnused() {}
|
||||
function usedByRemovedCode() {}
|
||||
|
||||
function used() {
|
||||
usedByUsed();
|
||||
return;
|
||||
usedByRemovedCode();
|
||||
}
|
||||
function unused() {
|
||||
usedByUnused();
|
||||
}
|
||||
|
||||
used();
|
||||
3
external/builder/test-fixtures.mjs
vendored
3
external/builder/test-fixtures.mjs
vendored
@ -1,8 +1,9 @@
|
||||
import * as builder from "./builder.mjs";
|
||||
import { fileURLToPath } from "url";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
let errors = 0;
|
||||
|
||||
|
||||
3
external/builder/test-fixtures_babel.mjs
vendored
3
external/builder/test-fixtures_babel.mjs
vendored
@ -1,8 +1,9 @@
|
||||
import { fileURLToPath } from "url";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { preprocessPDFJSCode } from "./babel-plugin-pdfjs-preprocessor.mjs";
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
let errors = 0;
|
||||
|
||||
|
||||
BIN
external/iccs/CGATS001Compat-v2-micro.icc
vendored
BIN
external/iccs/CGATS001Compat-v2-micro.icc
vendored
Binary file not shown.
116
external/iccs/LICENSE
vendored
116
external/iccs/LICENSE
vendored
@ -1,116 +0,0 @@
|
||||
CC0 1.0 Universal
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator and
|
||||
subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the
|
||||
purpose of contributing to a commons of creative, cultural and scientific
|
||||
works ("Commons") that the public can reliably and without fear of later
|
||||
claims of infringement build upon, modify, incorporate in other works, reuse
|
||||
and redistribute as freely as possible in any form whatsoever and for any
|
||||
purposes, including without limitation commercial purposes. These owners may
|
||||
contribute to the Commons to promote the ideal of a free culture and the
|
||||
further production of creative, cultural and scientific works, or to gain
|
||||
reputation or greater distribution for their Work in part through the use and
|
||||
efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation
|
||||
of additional consideration or compensation, the person associating CC0 with a
|
||||
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
|
||||
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
|
||||
and publicly distribute the Work under its terms, with knowledge of his or her
|
||||
Copyright and Related Rights in the Work and the meaning and intended legal
|
||||
effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not limited
|
||||
to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display, communicate,
|
||||
and translate a Work;
|
||||
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
|
||||
iii. publicity and privacy rights pertaining to a person's image or likeness
|
||||
depicted in a Work;
|
||||
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data in
|
||||
a Work;
|
||||
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation thereof,
|
||||
including any amended or successor version of such directive); and
|
||||
|
||||
vii. other similar, equivalent or corresponding rights throughout the world
|
||||
based on applicable law or treaty, and any national implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention of,
|
||||
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
|
||||
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
|
||||
and Related Rights and associated claims and causes of action, whether now
|
||||
known or unknown (including existing as well as future claims and causes of
|
||||
action), in the Work (i) in all territories worldwide, (ii) for the maximum
|
||||
duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
|
||||
the Waiver for the benefit of each member of the public at large and to the
|
||||
detriment of Affirmer's heirs and successors, fully intending that such Waiver
|
||||
shall not be subject to revocation, rescission, cancellation, termination, or
|
||||
any other legal or equitable action to disrupt the quiet enjoyment of the Work
|
||||
by the public as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason be
|
||||
judged legally invalid or ineffective under applicable law, then the Waiver
|
||||
shall be preserved to the maximum extent permitted taking into account
|
||||
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
|
||||
is so judged Affirmer hereby grants to each affected person a royalty-free,
|
||||
non transferable, non sublicensable, non exclusive, irrevocable and
|
||||
unconditional license to exercise Affirmer's Copyright and Related Rights in
|
||||
the Work (i) in all territories worldwide, (ii) for the maximum duration
|
||||
provided by applicable law or treaty (including future time extensions), (iii)
|
||||
in any current or future medium and for any number of copies, and (iv) for any
|
||||
purpose whatsoever, including without limitation commercial, advertising or
|
||||
promotional purposes (the "License"). The License shall be deemed effective as
|
||||
of the date CC0 was applied by Affirmer to the Work. Should any part of the
|
||||
License for any reason be judged legally invalid or ineffective under
|
||||
applicable law, such partial invalidity or ineffectiveness shall not
|
||||
invalidate the remainder of the License, and in such case Affirmer hereby
|
||||
affirms that he or she will not (i) exercise any of his or her remaining
|
||||
Copyright and Related Rights in the Work or (ii) assert any associated claims
|
||||
and causes of action with respect to the Work, in either case contrary to
|
||||
Affirmer's express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
|
||||
b. Affirmer offers the Work as-is and makes no representations or warranties
|
||||
of any kind concerning the Work, express, implied, statutory or otherwise,
|
||||
including without limitation warranties of title, merchantability, fitness
|
||||
for a particular purpose, non infringement, or the absence of latent or
|
||||
other defects, accuracy, or the present or absence of errors, whether or not
|
||||
discoverable, all to the greatest extent permissible under applicable law.
|
||||
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without limitation
|
||||
any person's Copyright and Related Rights in the Work. Further, Affirmer
|
||||
disclaims responsibility for obtaining any necessary consents, permissions
|
||||
or other rights required for any use of the Work.
|
||||
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to this
|
||||
CC0 or use of the Work.
|
||||
|
||||
For more information, please see
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
10
external/iccs/README.md
vendored
10
external/iccs/README.md
vendored
@ -1,10 +0,0 @@
|
||||
## ICC
|
||||
|
||||
The file CGATS001Compat-v2-micro.icc used to convert colors from CMYK to RGB comes from:
|
||||
https://github.com/saucecontrol/Compact-ICC-Profiles
|
||||
|
||||
at revision bdd84663061bc4ae95ca70decff54f581e27f702.
|
||||
|
||||
## Licensing
|
||||
|
||||
[CGATS001Compat-v2-micro.icc](https://github.com/saucecontrol/Compact-ICC-Profiles/blob/master/profiles/CGATS001Compat-v2-micro.icc) is under [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/).
|
||||
2
external/importL10n/locales.mjs
vendored
2
external/importL10n/locales.mjs
vendored
@ -31,7 +31,7 @@ async function downloadLanguageCodes() {
|
||||
console.log("Downloading language codes...\n");
|
||||
|
||||
const ALL_LOCALES =
|
||||
"https://raw.githubusercontent.com/mozilla-firefox/firefox/main/browser/locales/all-locales";
|
||||
"https://raw.githubusercontent.com/mozilla/gecko-dev/master/browser/locales/all-locales";
|
||||
|
||||
const response = await fetch(ALL_LOCALES);
|
||||
if (!response.ok) {
|
||||
|
||||
39
external/openjpeg/LICENSE_OPENJPEG
vendored
39
external/openjpeg/LICENSE_OPENJPEG
vendored
@ -1,39 +0,0 @@
|
||||
/*
|
||||
* The copyright in this software is being made available under the 2-clauses
|
||||
* BSD License, included below. This software may be subject to other third
|
||||
* party and contributor rights, including patent rights, and no such rights
|
||||
* are granted under this license.
|
||||
*
|
||||
* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
|
||||
* Copyright (c) 2002-2014, Professor Benoit Macq
|
||||
* Copyright (c) 2003-2014, Antonin Descampe
|
||||
* Copyright (c) 2003-2009, Francois-Olivier Devaux
|
||||
* Copyright (c) 2005, Herve Drolon, FreeImage Team
|
||||
* Copyright (c) 2002-2003, Yannick Verschueren
|
||||
* Copyright (c) 2001-2003, David Janssens
|
||||
* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
|
||||
* Copyright (c) 2012, CS Systemes d'Information, France
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
22
external/openjpeg/LICENSE_PDFJS_OPENJPEG
vendored
22
external/openjpeg/LICENSE_PDFJS_OPENJPEG
vendored
@ -1,22 +0,0 @@
|
||||
Copyright (c) 2024, Mozilla Foundation
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
19
external/openjpeg/openjpeg.js
vendored
19
external/openjpeg/openjpeg.js
vendored
File diff suppressed because one or more lines are too long
BIN
external/openjpeg/openjpeg.wasm
vendored
BIN
external/openjpeg/openjpeg.wasm
vendored
Binary file not shown.
17
external/openjpeg/openjpeg_nowasm_fallback.js
vendored
17
external/openjpeg/openjpeg_nowasm_fallback.js
vendored
File diff suppressed because one or more lines are too long
22
external/qcms/LICENSE_PDFJS_QCMS
vendored
22
external/qcms/LICENSE_PDFJS_QCMS
vendored
@ -1,22 +0,0 @@
|
||||
Copyright (c) 2025, Mozilla Foundation
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
21
external/qcms/LICENSE_QCMS
vendored
21
external/qcms/LICENSE_QCMS
vendored
@ -1,21 +0,0 @@
|
||||
qcms
|
||||
Copyright (C) 2009-2024 Mozilla Corporation
|
||||
Copyright (C) 1998-2007 Marti Maria
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the Software
|
||||
is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
||||
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
12
external/qcms/README.md
vendored
12
external/qcms/README.md
vendored
@ -1,12 +0,0 @@
|
||||
## Build
|
||||
|
||||
In order to generate the files `qcms.js` and `qcms_bg.wasm`:
|
||||
* git clone https://github.com/mozilla/pdf.js.qcms/
|
||||
* the build requires to have a [Docker](https://www.docker.com/) setup and then:
|
||||
* `node build.js -C` to build the Docker image
|
||||
* `node build.js -co /pdf.js/external/qcms/` to compile the decoder
|
||||
|
||||
## Licensing
|
||||
|
||||
[qcms](https://github.com/FirefoxGraphics/qcms) is under [MIT](https://github.com/FirefoxGraphics/qcms/blob/main/COPYING)
|
||||
and [pdf.js.qcms](https://github.com/mozilla/pdf.js.qcms/) is released under [MIT](https://github.com/mozilla/pdf.js.qcms/blob/main/LICENSE) license so `qcms.js` and `qcms_bg.wasm` are released under [MIT](https://github.com/mozilla/pdf.js.qcms/blob/main/LICENSE) license too.
|
||||
259
external/qcms/qcms.js
vendored
259
external/qcms/qcms.js
vendored
@ -1,259 +0,0 @@
|
||||
/* THIS FILE IS GENERATED - DO NOT EDIT */
|
||||
import { copy_result, copy_rgb, make_cssRGB } from './qcms_utils.js';
|
||||
|
||||
let wasm;
|
||||
|
||||
const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );
|
||||
|
||||
if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };
|
||||
|
||||
let cachedUint8ArrayMemory0 = null;
|
||||
|
||||
function getUint8ArrayMemory0() {
|
||||
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
||||
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
||||
}
|
||||
return cachedUint8ArrayMemory0;
|
||||
}
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
ptr = ptr >>> 0;
|
||||
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
let WASM_VECTOR_LEN = 0;
|
||||
|
||||
function passArray8ToWasm0(arg, malloc) {
|
||||
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
||||
getUint8ArrayMemory0().set(arg, ptr / 1);
|
||||
WASM_VECTOR_LEN = arg.length;
|
||||
return ptr;
|
||||
}
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {Uint8Array} src
|
||||
*/
|
||||
export function qcms_convert_array(transformer, src) {
|
||||
const ptr0 = passArray8ToWasm0(src, wasm.__wbindgen_malloc);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
wasm.qcms_convert_array(transformer, ptr0, len0);
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {number} src
|
||||
* @param {boolean} css
|
||||
*/
|
||||
export function qcms_convert_one(transformer, src, css) {
|
||||
wasm.qcms_convert_one(transformer, src, css);
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {number} src1
|
||||
* @param {number} src2
|
||||
* @param {number} src3
|
||||
* @param {boolean} css
|
||||
*/
|
||||
export function qcms_convert_three(transformer, src1, src2, src3, css) {
|
||||
wasm.qcms_convert_three(transformer, src1, src2, src3, css);
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {number} src1
|
||||
* @param {number} src2
|
||||
* @param {number} src3
|
||||
* @param {number} src4
|
||||
* @param {boolean} css
|
||||
*/
|
||||
export function qcms_convert_four(transformer, src1, src2, src3, src4, css) {
|
||||
wasm.qcms_convert_four(transformer, src1, src2, src3, src4, css);
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {Uint8Array} mem
|
||||
* @param {DataType} in_type
|
||||
* @param {Intent} intent
|
||||
* @returns {number}
|
||||
*/
|
||||
export function qcms_transformer_from_memory(mem, in_type, intent) {
|
||||
const ptr0 = passArray8ToWasm0(mem, wasm.__wbindgen_malloc);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
const ret = wasm.qcms_transformer_from_memory(ptr0, len0, in_type, intent);
|
||||
return ret >>> 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
*/
|
||||
export function qcms_drop_transformer(transformer) {
|
||||
wasm.qcms_drop_transformer(transformer);
|
||||
}
|
||||
|
||||
/**
|
||||
* @enum {0 | 1 | 2 | 3 | 4 | 5}
|
||||
*/
|
||||
export const DataType = Object.freeze({
|
||||
RGB8: 0, "0": "RGB8",
|
||||
RGBA8: 1, "1": "RGBA8",
|
||||
BGRA8: 2, "2": "BGRA8",
|
||||
Gray8: 3, "3": "Gray8",
|
||||
GrayA8: 4, "4": "GrayA8",
|
||||
CMYK: 5, "5": "CMYK",
|
||||
});
|
||||
/**
|
||||
* @enum {0 | 1 | 2 | 3}
|
||||
*/
|
||||
export const Intent = Object.freeze({
|
||||
Perceptual: 0, "0": "Perceptual",
|
||||
RelativeColorimetric: 1, "1": "RelativeColorimetric",
|
||||
Saturation: 2, "2": "Saturation",
|
||||
AbsoluteColorimetric: 3, "3": "AbsoluteColorimetric",
|
||||
});
|
||||
|
||||
async function __wbg_load(module, imports) {
|
||||
if (typeof Response === 'function' && module instanceof Response) {
|
||||
if (typeof WebAssembly.instantiateStreaming === 'function') {
|
||||
try {
|
||||
return await WebAssembly.instantiateStreaming(module, imports);
|
||||
|
||||
} catch (e) {
|
||||
if (module.headers.get('Content-Type') != 'application/wasm') {
|
||||
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
|
||||
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const bytes = await module.arrayBuffer();
|
||||
return await WebAssembly.instantiate(bytes, imports);
|
||||
|
||||
} else {
|
||||
const instance = await WebAssembly.instantiate(module, imports);
|
||||
|
||||
if (instance instanceof WebAssembly.Instance) {
|
||||
return { instance, module };
|
||||
|
||||
} else {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function __wbg_get_imports() {
|
||||
const imports = {};
|
||||
imports.wbg = {};
|
||||
imports.wbg.__wbg_copyresult_b08ee7d273f295dd = function(arg0, arg1) {
|
||||
copy_result(arg0 >>> 0, arg1 >>> 0);
|
||||
};
|
||||
imports.wbg.__wbg_copyrgb_d60ce17bb05d9b67 = function(arg0) {
|
||||
copy_rgb(arg0 >>> 0);
|
||||
};
|
||||
imports.wbg.__wbg_makecssRGB_893bf0cd9fdb302d = function(arg0) {
|
||||
make_cssRGB(arg0 >>> 0);
|
||||
};
|
||||
imports.wbg.__wbindgen_init_externref_table = function() {
|
||||
const table = wasm.__wbindgen_export_0;
|
||||
const offset = table.grow(4);
|
||||
table.set(0, undefined);
|
||||
table.set(offset + 0, undefined);
|
||||
table.set(offset + 1, null);
|
||||
table.set(offset + 2, true);
|
||||
table.set(offset + 3, false);
|
||||
;
|
||||
};
|
||||
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
|
||||
throw new Error(getStringFromWasm0(arg0, arg1));
|
||||
};
|
||||
|
||||
return imports;
|
||||
}
|
||||
|
||||
function __wbg_init_memory(imports, memory) {
|
||||
|
||||
}
|
||||
|
||||
function __wbg_finalize_init(instance, module) {
|
||||
wasm = instance.exports;
|
||||
__wbg_init.__wbindgen_wasm_module = module;
|
||||
cachedUint8ArrayMemory0 = null;
|
||||
|
||||
|
||||
wasm.__wbindgen_start();
|
||||
return wasm;
|
||||
}
|
||||
|
||||
function initSync(module) {
|
||||
if (wasm !== undefined) return wasm;
|
||||
|
||||
|
||||
if (typeof module !== 'undefined') {
|
||||
if (Object.getPrototypeOf(module) === Object.prototype) {
|
||||
({module} = module)
|
||||
} else {
|
||||
console.warn('using deprecated parameters for `initSync()`; pass a single object instead')
|
||||
}
|
||||
}
|
||||
|
||||
const imports = __wbg_get_imports();
|
||||
|
||||
__wbg_init_memory(imports);
|
||||
|
||||
if (!(module instanceof WebAssembly.Module)) {
|
||||
module = new WebAssembly.Module(module);
|
||||
}
|
||||
|
||||
const instance = new WebAssembly.Instance(module, imports);
|
||||
|
||||
return __wbg_finalize_init(instance, module);
|
||||
}
|
||||
|
||||
async function __wbg_init(module_or_path) {
|
||||
if (wasm !== undefined) return wasm;
|
||||
|
||||
|
||||
if (typeof module_or_path !== 'undefined') {
|
||||
if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
|
||||
({module_or_path} = module_or_path)
|
||||
} else {
|
||||
console.warn('using deprecated parameters for the initialization function; pass a single object instead')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const imports = __wbg_get_imports();
|
||||
|
||||
if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
|
||||
module_or_path = fetch(module_or_path);
|
||||
}
|
||||
|
||||
__wbg_init_memory(imports);
|
||||
|
||||
const { instance, module } = await __wbg_load(await module_or_path, imports);
|
||||
|
||||
return __wbg_finalize_init(instance, module);
|
||||
}
|
||||
|
||||
export { initSync };
|
||||
export default __wbg_init;
|
||||
BIN
external/qcms/qcms_bg.wasm
vendored
BIN
external/qcms/qcms_bg.wasm
vendored
Binary file not shown.
84
external/qcms/qcms_utils.js
vendored
84
external/qcms/qcms_utils.js
vendored
@ -1,84 +0,0 @@
|
||||
/* Copyright 2025 Mozilla Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
class QCMS {
|
||||
static #memoryArray = null;
|
||||
|
||||
static _memory = null;
|
||||
|
||||
static _mustAddAlpha = false;
|
||||
|
||||
static _destBuffer = null;
|
||||
|
||||
static _destOffset = 0;
|
||||
|
||||
static _destLength = 0;
|
||||
|
||||
static _cssColor = "";
|
||||
|
||||
static _makeHexColor = null;
|
||||
|
||||
static get _memoryArray() {
|
||||
const array = this.#memoryArray;
|
||||
if (array?.byteLength) {
|
||||
return array;
|
||||
}
|
||||
return (this.#memoryArray = new Uint8Array(this._memory.buffer));
|
||||
}
|
||||
}
|
||||
|
||||
function copy_result(ptr, len) {
|
||||
// This function is called from the wasm module (it's an external
|
||||
// "C" function). Its goal is to copy the result from the wasm memory
|
||||
// to the destination buffer without any intermediate copies.
|
||||
const { _mustAddAlpha, _destBuffer, _destOffset, _destLength, _memoryArray } =
|
||||
QCMS;
|
||||
if (len === _destLength) {
|
||||
_destBuffer.set(_memoryArray.subarray(ptr, ptr + len), _destOffset);
|
||||
return;
|
||||
}
|
||||
if (_mustAddAlpha) {
|
||||
for (let i = ptr, ii = ptr + len, j = _destOffset; i < ii; i += 3, j += 4) {
|
||||
_destBuffer[j] = _memoryArray[i];
|
||||
_destBuffer[j + 1] = _memoryArray[i + 1];
|
||||
_destBuffer[j + 2] = _memoryArray[i + 2];
|
||||
_destBuffer[j + 3] = 255;
|
||||
}
|
||||
} else {
|
||||
for (let i = ptr, ii = ptr + len, j = _destOffset; i < ii; i += 3, j += 4) {
|
||||
_destBuffer[j] = _memoryArray[i];
|
||||
_destBuffer[j + 1] = _memoryArray[i + 1];
|
||||
_destBuffer[j + 2] = _memoryArray[i + 2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function copy_rgb(ptr) {
|
||||
const { _destBuffer, _destOffset, _memoryArray } = QCMS;
|
||||
_destBuffer[_destOffset] = _memoryArray[ptr];
|
||||
_destBuffer[_destOffset + 1] = _memoryArray[ptr + 1];
|
||||
_destBuffer[_destOffset + 2] = _memoryArray[ptr + 2];
|
||||
}
|
||||
|
||||
function make_cssRGB(ptr) {
|
||||
const { _memoryArray } = QCMS;
|
||||
QCMS._cssColor = QCMS._makeHexColor(
|
||||
_memoryArray[ptr],
|
||||
_memoryArray[ptr + 1],
|
||||
_memoryArray[ptr + 2]
|
||||
);
|
||||
}
|
||||
|
||||
export { copy_result, copy_rgb, make_cssRGB, QCMS };
|
||||
240
gulpfile.mjs
240
gulpfile.mjs
@ -12,6 +12,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* eslint-env node */
|
||||
|
||||
import {
|
||||
babelPluginPDFJSPreprocessor,
|
||||
@ -21,6 +22,7 @@ import { exec, execSync, spawn, spawnSync } from "child_process";
|
||||
import autoprefixer from "autoprefixer";
|
||||
import babel from "@babel/core";
|
||||
import crypto from "crypto";
|
||||
import { fileURLToPath } from "url";
|
||||
import fs from "fs";
|
||||
import gulp from "gulp";
|
||||
import hljs from "highlight.js";
|
||||
@ -30,9 +32,9 @@ import Metalsmith from "metalsmith";
|
||||
import ordered from "ordered-read-streams";
|
||||
import path from "path";
|
||||
import postcss from "gulp-postcss";
|
||||
import postcssDarkThemeClass from "postcss-dark-theme-class";
|
||||
import postcssDirPseudoClass from "postcss-dir-pseudo-class";
|
||||
import postcssDiscardComments from "postcss-discard-comments";
|
||||
import postcssLightDarkFunction from "@csstools/postcss-light-dark-function";
|
||||
import postcssNesting from "postcss-nesting";
|
||||
import { preprocess } from "./external/builder/builder.mjs";
|
||||
import relative from "metalsmith-html-relative";
|
||||
@ -45,7 +47,7 @@ import webpack2 from "webpack";
|
||||
import webpackStream from "webpack-stream";
|
||||
import zip from "gulp-zip";
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const BUILD_DIR = "build/";
|
||||
const L10N_DIR = "l10n/";
|
||||
@ -79,10 +81,10 @@ const config = JSON.parse(fs.readFileSync(CONFIG_FILE).toString());
|
||||
|
||||
const ENV_TARGETS = [
|
||||
"last 2 versions",
|
||||
"Chrome >= 110",
|
||||
"Chrome >= 103",
|
||||
"Firefox ESR",
|
||||
"Safari >= 16.4",
|
||||
"Node >= 20",
|
||||
"Node >= 18",
|
||||
"> 1%",
|
||||
"not IE > 0",
|
||||
"not dead",
|
||||
@ -96,7 +98,7 @@ const AUTOPREFIXER_CONFIG = {
|
||||
const BABEL_TARGETS = ENV_TARGETS.join(", ");
|
||||
|
||||
const BABEL_PRESET_ENV_OPTS = Object.freeze({
|
||||
corejs: "3.46.0",
|
||||
corejs: "3.38.1",
|
||||
exclude: ["web.structured-clone"],
|
||||
shippedProposals: true,
|
||||
useBuiltIns: "usage",
|
||||
@ -191,7 +193,6 @@ function createWebpackAlias(defines) {
|
||||
const libraryAlias = {
|
||||
"display-cmap_reader_factory": "src/display/stubs.js",
|
||||
"display-standard_fontdata_factory": "src/display/stubs.js",
|
||||
"display-wasm_factory": "src/display/stubs.js",
|
||||
"display-fetch_stream": "src/display/stubs.js",
|
||||
"display-network": "src/display/stubs.js",
|
||||
"display-node_stream": "src/display/stubs.js",
|
||||
@ -216,7 +217,6 @@ function createWebpackAlias(defines) {
|
||||
"web-preferences": "",
|
||||
"web-print_service": "",
|
||||
"web-secondary_toolbar": "web/secondary_toolbar.js",
|
||||
"web-signature_manager": "web/signature_manager.js",
|
||||
"web-toolbar": "web/toolbar.js",
|
||||
};
|
||||
|
||||
@ -225,7 +225,6 @@ function createWebpackAlias(defines) {
|
||||
"src/display/cmap_reader_factory.js";
|
||||
libraryAlias["display-standard_fontdata_factory"] =
|
||||
"src/display/standard_fontdata_factory.js";
|
||||
libraryAlias["display-wasm_factory"] = "src/display/wasm_factory.js";
|
||||
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
||||
libraryAlias["display-network"] = "src/display/network.js";
|
||||
|
||||
@ -242,7 +241,6 @@ function createWebpackAlias(defines) {
|
||||
"src/display/cmap_reader_factory.js";
|
||||
libraryAlias["display-standard_fontdata_factory"] =
|
||||
"src/display/standard_fontdata_factory.js";
|
||||
libraryAlias["display-wasm_factory"] = "src/display/wasm_factory.js";
|
||||
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
||||
libraryAlias["display-network"] = "src/display/network.js";
|
||||
libraryAlias["display-node_stream"] = "src/display/node_stream.js";
|
||||
@ -302,12 +300,6 @@ function createWebpackConfig(
|
||||
const licenseHeaderLibre = fs
|
||||
.readFileSync("./src/license_header_libre.js")
|
||||
.toString();
|
||||
const versionInfoHeader = [
|
||||
"/**",
|
||||
` * pdfjsVersion = ${versionInfo.version}`,
|
||||
` * pdfjsBuild = ${versionInfo.commit}`,
|
||||
" */",
|
||||
].join("\n");
|
||||
const enableSourceMaps =
|
||||
!bundleDefines.MOZCENTRAL &&
|
||||
!bundleDefines.CHROME &&
|
||||
@ -341,39 +333,9 @@ function createWebpackConfig(
|
||||
const plugins = [];
|
||||
if (!disableLicenseHeader) {
|
||||
plugins.push(
|
||||
new webpack2.BannerPlugin({
|
||||
banner: licenseHeaderLibre + "\n" + versionInfoHeader,
|
||||
raw: true,
|
||||
})
|
||||
new webpack2.BannerPlugin({ banner: licenseHeaderLibre, raw: true })
|
||||
);
|
||||
}
|
||||
plugins.push({
|
||||
/** @param {import('webpack').Compiler} compiler */
|
||||
apply(compiler) {
|
||||
const errors = [];
|
||||
|
||||
compiler.hooks.afterCompile.tap("VerifyImportMeta", compilation => {
|
||||
for (const asset of compilation.getAssets()) {
|
||||
if (asset.name.endsWith(".mjs")) {
|
||||
const source = asset.source.source();
|
||||
if (
|
||||
typeof source === "string" &&
|
||||
/new URL\([^,)]*,\s*import\.meta\.url/.test(source)
|
||||
) {
|
||||
errors.push(
|
||||
`Output module ${asset.name} uses new URL(..., import.meta.url)`
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
compiler.hooks.afterEmit.tap("VerifyImportMeta", compilation => {
|
||||
// Emit the errors after emitting the files, so that it's possible to
|
||||
// look at the contents of the invalid bundle.
|
||||
compilation.errors.push(...errors);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
const alias = createWebpackAlias(bundleDefines);
|
||||
const experiments = isModule ? { outputModule: true } : undefined;
|
||||
@ -397,8 +359,9 @@ function createWebpackConfig(
|
||||
// V8 chokes on very long sequences, work around that.
|
||||
sequences: false,
|
||||
},
|
||||
format: {
|
||||
comments: /@lic|webpackIgnore|@vite-ignore|pdfjsVersion/i,
|
||||
mangle: {
|
||||
// Ensure that the `tweakWebpackOutput` function works.
|
||||
reserved: ["__webpack_exports__"],
|
||||
},
|
||||
keep_classnames: true,
|
||||
keep_fnames: true,
|
||||
@ -418,15 +381,8 @@ function createWebpackConfig(
|
||||
},
|
||||
devtool: enableSourceMaps ? "source-map" : undefined,
|
||||
module: {
|
||||
parser: {
|
||||
javascript: {
|
||||
importMeta: false,
|
||||
url: false,
|
||||
},
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
test: /\.[mc]?js$/,
|
||||
loader: "babel-loader",
|
||||
exclude: babelExcludeRegExp,
|
||||
options: {
|
||||
@ -497,6 +453,13 @@ function checkChromePreferencesFile(chromePrefsPath, webPrefs) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
function tweakWebpackOutput(jsName) {
|
||||
return replace(
|
||||
/((?:\s|,)__webpack_exports__)(?:\s?)=(?:\s?)({};)/gm,
|
||||
(match, p1, p2) => `${p1} = globalThis.${jsName} = ${p2}`
|
||||
);
|
||||
}
|
||||
|
||||
function createMainBundle(defines) {
|
||||
const mainFileConfig = createWebpackConfig(defines, {
|
||||
filename: defines.MINIFIED ? "pdf.min.mjs" : "pdf.mjs",
|
||||
@ -506,7 +469,8 @@ function createMainBundle(defines) {
|
||||
});
|
||||
return gulp
|
||||
.src("./src/pdf.js", { encoding: false })
|
||||
.pipe(webpack2Stream(mainFileConfig));
|
||||
.pipe(webpack2Stream(mainFileConfig))
|
||||
.pipe(tweakWebpackOutput("pdfjsLib"));
|
||||
}
|
||||
|
||||
function createScriptingBundle(defines, extraOptions = undefined) {
|
||||
@ -574,7 +538,8 @@ function createSandboxBundle(defines, extraOptions = undefined) {
|
||||
|
||||
return gulp
|
||||
.src("./src/pdf.sandbox.js", { encoding: false })
|
||||
.pipe(webpack2Stream(sandboxFileConfig));
|
||||
.pipe(webpack2Stream(sandboxFileConfig))
|
||||
.pipe(tweakWebpackOutput("pdfjsSandbox"));
|
||||
}
|
||||
|
||||
function createWorkerBundle(defines) {
|
||||
@ -586,7 +551,8 @@ function createWorkerBundle(defines) {
|
||||
});
|
||||
return gulp
|
||||
.src("./src/pdf.worker.js", { encoding: false })
|
||||
.pipe(webpack2Stream(workerFileConfig));
|
||||
.pipe(webpack2Stream(workerFileConfig))
|
||||
.pipe(tweakWebpackOutput("pdfjsWorker"));
|
||||
}
|
||||
|
||||
function createWebBundle(defines, options) {
|
||||
@ -634,7 +600,8 @@ function createComponentsBundle(defines) {
|
||||
});
|
||||
return gulp
|
||||
.src("./web/pdf_viewer.component.js", { encoding: false })
|
||||
.pipe(webpack2Stream(componentsFileConfig));
|
||||
.pipe(webpack2Stream(componentsFileConfig))
|
||||
.pipe(tweakWebpackOutput("pdfjsViewer"));
|
||||
}
|
||||
|
||||
function createImageDecodersBundle(defines) {
|
||||
@ -648,7 +615,8 @@ function createImageDecodersBundle(defines) {
|
||||
});
|
||||
return gulp
|
||||
.src("./src/pdf.image_decoders.js", { encoding: false })
|
||||
.pipe(webpack2Stream(componentsFileConfig));
|
||||
.pipe(webpack2Stream(componentsFileConfig))
|
||||
.pipe(tweakWebpackOutput("pdfjsImageDecoders"));
|
||||
}
|
||||
|
||||
function createCMapBundle() {
|
||||
@ -658,19 +626,13 @@ function createCMapBundle() {
|
||||
});
|
||||
}
|
||||
|
||||
function createICCBundle() {
|
||||
return gulp.src(["external/iccs/*.icc", "external/iccs/LICENSE"], {
|
||||
base: "external/iccs",
|
||||
encoding: false,
|
||||
});
|
||||
}
|
||||
|
||||
function createStandardFontBundle() {
|
||||
return gulp.src(
|
||||
[
|
||||
"external/standard_fonts/*.pfb",
|
||||
"external/standard_fonts/*.ttf",
|
||||
"external/standard_fonts/LICENSE_*",
|
||||
"external/standard_fonts/LICENSE_FOXIT",
|
||||
"external/standard_fonts/LICENSE_LIBERATION",
|
||||
],
|
||||
{
|
||||
base: "external/standard_fonts",
|
||||
@ -679,26 +641,6 @@ function createStandardFontBundle() {
|
||||
);
|
||||
}
|
||||
|
||||
function createWasmBundle() {
|
||||
return ordered([
|
||||
gulp.src(
|
||||
[
|
||||
"external/openjpeg/*.wasm",
|
||||
"external/openjpeg/openjpeg_nowasm_fallback.js",
|
||||
"external/openjpeg/LICENSE_*",
|
||||
],
|
||||
{
|
||||
base: "external/openjpeg",
|
||||
encoding: false,
|
||||
}
|
||||
),
|
||||
gulp.src(["external/qcms/*.wasm", "external/qcms/LICENSE_*"], {
|
||||
base: "external/qcms",
|
||||
encoding: false,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
|
||||
function checkFile(filePath) {
|
||||
try {
|
||||
const stat = fs.lstatSync(filePath);
|
||||
@ -744,9 +686,12 @@ function runTests(testsName, { bot = false, xfaOnly = false } = {}) {
|
||||
if (!bot) {
|
||||
args.push("--reftest");
|
||||
} else {
|
||||
// The browser-tests are too slow in Google Chrome on the bots,
|
||||
// causing a timeout, hence disabling them for now.
|
||||
forceNoChrome = true;
|
||||
const os = process.env.OS;
|
||||
if (/windows/i.test(os)) {
|
||||
// The browser-tests are too slow in Google Chrome on the Windows
|
||||
// bot, causing a timeout, hence disabling them for now.
|
||||
forceNoChrome = true;
|
||||
}
|
||||
}
|
||||
if (xfaOnly) {
|
||||
args.push("--xfaOnly");
|
||||
@ -825,10 +770,12 @@ function makeRef(done, bot) {
|
||||
let forceNoChrome = false;
|
||||
const args = ["test.mjs", "--masterMode"];
|
||||
if (bot) {
|
||||
// The browser-tests are too slow in Google Chrome on the bots,
|
||||
// causing a timeout, hence disabling them for now.
|
||||
forceNoChrome = true;
|
||||
|
||||
const os = process.env.OS;
|
||||
if (/windows/i.test(os)) {
|
||||
// The browser-tests are too slow in Google Chrome on the Windows
|
||||
// bot, causing a timeout, hence disabling them for now.
|
||||
forceNoChrome = true;
|
||||
}
|
||||
args.push("--noPrompts", "--strictVerify");
|
||||
}
|
||||
if (process.argv.includes("--noChrome") || forceNoChrome) {
|
||||
@ -1120,9 +1067,7 @@ function buildGeneric(defines, dir) {
|
||||
})
|
||||
.pipe(gulp.dest(dir + "web")),
|
||||
createCMapBundle().pipe(gulp.dest(dir + "web/cmaps")),
|
||||
createICCBundle().pipe(gulp.dest(dir + "web/iccs")),
|
||||
createStandardFontBundle().pipe(gulp.dest(dir + "web/standard_fonts")),
|
||||
createWasmBundle().pipe(gulp.dest(dir + "web/wasm")),
|
||||
|
||||
preprocessHTML("web/viewer.html", defines).pipe(gulp.dest(dir + "web")),
|
||||
preprocessCSS("web/viewer.css", defines)
|
||||
@ -1131,7 +1076,7 @@ function buildGeneric(defines, dir) {
|
||||
postcssDirPseudoClass(),
|
||||
discardCommentsCSS(),
|
||||
postcssNesting(),
|
||||
postcssLightDarkFunction({ preserve: true }),
|
||||
postcssDarkThemeClass(),
|
||||
autoprefixer(AUTOPREFIXER_CONFIG),
|
||||
])
|
||||
)
|
||||
@ -1208,7 +1153,6 @@ function buildComponents(defines, dir) {
|
||||
"web/images/messageBar_*.svg",
|
||||
"web/images/toolbarButton-{editorHighlight,menuArrow}.svg",
|
||||
"web/images/cursor-*.svg",
|
||||
"web/images/comment-*.svg",
|
||||
];
|
||||
|
||||
return ordered([
|
||||
@ -1222,7 +1166,6 @@ function buildComponents(defines, dir) {
|
||||
postcssDirPseudoClass(),
|
||||
discardCommentsCSS(),
|
||||
postcssNesting(),
|
||||
postcssLightDarkFunction({ preserve: true }),
|
||||
autoprefixer(AUTOPREFIXER_CONFIG),
|
||||
])
|
||||
)
|
||||
@ -1451,11 +1394,9 @@ gulp.task(
|
||||
createCMapBundle().pipe(
|
||||
gulp.dest(MOZCENTRAL_CONTENT_DIR + "web/cmaps")
|
||||
),
|
||||
createICCBundle().pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR + "web/iccs")),
|
||||
createStandardFontBundle().pipe(
|
||||
gulp.dest(MOZCENTRAL_CONTENT_DIR + "web/standard_fonts")
|
||||
),
|
||||
createWasmBundle().pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR + "web/wasm")),
|
||||
|
||||
preprocessHTML("web/viewer.html", defines).pipe(
|
||||
gulp.dest(MOZCENTRAL_CONTENT_DIR + "web")
|
||||
@ -1555,15 +1496,9 @@ gulp.task(
|
||||
createCMapBundle().pipe(
|
||||
gulp.dest(CHROME_BUILD_CONTENT_DIR + "web/cmaps")
|
||||
),
|
||||
createICCBundle().pipe(
|
||||
gulp.dest(CHROME_BUILD_CONTENT_DIR + "web/iccs")
|
||||
),
|
||||
createStandardFontBundle().pipe(
|
||||
gulp.dest(CHROME_BUILD_CONTENT_DIR + "web/standard_fonts")
|
||||
),
|
||||
createWasmBundle().pipe(
|
||||
gulp.dest(CHROME_BUILD_CONTENT_DIR + "web/wasm")
|
||||
),
|
||||
|
||||
preprocessHTML("web/viewer.html", defines).pipe(
|
||||
gulp.dest(CHROME_BUILD_CONTENT_DIR + "web")
|
||||
@ -1574,7 +1509,7 @@ gulp.task(
|
||||
postcssDirPseudoClass(),
|
||||
discardCommentsCSS(),
|
||||
postcssNesting(),
|
||||
postcssLightDarkFunction({ preserve: true }),
|
||||
postcssDarkThemeClass(),
|
||||
autoprefixer(AUTOPREFIXER_CONFIG),
|
||||
])
|
||||
)
|
||||
@ -1650,7 +1585,6 @@ function buildLibHelper(bundleDefines, inputStream, outputDir) {
|
||||
"pdfjs-lib": "../pdf.js",
|
||||
"display-cmap_reader_factory": "./cmap_reader_factory.js",
|
||||
"display-standard_fontdata_factory": "./standard_fontdata_factory.js",
|
||||
"display-wasm_factory": "./wasm_factory.js",
|
||||
"display-fetch_stream": "./fetch_stream.js",
|
||||
"display-network": "./network.js",
|
||||
"display-node_stream": "./node_stream.js",
|
||||
@ -1696,7 +1630,6 @@ function buildLib(defines, dir) {
|
||||
}),
|
||||
gulp.src("test/unit/*.js", { base: ".", encoding: false }),
|
||||
gulp.src("external/openjpeg/*.js", { base: "openjpeg/", encoding: false }),
|
||||
gulp.src("external/qcms/*.js", { base: "qcms/", encoding: false }),
|
||||
]);
|
||||
|
||||
return buildLibHelper(bundleDefines, inputStream, dir);
|
||||
@ -2000,34 +1933,31 @@ function createBaseline(done) {
|
||||
|
||||
gulp.task(
|
||||
"unittestcli",
|
||||
gulp.series(
|
||||
setTestEnv,
|
||||
"generic-legacy",
|
||||
"lib-legacy",
|
||||
function runUnitTestCli(done) {
|
||||
const options = [
|
||||
"node_modules/jasmine/bin/jasmine",
|
||||
"JASMINE_CONFIG_PATH=test/unit/clitests.json",
|
||||
];
|
||||
const jasmineProcess = startNode(options, { stdio: "inherit" });
|
||||
jasmineProcess.on("close", function (code) {
|
||||
if (code !== 0) {
|
||||
done(new Error("Unit tests failed."));
|
||||
return;
|
||||
}
|
||||
done();
|
||||
});
|
||||
}
|
||||
)
|
||||
gulp.series(setTestEnv, "lib-legacy", function runUnitTestCli(done) {
|
||||
const options = [
|
||||
"node_modules/jasmine/bin/jasmine",
|
||||
"JASMINE_CONFIG_PATH=test/unit/clitests.json",
|
||||
];
|
||||
const jasmineProcess = startNode(options, { stdio: "inherit" });
|
||||
jasmineProcess.on("close", function (code) {
|
||||
if (code !== 0) {
|
||||
done(new Error("Unit tests failed."));
|
||||
return;
|
||||
}
|
||||
done();
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
gulp.task("lint", function (done) {
|
||||
console.log();
|
||||
console.log("### Linting JS/CSS/JSON/SVG/HTML files");
|
||||
console.log("### Linting JS/CSS/JSON/SVG files");
|
||||
|
||||
// Ensure that we lint the Firefox specific *.jsm files too.
|
||||
const esLintOptions = [
|
||||
"node_modules/eslint/bin/eslint",
|
||||
"--ext",
|
||||
".js,.jsm,.mjs,.json",
|
||||
".",
|
||||
"--report-unused-disable-directives",
|
||||
];
|
||||
@ -2047,19 +1977,17 @@ gulp.task("lint", function (done) {
|
||||
const prettierOptions = [
|
||||
"node_modules/prettier/bin/prettier.cjs",
|
||||
"**/*.json",
|
||||
"**/*.html",
|
||||
];
|
||||
if (process.argv.includes("--fix")) {
|
||||
prettierOptions.push("--log-level", "error", "--write");
|
||||
prettierOptions.push("--log-level", "silent", "--write");
|
||||
} else {
|
||||
prettierOptions.push("--log-level", "warn", "--check");
|
||||
}
|
||||
|
||||
const svgLintOptions = [
|
||||
"node_modules/svglint/bin/cli.js",
|
||||
"**/*.svg",
|
||||
"web/**/*.svg",
|
||||
"--ci",
|
||||
"--no-summary",
|
||||
];
|
||||
|
||||
const esLintProcess = startNode(esLintOptions, { stdio: "inherit" });
|
||||
@ -2084,7 +2012,12 @@ gulp.task("lint", function (done) {
|
||||
}
|
||||
|
||||
const svgLintProcess = startNode(svgLintOptions, {
|
||||
stdio: "inherit",
|
||||
stdio: "pipe",
|
||||
});
|
||||
svgLintProcess.stdout.setEncoding("utf8");
|
||||
svgLintProcess.stdout.on("data", m => {
|
||||
m = m.toString().replace(/-+ Summary -+.*/ms, "");
|
||||
console.log(m);
|
||||
});
|
||||
svgLintProcess.on("close", function (svgLintCode) {
|
||||
if (svgLintCode !== 0) {
|
||||
@ -2133,15 +2066,6 @@ gulp.task(
|
||||
)
|
||||
);
|
||||
|
||||
gulp.task("dev-wasm", function () {
|
||||
const VIEWER_WASM_OUTPUT = "web/wasm/";
|
||||
|
||||
fs.rmSync(VIEWER_WASM_OUTPUT, { recursive: true, force: true });
|
||||
fs.mkdirSync(VIEWER_WASM_OUTPUT, { recursive: true });
|
||||
|
||||
return createWasmBundle().pipe(gulp.dest(VIEWER_WASM_OUTPUT));
|
||||
});
|
||||
|
||||
gulp.task(
|
||||
"dev-sandbox",
|
||||
gulp.series(
|
||||
@ -2177,13 +2101,6 @@ gulp.task(
|
||||
gulp.series("locale")
|
||||
);
|
||||
},
|
||||
function watchWasm() {
|
||||
gulp.watch(
|
||||
["external/openjpeg/*", "external/qcms/*"],
|
||||
{ ignoreInitial: false },
|
||||
gulp.series("dev-wasm")
|
||||
);
|
||||
},
|
||||
function watchDevSandbox() {
|
||||
gulp.watch(
|
||||
[
|
||||
@ -2288,8 +2205,6 @@ gulp.task("metalsmith", async function () {
|
||||
.use(
|
||||
layouts({
|
||||
directory: "docs/templates",
|
||||
pattern: "**",
|
||||
transform: "nunjucks",
|
||||
})
|
||||
)
|
||||
.use(relative())
|
||||
@ -2341,7 +2256,8 @@ function packageJson() {
|
||||
bugs: DIST_BUGS_URL,
|
||||
license: DIST_LICENSE,
|
||||
optionalDependencies: {
|
||||
"@napi-rs/canvas": "^0.1.81",
|
||||
canvas: "^3.0.0-rc2",
|
||||
path2d: "^0.2.1",
|
||||
},
|
||||
browser: {
|
||||
canvas: false,
|
||||
@ -2355,7 +2271,7 @@ function packageJson() {
|
||||
url: `git+${DIST_GIT_URL}`,
|
||||
},
|
||||
engines: {
|
||||
node: ">=20.16.0 || >=22.3.0",
|
||||
node: ">=18",
|
||||
},
|
||||
scripts: {},
|
||||
};
|
||||
@ -2400,24 +2316,12 @@ gulp.task(
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(gulp.dest(DIST_DIR)),
|
||||
gulp
|
||||
.src(GENERIC_DIR + "web/iccs/**/*", {
|
||||
base: GENERIC_DIR + "web",
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(gulp.dest(DIST_DIR)),
|
||||
gulp
|
||||
.src(GENERIC_DIR + "web/standard_fonts/**/*", {
|
||||
base: GENERIC_DIR + "web",
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(gulp.dest(DIST_DIR)),
|
||||
gulp
|
||||
.src(GENERIC_DIR + "web/wasm/**/*", {
|
||||
base: GENERIC_DIR + "web",
|
||||
encoding: false,
|
||||
})
|
||||
.pipe(gulp.dest(DIST_DIR)),
|
||||
gulp
|
||||
.src(
|
||||
[
|
||||
|
||||
@ -71,12 +71,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Jami me gin acoya…
|
||||
pdfjs-document-properties-file-name = Nying pwail:
|
||||
pdfjs-document-properties-file-size = Dit pa pwail:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Wiye:
|
||||
pdfjs-document-properties-author = Ngat mucoyo:
|
||||
pdfjs-document-properties-subject = Subjek:
|
||||
pdfjs-document-properties-keywords = Lok mapire tek:
|
||||
pdfjs-document-properties-creation-date = Nino dwe me cwec:
|
||||
pdfjs-document-properties-modification-date = Nino dwe me yub:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Lacwec:
|
||||
pdfjs-document-properties-producer = Layub PDF:
|
||||
pdfjs-document-properties-version = Kit PDF:
|
||||
@ -173,6 +185,9 @@ pdfjs-page-scale-actual = Dite kikome
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = Bal otime kun cano PDF.
|
||||
@ -198,3 +213,13 @@ pdfjs-password-invalid = Mung me donyo pe atir. Tim ber i tem doki.
|
||||
pdfjs-password-ok-button = OK
|
||||
pdfjs-password-cancel-button = Juki
|
||||
pdfjs-web-fonts-disabled = Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -71,17 +71,37 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Dokumenteienskappe…
|
||||
pdfjs-document-properties-file-name = Lêernaam:
|
||||
pdfjs-document-properties-file-size = Lêergrootte:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } kG ({ $size_b } grepe)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MG ({ $size_b } grepe)
|
||||
pdfjs-document-properties-title = Titel:
|
||||
pdfjs-document-properties-author = Outeur:
|
||||
pdfjs-document-properties-subject = Onderwerp:
|
||||
pdfjs-document-properties-keywords = Sleutelwoorde:
|
||||
pdfjs-document-properties-creation-date = Skeppingsdatum:
|
||||
pdfjs-document-properties-modification-date = Wysigingsdatum:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Skepper:
|
||||
pdfjs-document-properties-producer = PDF-vervaardiger:
|
||||
pdfjs-document-properties-version = PDF-weergawe:
|
||||
pdfjs-document-properties-page-count = Aantal bladsye:
|
||||
|
||||
## Variables:
|
||||
## $width (Number) - the width of the (current) page
|
||||
## $height (Number) - the height of the (current) page
|
||||
## $unit (String) - the unit of measurement of the (current) page
|
||||
## $name (String) - the name of the (current) page
|
||||
## $orientation (String) - the orientation of the (current) page
|
||||
|
||||
|
||||
##
|
||||
|
||||
pdfjs-document-properties-close-button = Sluit
|
||||
@ -152,6 +172,9 @@ pdfjs-page-scale-actual = Werklike grootte
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = 'n Fout het voorgekom met die laai van die PDF.
|
||||
@ -177,3 +200,13 @@ pdfjs-password-invalid = Ongeldige wagwoord. Probeer gerus weer.
|
||||
pdfjs-password-ok-button = OK
|
||||
pdfjs-password-cancel-button = Kanselleer
|
||||
pdfjs-web-fonts-disabled = Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -89,12 +89,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Propiedatz d'o documento...
|
||||
pdfjs-document-properties-file-name = Nombre de fichero:
|
||||
pdfjs-document-properties-file-size = Grandaria d'o fichero:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Titol:
|
||||
pdfjs-document-properties-author = Autor:
|
||||
pdfjs-document-properties-subject = Afer:
|
||||
pdfjs-document-properties-keywords = Parolas clau:
|
||||
pdfjs-document-properties-creation-date = Calendata de creyación:
|
||||
pdfjs-document-properties-modification-date = Calendata de modificación:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Creyador:
|
||||
pdfjs-document-properties-producer = Creyador de PDF:
|
||||
pdfjs-document-properties-version = Versión de PDF:
|
||||
@ -201,6 +213,9 @@ pdfjs-page-scale-actual = Grandaria actual
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = S'ha produciu una error en cargar o PDF.
|
||||
@ -211,6 +226,10 @@ pdfjs-rendering-error = Ha ocurriu una error en renderizar a pachina.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -226,3 +245,13 @@ pdfjs-password-invalid = Clau invalida. Torna a intentar-lo.
|
||||
pdfjs-password-ok-button = Acceptar
|
||||
pdfjs-password-cancel-button = Cancelar
|
||||
pdfjs-web-fonts-disabled = As fuents web son desactivadas: no se puet incrustar fichers PDF.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -105,13 +105,13 @@ pdfjs-document-properties-button-label = خصائص المستند…
|
||||
pdfjs-document-properties-file-name = اسم الملف:
|
||||
pdfjs-document-properties-file-size = حجم الملف:
|
||||
# Variables:
|
||||
# $kb (Number) - the PDF file size in kilobytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } ك.بايت ({ $b } بايتات)
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } ك.بايت ({ $size_b } بايت)
|
||||
# Variables:
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } م.بايت ({ $b } بايتات)
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } م.بايت ({ $size_b } بايت)
|
||||
pdfjs-document-properties-title = العنوان:
|
||||
pdfjs-document-properties-author = المؤلف:
|
||||
pdfjs-document-properties-subject = الموضوع:
|
||||
@ -119,8 +119,9 @@ pdfjs-document-properties-keywords = الكلمات الأساسية:
|
||||
pdfjs-document-properties-creation-date = تاريخ الإنشاء:
|
||||
pdfjs-document-properties-modification-date = تاريخ التعديل:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }، { $time }
|
||||
pdfjs-document-properties-creator = المنشئ:
|
||||
pdfjs-document-properties-producer = منتج PDF:
|
||||
pdfjs-document-properties-version = إصدارة PDF:
|
||||
@ -215,7 +216,7 @@ pdfjs-find-next-button =
|
||||
pdfjs-find-next-button-label = التالي
|
||||
pdfjs-find-highlight-checkbox = أبرِز الكل
|
||||
pdfjs-find-match-case-checkbox-label = طابق حالة الأحرف
|
||||
pdfjs-find-match-diacritics-checkbox-label = طابِق التشكيل
|
||||
pdfjs-find-match-diacritics-checkbox-label = طابِق الحركات
|
||||
pdfjs-find-entire-word-checkbox-label = كلمات كاملة
|
||||
pdfjs-find-reached-top = تابعت من الأسفل بعدما وصلت إلى بداية المستند
|
||||
pdfjs-find-reached-bottom = تابعت من الأعلى بعدما وصلت إلى نهاية المستند
|
||||
@ -271,6 +272,10 @@ pdfjs-rendering-error = حدث خطأ أثناء عرض الصفحة.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }، { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -278,9 +283,6 @@ pdfjs-rendering-error = حدث خطأ أثناء عرض الصفحة.
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
pdfjs-text-annotation-type =
|
||||
.alt = [تعليق { $type }]
|
||||
# Variables:
|
||||
# $dateObj (Date) - the modification date and time of the annotation
|
||||
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
|
||||
## Password
|
||||
|
||||
@ -308,25 +310,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = أبرِز
|
||||
.aria-label = أبرِز
|
||||
pdfjs-highlight-floating-button-label = أبرِز
|
||||
pdfjs-editor-signature-button =
|
||||
.title = أضِف توقيع
|
||||
pdfjs-editor-signature-button-label = أضِف توقيع
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = محرِّر الإبراز
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = محرِّر الرسم
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = محرِّر التوقيع: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = محرِّر الصور
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -338,8 +321,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = أزِل الصورة
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = أزِل الإبراز
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = أزِل التوقيع
|
||||
|
||||
##
|
||||
|
||||
@ -356,26 +337,19 @@ pdfjs-editor-stamp-add-image-button-label = أضِف صورة
|
||||
pdfjs-editor-free-highlight-thickness-input = السماكة
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = غيّر السُمك عند إبراز عناصر أُخرى غير النص
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = عناصر التحكم في التوقيع والتوقيعات المحفوظة
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = أضِف توقيع جديد
|
||||
pdfjs-editor-signature-add-signature-button-label = أضِف توقيع جديد
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = التوقيع المحفوظ: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = محرِّر النص
|
||||
.default-content = ابدأ في كتابة…
|
||||
pdfjs-free-text-default-content = ابدأ الكتابة…
|
||||
pdfjs-ink =
|
||||
.aria-label = محرِّر الرسم
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = صورة أنشأها المستخدم
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = نص بديل
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = حرّر النص البديل
|
||||
pdfjs-editor-alt-text-edit-button-label = تحرير النص البديل
|
||||
pdfjs-editor-alt-text-dialog-label = اختر خيار
|
||||
pdfjs-editor-alt-text-dialog-description = يساعد النص البديل عندما لا يتمكن الأشخاص من رؤية الصورة أو عندما لا يتم تحميلها.
|
||||
pdfjs-editor-alt-text-add-description-label = أضِف وصف
|
||||
@ -388,13 +362,18 @@ pdfjs-editor-alt-text-decorative-tooltip = عُلّمت على أنها زخرف
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = على سبيل المثال، "يجلس شاب على الطاولة لتناول وجبة"
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = نص بديل
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = الزاوية اليُسرى العُليا — غيّر الحجم
|
||||
pdfjs-editor-resizer-label-top-middle = أعلى الوسط - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-top-right = الزاوية اليُمنى العُليا - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-middle-right = اليمين الأوسط - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-bottom-right = الزاوية اليُمنى السُفلى - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-bottom-middle = أسفل الوسط - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-bottom-left = الزاوية اليُسرى السُفلية - غيّر الحجم
|
||||
pdfjs-editor-resizer-label-middle-left = مُنتصف اليسار - غيّر الحجم
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = الزاوية اليُسرى العُليا — غيّر الحجم
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -441,155 +420,6 @@ pdfjs-editor-highlight-show-all-button =
|
||||
## New alt-text dialog
|
||||
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
|
||||
|
||||
# Modal header positioned above a text box where users can edit the alt text.
|
||||
pdfjs-editor-new-alt-text-dialog-edit-label = حرّر النص البديل (وصف الصورة)
|
||||
# Modal header positioned above a text box where users can add the alt text.
|
||||
pdfjs-editor-new-alt-text-dialog-add-label = أضِف النص البديل (وصف الصورة)
|
||||
pdfjs-editor-new-alt-text-textarea =
|
||||
.placeholder = اكتب وصفك هنا…
|
||||
# This text refers to the alt text box above this description. It offers a definition of alt text.
|
||||
pdfjs-editor-new-alt-text-description = وصف مختصر للأشخاص الذين لا يستطيعون رؤية الصورة أو عندما لا يتم تحميل الصورة.
|
||||
# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
|
||||
pdfjs-editor-new-alt-text-disclaimer1 = أُنشئ هذا النص البديل تلقائيًا وقد يكون غير دقيق.
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = اطّلع على المزيد
|
||||
pdfjs-editor-new-alt-text-create-automatically-button-label = أنشئ نص بديل تلقائيًا
|
||||
pdfjs-editor-new-alt-text-not-now-button = ليس الآن
|
||||
pdfjs-editor-new-alt-text-error-title = لم يتمكن من إنشاء نص بديل تلقائيًا
|
||||
pdfjs-editor-new-alt-text-error-description = يُرجى كتابة نص بديلك أو المحاولة مرة أخرى لاحقًا.
|
||||
pdfjs-editor-new-alt-text-error-close-button = أغلق
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = يُنزّل نموذج الذكاء الاصطناعي للنص البديل ({ $downloadedSize } من { $totalSize } م.بايت)
|
||||
.aria-valuetext = يُنزّل نموذج الذكاء الاصطناعي للنص البديل ({ $downloadedSize } من { $totalSize } م.بايت)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = أُضِيف نص بديل
|
||||
pdfjs-editor-new-alt-text-added-button-label = أُضِيف نص بديل
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = نص بديل مفقود
|
||||
pdfjs-editor-new-alt-text-missing-button-label = نص بديل مفقود
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = راجع النص البديل
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = راجع النص البديل
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
# $generatedAltText (String) - the generated alt-text.
|
||||
pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = أُنشئ تلقائيًا: { $generatedAltText }
|
||||
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-image-alt-text-settings-button =
|
||||
.title = إعدادات النص البديل للصورة
|
||||
pdfjs-image-alt-text-settings-button-label = إعدادات النص البديل للصورة
|
||||
pdfjs-editor-alt-text-settings-dialog-label = إعدادات النص البديل للصورة
|
||||
pdfjs-editor-alt-text-settings-automatic-title = نص بديل تلقائي
|
||||
pdfjs-editor-alt-text-settings-create-model-button-label = أنشئ نص بديل تلقائيًا
|
||||
pdfjs-editor-alt-text-settings-create-model-description = يقترح أوصافًا لمساعدة الأشخاص الذين لا يستطيعون رؤية الصورة أو عندما لا يتم تحميل الصورة.
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = نموذج الذكاء الاصطناعي للنص البديل ({ $totalSize } م.بايت)
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = يتم تشغيله محليًا على جهازك حتى تظل بياناتك خاصة. مطلوب للنص البديل التلقائي.
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = احذف
|
||||
pdfjs-editor-alt-text-settings-download-model-button = نزّل
|
||||
pdfjs-editor-alt-text-settings-downloading-model-button = يُنزل…
|
||||
pdfjs-editor-alt-text-settings-editor-title = مُحرِّر النص البديل
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = أظهِر مُحرِّر النص البديل على الفور عند إضافة صورة
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = يساعدك على التأكد من أن جميع صورك تحتوي على نص بديل.
|
||||
pdfjs-editor-alt-text-settings-close-button = أغلق
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = أُزِيل البرز
|
||||
pdfjs-editor-undo-bar-message-freetext = أُزيل النص
|
||||
pdfjs-editor-undo-bar-message-ink = أُزِيلت الرسمة
|
||||
pdfjs-editor-undo-bar-message-stamp = أُزيلت الصورة
|
||||
pdfjs-editor-undo-bar-message-signature = أُزيل التوقيع
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[zero] أُزيل لا تعليق
|
||||
[one] أُزيل تعليق
|
||||
[two] أُزيل تعليقين
|
||||
[few] أُزيلت { $count } تعليقات
|
||||
[many] أُزيل { $count } تعليق
|
||||
*[other] أُزيل { $count } تعليق
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = تراجع
|
||||
pdfjs-editor-undo-bar-undo-button-label = تراجع
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = أغلق
|
||||
pdfjs-editor-undo-bar-close-button-label = أغلق
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = يتيح هذا النموذج للمستخدم إنشاء توقيع لإضافته إلى مستند PDF. ويمكن للمستخدم تحرير الاسم (الذي يعمل أيضًا كنص بديل)، وحفظ التوقيع بشكل اختياري للاستخدام المتكرر.
|
||||
pdfjs-editor-add-signature-dialog-title = أضِف توقيعا
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = اكتب
|
||||
.title = اكتب
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = ارسم
|
||||
.title = ارسم
|
||||
pdfjs-editor-add-signature-image-button = صورة
|
||||
.title = صورة
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = اكتب توقيعك
|
||||
.placeholder = اكتب توقيعك
|
||||
pdfjs-editor-add-signature-draw-placeholder = ارسم توقيعك
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = السماكة
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = سمك الرسم: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = اسحب الملف هنا لرفعه
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] أو اختر ملفات الصور
|
||||
*[other] أو تصفح ملفات الصور
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = الوصف (نص بديل)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = الوصف (نص بديل)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = توقيع
|
||||
pdfjs-editor-add-signature-clear-button-label = امحُ التوقيع
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = امحُ التوقيع
|
||||
pdfjs-editor-add-signature-save-checkbox = احفظ التوقيع
|
||||
pdfjs-editor-add-signature-save-warning-message = لقد وصلت إلى الحد الأقصى وهو 5 توقيعات محفوظة. أزِل توقيع واحد لحفظ المزيد.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = تعذر رفع الصورة.
|
||||
pdfjs-editor-add-signature-image-upload-error-description = تحقق من اتصال الشبكة لديك أو جرّب صورة أخرى.
|
||||
pdfjs-editor-add-signature-error-close-button = أغلق
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = ألغِ
|
||||
pdfjs-editor-add-signature-add-button = أضِف
|
||||
pdfjs-editor-edit-signature-update-button = حدّث
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = أزِل التوقيع المحفوظ
|
||||
pdfjs-editor-delete-signature-button-label1 = أزِل التوقيع المحفوظ
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = عدّل الوصف
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = عدّل الوصف
|
||||
|
||||
@ -77,10 +77,22 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Propiedaes del documentu…
|
||||
pdfjs-document-properties-file-name = Nome del ficheru:
|
||||
pdfjs-document-properties-file-size = Tamañu del ficheru:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Títulu:
|
||||
pdfjs-document-properties-keywords = Pallabres clave:
|
||||
pdfjs-document-properties-creation-date = Data de creación:
|
||||
pdfjs-document-properties-modification-date = Data de modificación:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-producer = Productor del PDF:
|
||||
pdfjs-document-properties-version = Versión del PDF:
|
||||
pdfjs-document-properties-page-count = Númberu de páxines:
|
||||
@ -166,7 +178,24 @@ pdfjs-page-landmark =
|
||||
|
||||
pdfjs-loading-error = Asocedió un fallu mentanto se cargaba'l PDF.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
|
||||
## Password
|
||||
|
||||
pdfjs-password-ok-button = Aceptar
|
||||
pdfjs-password-cancel-button = Encaboxar
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -89,12 +89,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Sənəd xüsusiyyətləri…
|
||||
pdfjs-document-properties-file-name = Fayl adı:
|
||||
pdfjs-document-properties-file-size = Fayl ölçüsü:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bayt)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bayt)
|
||||
pdfjs-document-properties-title = Başlık:
|
||||
pdfjs-document-properties-author = Müəllif:
|
||||
pdfjs-document-properties-subject = Mövzu:
|
||||
pdfjs-document-properties-keywords = Açar sözlər:
|
||||
pdfjs-document-properties-creation-date = Yaradılış Tarixi :
|
||||
pdfjs-document-properties-modification-date = Dəyişdirilmə Tarixi :
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Yaradan:
|
||||
pdfjs-document-properties-producer = PDF yaradıcısı:
|
||||
pdfjs-document-properties-version = PDF versiyası:
|
||||
@ -201,6 +213,9 @@ pdfjs-page-scale-actual = Hazırkı Həcm
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = PDF yüklenərkən bir səhv yarandı.
|
||||
@ -211,6 +226,10 @@ pdfjs-rendering-error = Səhifə göstərilərkən səhv yarandı.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -226,3 +245,13 @@ pdfjs-password-invalid = Parol səhvdir. Bir daha yoxlayın.
|
||||
pdfjs-password-ok-button = Tamam
|
||||
pdfjs-password-cancel-button = Ləğv et
|
||||
pdfjs-web-fonts-disabled = Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } МБ ({ $b } байтаў)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } КБ ({ $size_b } байт)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } МБ ({ $size_b } байт)
|
||||
pdfjs-document-properties-title = Загаловак:
|
||||
pdfjs-document-properties-author = Аўтар:
|
||||
pdfjs-document-properties-subject = Тэма:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Дата змянення:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Стваральнік:
|
||||
pdfjs-document-properties-producer = Вырабнік PDF:
|
||||
pdfjs-document-properties-version = Версія PDF:
|
||||
@ -265,6 +277,10 @@ pdfjs-rendering-error = Здарылася памылка падчас адлю
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -288,13 +304,9 @@ pdfjs-web-fonts-disabled = Шрыфты Сеціва забаронены: не
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Тэкст
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Змяніць колер тэксту
|
||||
pdfjs-editor-free-text-button-label = Тэкст
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Маляваць
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Змяніць колер малюнка
|
||||
pdfjs-editor-ink-button-label = Маляваць
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Дадаць або змяніць выявы
|
||||
@ -306,33 +318,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Падфарбаваць
|
||||
.aria-label = Падфарбаваць
|
||||
pdfjs-highlight-floating-button-label = Падфарбаваць
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Каментаваць
|
||||
.aria-label = Каментаваць
|
||||
pdfjs-comment-floating-button-label = Каментаваць
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Каментарый
|
||||
.aria-label = Каментарый
|
||||
pdfjs-editor-comment-button-label = Каментарый
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Дадаць подпіс
|
||||
pdfjs-editor-signature-button-label = Дадаць подпіс
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Рэдактар вылучэнняў
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Рэдактар малюнкаў
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Рэдактар подпісаў: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Рэдактар выяў
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -344,8 +329,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Выдаліць выяву
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Выдаліць падфарбоўку
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Выдаліць подпіс
|
||||
|
||||
##
|
||||
|
||||
@ -362,42 +345,19 @@ pdfjs-editor-stamp-add-image-button-label = Дадаць выяву
|
||||
pdfjs-editor-free-highlight-thickness-input = Таўшчыня
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Змяняць таўшчыню пры вылучэнні іншых элементаў, акрамя тэксту
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Элементы кіравання подпісамі і захаваныя подпісы
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Дадаць новы подпіс
|
||||
pdfjs-editor-signature-add-signature-button-label = Дадаць новы подпіс
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Захаваны подпіс: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Тэкставы рэдактар
|
||||
.default-content = Пачніце ўводзіць…
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] Каментарый
|
||||
[few] Каментарыі
|
||||
*[many] Каментарыі
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Закрыць бакавую панэль
|
||||
.aria-label = Закрыць бакавую панэль
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Закрыць бакавую панэль
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Бачыце штосьці вартае ўвагі? Вылучыце і пакіньце каментарый.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Падрабязней
|
||||
pdfjs-free-text-default-content = Пачніце набор тэксту…
|
||||
pdfjs-ink =
|
||||
.aria-label = Графічны рэдактар
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Выява, створаная карыстальнікам
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Альтэрнатыўны тэкст
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Змяніць альтэрнатыўны тэкст
|
||||
pdfjs-editor-alt-text-edit-button-label = Змяніць альтэрнатыўны тэкст
|
||||
pdfjs-editor-alt-text-dialog-label = Выберыце варыянт
|
||||
pdfjs-editor-alt-text-dialog-description = Альтэрнатыўны тэкст дапамагае, калі людзі не бачаць выяву або калі яна не загружаецца.
|
||||
pdfjs-editor-alt-text-add-description-label = Дадаць апісанне
|
||||
@ -410,13 +370,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Пазначаны як дэкара
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Напрыклад, «Малады чалавек садзіцца за стол есці»
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Альтэрнатыўны тэкст
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Верхні левы кут — змяніць памер
|
||||
pdfjs-editor-resizer-label-top-middle = Уверсе пасярэдзіне — змяніць памер
|
||||
pdfjs-editor-resizer-label-top-right = Верхні правы кут — змяніць памер
|
||||
pdfjs-editor-resizer-label-middle-right = Пасярэдзіне справа — змяніць памер
|
||||
pdfjs-editor-resizer-label-bottom-right = Правы ніжні кут — змяніць памер
|
||||
pdfjs-editor-resizer-label-bottom-middle = Пасярэдзіне ўнізе — змяніць памер
|
||||
pdfjs-editor-resizer-label-bottom-left = Левы ніжні кут — змяніць памер
|
||||
pdfjs-editor-resizer-label-middle-left = Пасярэдзіне злева — змяніць памер
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Верхні левы кут — змяніць памер
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -482,19 +447,14 @@ pdfjs-editor-new-alt-text-error-close-button = Закрыць
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Сцягванне мадэлі ШІ для тэксту для атрыбута alt ({ $downloadedSize } з { $totalSize } МБ)
|
||||
.aria-valuetext = Сцягванне мадэлі ШІ для тэксту для атрыбута alt ({ $downloadedSize } з { $totalSize } МБ)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Тэкст для атрыбута alt дададзены
|
||||
pdfjs-editor-new-alt-text-added-button-label = Тэкст для атрыбута alt дададзены
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Адсутнічае тэкст для атрыбута alt
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Адсутнічае тэкст для атрыбута alt
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Водгук на тэкст для атрыбута alt
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Водгук на тэкст для атрыбута alt
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -521,134 +481,3 @@ pdfjs-editor-alt-text-settings-editor-title = Рэдактар тэксту дл
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Адразу паказваць рэдактар тэксту для атрыбута alt пры даданні выявы
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Дапамагае пераканацца, што ўсе вашы выявы маюць альтэрнатыўны тэкст.
|
||||
pdfjs-editor-alt-text-settings-close-button = Закрыць
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Вылучэнне дададзена
|
||||
pdfjs-editor-freetext-added-alert = Тэкст дададзены
|
||||
pdfjs-editor-ink-added-alert = Малюнак дададзены
|
||||
pdfjs-editor-stamp-added-alert = Выява дададзена
|
||||
pdfjs-editor-signature-added-alert = Подпіс дададзены
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Падсвятленне выдалена
|
||||
pdfjs-editor-undo-bar-message-freetext = Тэкст выдалены
|
||||
pdfjs-editor-undo-bar-message-ink = Малюнак выдалены
|
||||
pdfjs-editor-undo-bar-message-stamp = Відарыс выдалены
|
||||
pdfjs-editor-undo-bar-message-signature = Подпіс выдалены
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } анатацыя выдалена
|
||||
[few] { $count } анатацыі выдалена
|
||||
*[many] { $count } анатацый выдалена
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Адмяніць
|
||||
pdfjs-editor-undo-bar-undo-button-label = Адмяніць
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Закрыць
|
||||
pdfjs-editor-undo-bar-close-button-label = Закрыць
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Гэты рэжым дазваляе карыстальніку ствараць подпіс для дадання ў дакумент PDF. Карыстальнік можа рэдагаваць імя (якое таксама служыць альтэрнатыўным тэкстам) і пры жаданні захаваць подпіс для паўторнага выкарыстання.
|
||||
pdfjs-editor-add-signature-dialog-title = Дадаць подпіс
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Увод
|
||||
.title = Увод
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Маляваць
|
||||
.title = Маляваць
|
||||
pdfjs-editor-add-signature-image-button = Выява
|
||||
.title = Выява
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Увядзіце свой подпіс
|
||||
.placeholder = Увядзіце свой подпіс
|
||||
pdfjs-editor-add-signature-draw-placeholder = Намалюйце свой подпіс
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Таўшчыня
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Таўшчыня малюнка: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Перацягнуць файл сюды, каб загрузіць
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Або праглядайце файлы малюнкаў
|
||||
*[other] Або праглядайце файлы малюнкаў
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Апісанне (альтэрнатыўны тэкст)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Апісанне (альтэрнатыўны тэкст)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Подпіс
|
||||
pdfjs-editor-add-signature-clear-button-label = Выдаліць подпіс
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Выдаліць подпіс
|
||||
pdfjs-editor-add-signature-save-checkbox = Захаваць подпіс
|
||||
pdfjs-editor-add-signature-save-warning-message = Вы дасягнулі ліміту ў 5 захаваных подпісаў. Выдаліце адзін, каб захаваць іншы.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Не ўдалося загрузіць выяву
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Праверце падключэнне да сеткі ці паспрабуйце іншую выяву.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Не ўдалося пераўтварыць гэту выяву ў подпіс
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Калі ласка, паспрабуйце зацягнуць іншую выяву.
|
||||
pdfjs-editor-add-signature-error-close-button = Закрыць
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Скасаваць
|
||||
pdfjs-editor-add-signature-add-button = Дадаць
|
||||
pdfjs-editor-edit-signature-update-button = Абнавіць
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Змяніць каментарый
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Змяніць каментарый
|
||||
pdfjs-editor-delete-comment-popup-button-label = Выдаліць каментарый
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Выдаліць каментарый
|
||||
pdfjs-show-comment-button =
|
||||
.title = Паказаць каментарый
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Змяніць каментарый
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Абнавіць
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Дадаць каментарый
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Дадаць
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Пачніце набор тэксту…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Скасаваць
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Змяніць каментарый
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Дадаць каментарый
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Выдаліць захаваны подпіс
|
||||
pdfjs-editor-delete-signature-button-label1 = Выдаліць захаваны подпіс
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Рэдагаваць апісанне
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Рэдагаваць апісанне
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } МБ ({ $b } байта)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } КБ ({ $size_b } байта)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } МБ ({ $size_b } байта)
|
||||
pdfjs-document-properties-title = Заглавие:
|
||||
pdfjs-document-properties-author = Автор:
|
||||
pdfjs-document-properties-subject = Тема:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Дата на промяна:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Създател:
|
||||
pdfjs-document-properties-producer = PDF произведен от:
|
||||
pdfjs-document-properties-version = Издание на PDF:
|
||||
@ -263,6 +275,10 @@ pdfjs-rendering-error = Грешка при изчертаване на стра
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -316,15 +332,19 @@ pdfjs-editor-ink-opacity-input = Прозрачност
|
||||
pdfjs-editor-stamp-add-image-button =
|
||||
.title = Добавяне на изображение
|
||||
pdfjs-editor-stamp-add-image-button-label = Добавяне на изображение
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Текстов редактор
|
||||
.default-content = Започнете да пишете…
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Затваряне на страничната лента
|
||||
pdfjs-free-text-default-content = Започнете да пишете…
|
||||
pdfjs-ink =
|
||||
.aria-label = Промяна на рисунка
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Изображение, създадено от потребител
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Алтернативен текст
|
||||
pdfjs-editor-alt-text-edit-button-label = Промяна на алтернативния текст
|
||||
pdfjs-editor-alt-text-dialog-label = Изберете от възможностите
|
||||
pdfjs-editor-alt-text-dialog-description = Алтернативният текст помага на потребителите, когато не могат да видят изображението или то не се зарежда.
|
||||
pdfjs-editor-alt-text-add-description-label = Добавяне на описание
|
||||
@ -341,6 +361,14 @@ pdfjs-editor-alt-text-textarea =
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Горен ляв ъгъл — преоразмеряване
|
||||
pdfjs-editor-resizer-label-top-middle = Горе в средата — преоразмеряване
|
||||
pdfjs-editor-resizer-label-top-right = Горен десен ъгъл — преоразмеряване
|
||||
pdfjs-editor-resizer-label-middle-right = Дясно в средата — преоразмеряване
|
||||
pdfjs-editor-resizer-label-bottom-right = Долен десен ъгъл — преоразмеряване
|
||||
pdfjs-editor-resizer-label-bottom-middle = Долу в средата — преоразмеряване
|
||||
pdfjs-editor-resizer-label-bottom-left = Долен ляв ъгъл — преоразмеряване
|
||||
pdfjs-editor-resizer-label-middle-left = Ляво в средата — преоразмеряване
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Горен ляв ъгъл — преоразмеряване
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -377,12 +405,13 @@ pdfjs-editor-colorpicker-pink =
|
||||
pdfjs-editor-colorpicker-red =
|
||||
.title = Червено
|
||||
|
||||
## Show all highlights
|
||||
## This is a toggle button to show/hide all the highlights.
|
||||
|
||||
|
||||
## New alt-text dialog
|
||||
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
|
||||
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Научете повече
|
||||
pdfjs-editor-new-alt-text-not-now-button = Не сега
|
||||
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Изтриване
|
||||
|
||||
@ -85,12 +85,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = নথি বৈশিষ্ট্য…
|
||||
pdfjs-document-properties-file-name = ফাইলের নাম:
|
||||
pdfjs-document-properties-file-size = ফাইলের আকার:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } কেবি ({ $size_b } বাইট)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } এমবি ({ $size_b } বাইট)
|
||||
pdfjs-document-properties-title = শিরোনাম:
|
||||
pdfjs-document-properties-author = লেখক:
|
||||
pdfjs-document-properties-subject = বিষয়:
|
||||
pdfjs-document-properties-keywords = কীওয়ার্ড:
|
||||
pdfjs-document-properties-creation-date = তৈরির তারিখ:
|
||||
pdfjs-document-properties-modification-date = পরিবর্তনের তারিখ:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = প্রস্তুতকারক:
|
||||
pdfjs-document-properties-producer = পিডিএফ প্রস্তুতকারক:
|
||||
pdfjs-document-properties-version = পিডিএফ সংষ্করণ:
|
||||
@ -191,6 +203,9 @@ pdfjs-page-scale-actual = প্রকৃত আকার
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = পিডিএফ লোড করার সময় ত্রুটি দেখা দিয়েছে।
|
||||
@ -201,6 +216,10 @@ pdfjs-rendering-error = পাতা উপস্থাপনার সময়
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -216,3 +235,13 @@ pdfjs-password-invalid = ভুল পাসওয়ার্ড। অনুগ
|
||||
pdfjs-password-ok-button = ঠিক আছে
|
||||
pdfjs-password-cancel-button = বাতিল
|
||||
pdfjs-web-fonts-disabled = ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না।
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -89,12 +89,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Document Properties…
|
||||
pdfjs-document-properties-file-name = File name:
|
||||
pdfjs-document-properties-file-size = File size:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Title:
|
||||
pdfjs-document-properties-author = Author:
|
||||
pdfjs-document-properties-subject = Subject:
|
||||
pdfjs-document-properties-keywords = Keywords:
|
||||
pdfjs-document-properties-creation-date = Creation Date:
|
||||
pdfjs-document-properties-modification-date = Modification Date:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Creator:
|
||||
pdfjs-document-properties-producer = PDF Producer:
|
||||
pdfjs-document-properties-version = PDF Version:
|
||||
@ -195,6 +207,9 @@ pdfjs-page-scale-actual = Actual Size
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = An error occurred while loading the PDF.
|
||||
@ -220,3 +235,13 @@ pdfjs-password-invalid = Invalid password. Please try again.
|
||||
pdfjs-password-ok-button = OK
|
||||
pdfjs-password-cancel-button = Cancel
|
||||
pdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -99,12 +99,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Perzhioù an teul…
|
||||
pdfjs-document-properties-file-name = Anv restr:
|
||||
pdfjs-document-properties-file-size = Ment ar restr:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } Ke ({ $size_b } eizhbit)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } Me ({ $size_b } eizhbit)
|
||||
pdfjs-document-properties-title = Titl:
|
||||
pdfjs-document-properties-author = Aozer:
|
||||
pdfjs-document-properties-subject = Danvez:
|
||||
pdfjs-document-properties-keywords = Gerioù-alc'hwez:
|
||||
pdfjs-document-properties-creation-date = Deiziad krouiñ:
|
||||
pdfjs-document-properties-modification-date = Deiziad kemmañ:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Krouer:
|
||||
pdfjs-document-properties-producer = Kenderc'her PDF:
|
||||
pdfjs-document-properties-version = Handelv PDF:
|
||||
@ -194,7 +206,7 @@ pdfjs-find-previous-button-label = Kent
|
||||
pdfjs-find-next-button =
|
||||
.title = Kavout an tamm frazenn war-lerc'h o klotañ ganti
|
||||
pdfjs-find-next-button-label = War-lerc'h
|
||||
pdfjs-find-highlight-checkbox = Sklêrijennañ pep tra
|
||||
pdfjs-find-highlight-checkbox = Usskediñ pep tra
|
||||
pdfjs-find-match-case-checkbox-label = Teurel evezh ouzh ar pennlizherennoù
|
||||
pdfjs-find-match-diacritics-checkbox-label = Doujañ d’an tiredoù
|
||||
pdfjs-find-entire-word-checkbox-label = Gerioù a-bezh
|
||||
@ -229,6 +241,10 @@ pdfjs-rendering-error = Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajenna
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -256,13 +272,9 @@ pdfjs-editor-ink-button-label = Tresañ
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Ouzhpennañ pe aozañ skeudennoù
|
||||
pdfjs-editor-stamp-button-label = Ouzhpennañ pe aozañ skeudennoù
|
||||
pdfjs-editor-highlight-button =
|
||||
.title = Sklerijennañ
|
||||
pdfjs-editor-highlight-button-label = Sklerijennañ
|
||||
pdfjs-highlight-floating-button1 =
|
||||
.title = Sklerijennañ
|
||||
.aria-label = Sklerijennañ
|
||||
pdfjs-highlight-floating-button-label = Sklerijennañ
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
|
||||
##
|
||||
|
||||
@ -277,20 +289,25 @@ pdfjs-editor-stamp-add-image-button =
|
||||
pdfjs-editor-stamp-add-image-button-label = Ouzhpennañ ur skeudenn
|
||||
# This refers to the thickness of the line used for free highlighting (not bound to text)
|
||||
pdfjs-editor-free-highlight-thickness-input = Tevded
|
||||
pdfjs-free-text =
|
||||
.aria-label = Aozer testennoù
|
||||
pdfjs-ink =
|
||||
.aria-label = Aozer tresoù
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Skeudenn bet krouet gant an implijer·ez
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
pdfjs-editor-alt-text-add-description-label = Ouzhpennañ un deskrivadur
|
||||
pdfjs-editor-alt-text-cancel-button = Nullañ
|
||||
pdfjs-editor-alt-text-save-button = Enrollañ
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Da skouer, “Ur paotr yaouank ouzh taol o tebriñ boued”
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
## Color picker
|
||||
|
||||
# This means "Color used to highlight text"
|
||||
pdfjs-editor-highlight-colorpicker-label = Liv sklêrijennañ
|
||||
pdfjs-editor-colorpicker-button =
|
||||
.title = Cheñch liv
|
||||
pdfjs-editor-colorpicker-yellow =
|
||||
|
||||
@ -65,12 +65,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = फोरमान बिलाइनि आखुथाय...
|
||||
pdfjs-document-properties-file-name = फाइलनि मुं:
|
||||
pdfjs-document-properties-file-size = फाइलनि महर:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } बाइट)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } बाइट)
|
||||
pdfjs-document-properties-title = बिमुं:
|
||||
pdfjs-document-properties-author = लिरगिरि:
|
||||
pdfjs-document-properties-subject = आयदा:
|
||||
pdfjs-document-properties-keywords = गाहाय सोदोब:
|
||||
pdfjs-document-properties-creation-date = सोरजिनाय अक्ट':
|
||||
pdfjs-document-properties-modification-date = सुद्रायनाय अक्ट':
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = सोरजिग्रा:
|
||||
pdfjs-document-properties-producer = PDF दिहुनग्रा:
|
||||
pdfjs-document-properties-version = PDF बिसान:
|
||||
@ -162,6 +174,9 @@ pdfjs-page-scale-actual = थार महर
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = PDF ल'ड खालामनाय समाव मोनसे गोरोन्थि जाबाय।
|
||||
@ -172,6 +187,10 @@ pdfjs-rendering-error = बिलाइखौ राव सोलायनाय
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -187,3 +206,13 @@ pdfjs-password-invalid = बाहायजायै पासवार्ड।
|
||||
pdfjs-password-ok-button = OK
|
||||
pdfjs-password-cancel-button = नेवसि
|
||||
pdfjs-web-fonts-disabled = वेब फन्टखौ लोरबां खालामबाय: अरजाबहोनाय PDF फन्टखौ बाहायनो हायाखै।
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -39,18 +39,6 @@ pdfjs-open-file-button-label = Otvori
|
||||
pdfjs-print-button =
|
||||
.title = Štampaj
|
||||
pdfjs-print-button-label = Štampaj
|
||||
pdfjs-save-button =
|
||||
.title = Sačuvaj
|
||||
pdfjs-save-button-label = Sačuvaj
|
||||
# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
|
||||
pdfjs-download-button =
|
||||
.title = Preuzmi
|
||||
# Used in Firefox for Android as a label for the download button (“download” is a verb).
|
||||
# Length of the translation matters since we are in a mobile context, with limited screen estate.
|
||||
pdfjs-download-button-label = Preuzmi
|
||||
pdfjs-bookmark-button =
|
||||
.title = Trenutna stranica (Prikaži URL sa trenutne stranice)
|
||||
pdfjs-bookmark-button-label = Trenutna stranica
|
||||
|
||||
## Secondary toolbar and context menu
|
||||
|
||||
@ -75,27 +63,6 @@ pdfjs-cursor-text-select-tool-button-label = Alat za označavanje teksta
|
||||
pdfjs-cursor-hand-tool-button =
|
||||
.title = Omogući ručni alat
|
||||
pdfjs-cursor-hand-tool-button-label = Ručni alat
|
||||
pdfjs-scroll-page-button =
|
||||
.title = Koristite pomicanje stranice
|
||||
pdfjs-scroll-page-button-label = Pomicanje stranice
|
||||
pdfjs-scroll-vertical-button =
|
||||
.title = Koristite vertikalno pomicanje
|
||||
pdfjs-scroll-vertical-button-label = Vertikalno pomicanje
|
||||
pdfjs-scroll-horizontal-button =
|
||||
.title = Koristite horizontalno pomicanje
|
||||
pdfjs-scroll-horizontal-button-label = Horizontalno pomicanje
|
||||
pdfjs-scroll-wrapped-button =
|
||||
.title = Koristite omotno pomicanje
|
||||
pdfjs-scroll-wrapped-button-label = Omotno pomicanje
|
||||
pdfjs-spread-none-button =
|
||||
.title = Ne izrađuj duplerice
|
||||
pdfjs-spread-none-button-label = Bez duplerica
|
||||
pdfjs-spread-odd-button =
|
||||
.title = Izradi duplerice koje počinju s neparnim stranicama
|
||||
pdfjs-spread-odd-button-label = Neparne duplerice
|
||||
pdfjs-spread-even-button =
|
||||
.title = Izradi duplerice koje počinju s parnim stranicama
|
||||
pdfjs-spread-even-button-label = Parne duplerice
|
||||
|
||||
## Document properties dialog
|
||||
|
||||
@ -105,13 +72,13 @@ pdfjs-document-properties-button-label = Svojstva dokumenta...
|
||||
pdfjs-document-properties-file-name = Naziv fajla:
|
||||
pdfjs-document-properties-file-size = Veličina fajla:
|
||||
# Variables:
|
||||
# $kb (Number) - the PDF file size in kilobytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bajtova)
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bajta)
|
||||
# Variables:
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bajtova)
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bajta)
|
||||
pdfjs-document-properties-title = Naslov:
|
||||
pdfjs-document-properties-author = Autor:
|
||||
pdfjs-document-properties-subject = Predmet:
|
||||
@ -119,8 +86,9 @@ pdfjs-document-properties-keywords = Ključne riječi:
|
||||
pdfjs-document-properties-creation-date = Datum kreiranja:
|
||||
pdfjs-document-properties-modification-date = Datum promjene:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Kreator:
|
||||
pdfjs-document-properties-producer = PDF stvaratelj:
|
||||
pdfjs-document-properties-version = PDF verzija:
|
||||
@ -147,11 +115,6 @@ pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $hei
|
||||
|
||||
##
|
||||
|
||||
# The linearization status of the document; usually called "Fast Web View" in
|
||||
# English locales of Adobe software.
|
||||
pdfjs-document-properties-linearized = Brzi web pregled:
|
||||
pdfjs-document-properties-linearized-yes = Da
|
||||
pdfjs-document-properties-linearized-no = Ne
|
||||
pdfjs-document-properties-close-button = Zatvori
|
||||
|
||||
## Print
|
||||
@ -168,8 +131,6 @@ pdfjs-printing-not-ready = Upozorenje: PDF nije u potpunosti učitan za štampan
|
||||
|
||||
pdfjs-toggle-sidebar-button =
|
||||
.title = Uključi/isključi bočnu traku
|
||||
pdfjs-toggle-sidebar-notification-button =
|
||||
.title = Uključi/isključi bočnu traku (dokument sadrži obris/priloge/slojeve)
|
||||
pdfjs-toggle-sidebar-button-label = Uključi/isključi bočnu traku
|
||||
pdfjs-document-outline-button =
|
||||
.title = Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki)
|
||||
@ -177,19 +138,12 @@ pdfjs-document-outline-button-label = Konture dokumenta
|
||||
pdfjs-attachments-button =
|
||||
.title = Prikaži priloge
|
||||
pdfjs-attachments-button-label = Prilozi
|
||||
pdfjs-layers-button =
|
||||
.title = Prikaži slojeve (dvostruki klik da biste vratili sve slojeve na zadano stanje)
|
||||
pdfjs-layers-button-label = Slojevi
|
||||
pdfjs-thumbs-button =
|
||||
.title = Prikaži thumbnailove
|
||||
pdfjs-thumbs-button-label = Thumbnailovi
|
||||
pdfjs-current-outline-item-button =
|
||||
.title = Pronađi trenutnu stavku strukture
|
||||
pdfjs-current-outline-item-button-label = Trenutna stavka strukture
|
||||
pdfjs-findbar-button =
|
||||
.title = Pronađi u dokumentu
|
||||
pdfjs-findbar-button-label = Pronađi
|
||||
pdfjs-additional-layers = Dodatni slojevi
|
||||
|
||||
## Thumbnails panel item (tooltip and alt text for images)
|
||||
|
||||
@ -215,27 +169,8 @@ pdfjs-find-next-button =
|
||||
pdfjs-find-next-button-label = Sljedeće
|
||||
pdfjs-find-highlight-checkbox = Označi sve
|
||||
pdfjs-find-match-case-checkbox-label = Osjetljivost na karaktere
|
||||
pdfjs-find-match-diacritics-checkbox-label = Podudaranje dijakritika
|
||||
pdfjs-find-entire-word-checkbox-label = Cijele riječi
|
||||
pdfjs-find-reached-top = Dostigao sam vrh dokumenta, nastavljam sa dna
|
||||
pdfjs-find-reached-bottom = Dostigao sam kraj dokumenta, nastavljam sa vrha
|
||||
# Variables:
|
||||
# $current (Number) - the index of the currently active find result
|
||||
# $total (Number) - the total number of matches in the document
|
||||
pdfjs-find-match-count =
|
||||
{ $total ->
|
||||
[one] { $current } od { $total } podudaranje
|
||||
[few] { $current } od { $total } podudaranja
|
||||
*[other] { $current } od { $total } podudaranja
|
||||
}
|
||||
# Variables:
|
||||
# $limit (Number) - the maximum number of matches
|
||||
pdfjs-find-match-count-limit =
|
||||
{ $limit ->
|
||||
[one] Više od { $limit } podudaranja
|
||||
[few] Više od { $limit } podudaranja
|
||||
*[other] Više od { $limit } podudaranja
|
||||
}
|
||||
pdfjs-find-not-found = Fraza nije pronađena
|
||||
|
||||
## Predefined zoom values
|
||||
@ -250,10 +185,6 @@ pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-page-landmark =
|
||||
.aria-label = Stranica { $page }
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
@ -272,9 +203,6 @@ pdfjs-rendering-error = Došlo je do greške prilikom renderiranja strane.
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
pdfjs-text-annotation-type =
|
||||
.alt = [{ $type } pribilješka]
|
||||
# Variables:
|
||||
# $dateObj (Date) - the modification date and time of the annotation
|
||||
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
|
||||
## Password
|
||||
|
||||
@ -286,308 +214,10 @@ pdfjs-web-fonts-disabled = Web fontovi su onemogućeni: nemoguće koristiti uba
|
||||
|
||||
## Editing
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Tekst
|
||||
pdfjs-editor-free-text-button-label = Tekst
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Crtanje
|
||||
pdfjs-editor-ink-button-label = Crtanje
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Dodajte ili uredite slike
|
||||
pdfjs-editor-stamp-button-label = Dodajte ili uredite slike
|
||||
pdfjs-editor-highlight-button =
|
||||
.title = Istaknite
|
||||
pdfjs-editor-highlight-button-label = Istaknite
|
||||
pdfjs-highlight-floating-button1 =
|
||||
.title = Istaknite
|
||||
.aria-label = Istaknite
|
||||
pdfjs-highlight-floating-button-label = Istaknite
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Dodaj potpis
|
||||
pdfjs-editor-signature-button-label = Dodaj potpis
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Uređivač istaknutih elemenata
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Uređivač crteža
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Uređivač potpisa: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Uređivač slika
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
pdfjs-editor-remove-ink-button =
|
||||
.title = Ukloni crtež
|
||||
pdfjs-editor-remove-freetext-button =
|
||||
.title = Ukloni tekst
|
||||
pdfjs-editor-remove-stamp-button =
|
||||
.title = Ukloni sliku
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Ukloni istaknuti dio
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Ukloni potpis
|
||||
|
||||
##
|
||||
|
||||
# Editor Parameters
|
||||
pdfjs-editor-free-text-color-input = Boja
|
||||
pdfjs-editor-free-text-size-input = Veličina
|
||||
pdfjs-editor-ink-color-input = Boja
|
||||
pdfjs-editor-ink-thickness-input = Debljina
|
||||
pdfjs-editor-ink-opacity-input = Neprozirnost
|
||||
pdfjs-editor-stamp-add-image-button =
|
||||
.title = Dodaj sliku
|
||||
pdfjs-editor-stamp-add-image-button-label = Dodaj sliku
|
||||
# This refers to the thickness of the line used for free highlighting (not bound to text)
|
||||
pdfjs-editor-free-highlight-thickness-input = Debljina
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Promijenite debljinu prilikom označavanja stavki koje nisu tekst
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Kontrole potpisa i sačuvani potpisi
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Dodaj novi potpis
|
||||
pdfjs-editor-signature-add-signature-button-label = Dodaj novi potpis
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Sačuvani potpis: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
.aria-label = Uređivač teksta
|
||||
.default-content = Počnite kucati…
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
pdfjs-editor-alt-text-button-label = Alternativni tekst
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Uredi alternativni tekst
|
||||
pdfjs-editor-alt-text-dialog-label = Odaberite opciju
|
||||
pdfjs-editor-alt-text-dialog-description = Alternativni tekst (Alt tekst) pomaže kada ljudi ne mogu vidjeti sliku ili kada se ona ne učitava.
|
||||
pdfjs-editor-alt-text-add-description-label = Dodajte opis
|
||||
pdfjs-editor-alt-text-add-description-description = Ciljajte na 1-2 rečenice koje opisuju temu, okruženje ili radnju.
|
||||
pdfjs-editor-alt-text-mark-decorative-label = Označi kao dekorativno
|
||||
pdfjs-editor-alt-text-mark-decorative-description = Ovo se koristi za ukrasne slike, poput okvira ili vodenih žigova.
|
||||
pdfjs-editor-alt-text-cancel-button = Otkaži
|
||||
pdfjs-editor-alt-text-save-button = Sačuvaj
|
||||
pdfjs-editor-alt-text-decorative-tooltip = Označeno kao dekorativno
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Na primjer, „Mladić sjeda za stol da jede obrok“
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Alternativni tekst
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Gornji lijevi ugao — promjena veličine
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
.aria-label = Gore u sredini — promijeni veličinu
|
||||
pdfjs-editor-resizer-top-right =
|
||||
.aria-label = Gornji desni ugao — promijeni veličinu
|
||||
pdfjs-editor-resizer-middle-right =
|
||||
.aria-label = Sredina desno — promijeni veličinu
|
||||
pdfjs-editor-resizer-bottom-right =
|
||||
.aria-label = Donji desni ugao — promijeni veličinu
|
||||
pdfjs-editor-resizer-bottom-middle =
|
||||
.aria-label = Donji srednji dio — promijeni veličinu
|
||||
pdfjs-editor-resizer-bottom-left =
|
||||
.aria-label = Donji lijevi ugao — promijeni veličinu
|
||||
pdfjs-editor-resizer-middle-left =
|
||||
.aria-label = Sredina lijevo — promijeni veličinu
|
||||
|
||||
## Color picker
|
||||
|
||||
# This means "Color used to highlight text"
|
||||
pdfjs-editor-highlight-colorpicker-label = Boja isticanja
|
||||
pdfjs-editor-colorpicker-button =
|
||||
.title = Promijeni boju
|
||||
pdfjs-editor-colorpicker-dropdown =
|
||||
.aria-label = Izbor boja
|
||||
pdfjs-editor-colorpicker-yellow =
|
||||
.title = Žuta
|
||||
pdfjs-editor-colorpicker-green =
|
||||
.title = Zelena
|
||||
pdfjs-editor-colorpicker-blue =
|
||||
.title = Plava
|
||||
pdfjs-editor-colorpicker-pink =
|
||||
.title = Roza
|
||||
pdfjs-editor-colorpicker-red =
|
||||
.title = Crvena
|
||||
|
||||
## Show all highlights
|
||||
## This is a toggle button to show/hide all the highlights.
|
||||
|
||||
pdfjs-editor-highlight-show-all-button-label = Prikaži sve
|
||||
pdfjs-editor-highlight-show-all-button =
|
||||
.title = Prikaži sve
|
||||
|
||||
## New alt-text dialog
|
||||
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
|
||||
|
||||
# Modal header positioned above a text box where users can edit the alt text.
|
||||
pdfjs-editor-new-alt-text-dialog-edit-label = Uredi alternativni tekst (opis slike)
|
||||
# Modal header positioned above a text box where users can add the alt text.
|
||||
pdfjs-editor-new-alt-text-dialog-add-label = Dodaj alternativni tekst (opis slike)
|
||||
pdfjs-editor-new-alt-text-textarea =
|
||||
.placeholder = Ovdje napišite svoj opis…
|
||||
# This text refers to the alt text box above this description. It offers a definition of alt text.
|
||||
pdfjs-editor-new-alt-text-description = Kratak opis za osobe koje ne mogu vidjeti sliku ili kada se slika ne učitava.
|
||||
# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
|
||||
pdfjs-editor-new-alt-text-disclaimer1 = Ovaj alternativni tekst je kreiran automatski i moguće je da je netačan.
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Saznajte više
|
||||
pdfjs-editor-new-alt-text-create-automatically-button-label = Automatski kreiraj alternativni tekst
|
||||
pdfjs-editor-new-alt-text-not-now-button = Ne sada
|
||||
pdfjs-editor-new-alt-text-error-title = Nije moguće automatski kreirati alternativni tekst
|
||||
pdfjs-editor-new-alt-text-error-description = Molimo vas da napišete vlastiti alternativni tekst ili pokušate ponovo kasnije.
|
||||
pdfjs-editor-new-alt-text-error-close-button = Zatvori
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Preuzimanje alternativnog tekstualnog AI modela ({ $downloadedSize } od { $totalSize } MB)
|
||||
.aria-valuetext = Preuzimanje alternativnog tekstualnog AI modela ({ $downloadedSize } od { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Alternativni tekst je dodan
|
||||
pdfjs-editor-new-alt-text-added-button-label = Alternativni tekst je dodan
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Nedostaje alternativni tekst
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Nedostaje alternativni tekst
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Alternativni tekst recenzije
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Alternativni tekst recenzije
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
# $generatedAltText (String) - the generated alt-text.
|
||||
pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Automatski kreirano: { $generatedAltText }
|
||||
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-image-alt-text-settings-button =
|
||||
.title = Postavke alternativnog teksta slike
|
||||
pdfjs-image-alt-text-settings-button-label = Postavke alternativnog teksta slike
|
||||
pdfjs-editor-alt-text-settings-dialog-label = Postavke alternativnog teksta slike
|
||||
pdfjs-editor-alt-text-settings-automatic-title = Automatski alternativni tekst
|
||||
pdfjs-editor-alt-text-settings-create-model-button-label = Automatski kreiraj alternativni tekst
|
||||
pdfjs-editor-alt-text-settings-create-model-description = Predlaže opise kako bi pomogao ljudima koji ne vide sliku ili kada se slika ne učitava.
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Alternativni tekst AI model ({ $totalSize } MB)
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = Radi lokalno na vašem uređaju tako da vaši podaci ostaju privatni. Potrebno za automatski alternativni tekst.
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Izbriši
|
||||
pdfjs-editor-alt-text-settings-download-model-button = Preuzmi
|
||||
pdfjs-editor-alt-text-settings-downloading-model-button = Preuzimam…
|
||||
pdfjs-editor-alt-text-settings-editor-title = Uređivač alternativnog teksta
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Odmah prikaži uređivač alternativnog teksta prilikom dodavanja slike
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaže vam da osigurate da sve vaše slike imaju alternativni tekst.
|
||||
pdfjs-editor-alt-text-settings-close-button = Zatvori
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Istaknuto je uklonjeno
|
||||
pdfjs-editor-undo-bar-message-freetext = Tekst uklonjen
|
||||
pdfjs-editor-undo-bar-message-ink = Crtež uklonjen
|
||||
pdfjs-editor-undo-bar-message-stamp = Slika uklonjena
|
||||
pdfjs-editor-undo-bar-message-signature = Potpis uklonjen
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } bilješka uklonjena
|
||||
[few] { $count } bilješke uklonjene
|
||||
*[other] { $count } bilješki uklonjeno
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Poništi
|
||||
pdfjs-editor-undo-bar-undo-button-label = Poništi
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Zatvori
|
||||
pdfjs-editor-undo-bar-close-button-label = Zatvori
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Ovaj modalni prozor omogućava korisniku da kreira potpis koji će dodati PDF dokumentu. Korisnik može urediti ime (koje služi i kao alternativni tekst) i opcionalno sačuvati potpis za ponovnu upotrebu.
|
||||
pdfjs-editor-add-signature-dialog-title = Dodaj potpis
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Ukucaj
|
||||
.title = Ukucaj
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Napiši
|
||||
.title = Napiši
|
||||
pdfjs-editor-add-signature-image-button = Slika
|
||||
.title = Slika
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Ukucajte svoj potpis
|
||||
.placeholder = Ukucajte svoj potpis
|
||||
pdfjs-editor-add-signature-draw-placeholder = Napišite svoj potpis
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Debljina
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Debljina pisanja: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Prevucite datoteku ovdje da biste je učitali
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Ili odaberite slikovne datoteke
|
||||
*[other] Ili pregledajte slikovne datoteke
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Opis (alternativni tekst)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Opis (alternativni tekst)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Potpis
|
||||
pdfjs-editor-add-signature-clear-button-label = Očisti potpis
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Očisti potpis
|
||||
pdfjs-editor-add-signature-save-checkbox = Sačuvaj potpis
|
||||
pdfjs-editor-add-signature-save-warning-message = Dostigli ste ograničenje od 5 sačuvanih potpisa. Uklonite jedan da biste sačuvali više.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Nije moguće učitati sliku
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Provjerite mrežnu vezu ili pokušajte s drugom slikom.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Nije moguće pretvoriti ovu sliku u potpis
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Molimo pokušajte učitati drugu sliku.
|
||||
pdfjs-editor-add-signature-error-close-button = Zatvori
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Otkaži
|
||||
pdfjs-editor-add-signature-add-button = Dodaj
|
||||
pdfjs-editor-edit-signature-update-button = Ažuriraj
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Uredi komentar
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Ukloni sačuvani potpis
|
||||
pdfjs-editor-delete-signature-button-label1 = Ukloni sačuvani potpis
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Uredi opis
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Uredi opis
|
||||
|
||||
@ -98,12 +98,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Propietats del document…
|
||||
pdfjs-document-properties-file-name = Nom del fitxer:
|
||||
pdfjs-document-properties-file-size = Mida del fitxer:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Títol:
|
||||
pdfjs-document-properties-author = Autor:
|
||||
pdfjs-document-properties-subject = Assumpte:
|
||||
pdfjs-document-properties-keywords = Paraules clau:
|
||||
pdfjs-document-properties-creation-date = Data de creació:
|
||||
pdfjs-document-properties-modification-date = Data de modificació:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Creador:
|
||||
pdfjs-document-properties-producer = Generador de PDF:
|
||||
pdfjs-document-properties-version = Versió de PDF:
|
||||
@ -231,6 +243,10 @@ pdfjs-rendering-error = S'ha produït un error mentre es renderitzava la pàgina
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -256,6 +272,9 @@ pdfjs-editor-ink-button =
|
||||
.title = Dibuixa
|
||||
pdfjs-editor-ink-button-label = Dibuixa
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
|
||||
##
|
||||
|
||||
# Editor Parameters
|
||||
@ -264,11 +283,31 @@ pdfjs-editor-free-text-size-input = Mida
|
||||
pdfjs-editor-ink-color-input = Color
|
||||
pdfjs-editor-ink-thickness-input = Gruix
|
||||
pdfjs-editor-ink-opacity-input = Opacitat
|
||||
pdfjs-free-text =
|
||||
.aria-label = Editor de text
|
||||
pdfjs-free-text-default-content = Escriviu…
|
||||
pdfjs-ink =
|
||||
.aria-label = Editor de dibuix
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Imatge creada per l'usuari
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
pdfjs-editor-alt-text-cancel-button = Cancel·la
|
||||
|
||||
## Dialog buttons
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
## Color picker
|
||||
|
||||
|
||||
## Show all highlights
|
||||
## This is a toggle button to show/hide all the highlights.
|
||||
|
||||
|
||||
## New alt-text dialog
|
||||
## Group note for entire feature: Alternative text (alt text) helps when people can't see the image. This feature includes a tool to create alt text automatically using an AI model that works locally on the user's device to preserve privacy.
|
||||
|
||||
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Cancel·la
|
||||
|
||||
@ -96,12 +96,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = Taq richinil wuj…
|
||||
pdfjs-document-properties-file-name = Rub'i' yakb'äl:
|
||||
pdfjs-document-properties-file-size = Runimilem yakb'äl:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = B'i'aj:
|
||||
pdfjs-document-properties-author = B'anel:
|
||||
pdfjs-document-properties-subject = Taqikil:
|
||||
pdfjs-document-properties-keywords = Kixe'el taq tzij:
|
||||
pdfjs-document-properties-creation-date = Ruq'ijul xtz'uk:
|
||||
pdfjs-document-properties-modification-date = Ruq'ijul xjalwachïx:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Q'inonel:
|
||||
pdfjs-document-properties-producer = PDF b'anöy:
|
||||
pdfjs-document-properties-version = PDF ruwäch:
|
||||
@ -229,6 +241,10 @@ pdfjs-rendering-error = Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -253,12 +269,23 @@ pdfjs-editor-free-text-button-label = Rucholajem tz'ib'
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Tiwachib'ëx
|
||||
pdfjs-editor-ink-button-label = Tiwachib'ëx
|
||||
|
||||
##
|
||||
|
||||
# Editor Parameters
|
||||
pdfjs-editor-free-text-color-input = B'onil
|
||||
pdfjs-editor-free-text-size-input = Nimilem
|
||||
pdfjs-editor-ink-color-input = B'onil
|
||||
pdfjs-editor-ink-thickness-input = Rupimil
|
||||
pdfjs-editor-ink-opacity-input = Q'equmal
|
||||
pdfjs-free-text =
|
||||
.aria-label = Nuk'unel tz'ib'atzij
|
||||
pdfjs-free-text-default-content = Titikitisäx rutz'ib'axik…
|
||||
pdfjs-ink =
|
||||
.aria-label = Nuk'unel wachib'äl
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Wachib'äl nuk'un ruma okisaxel
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -80,12 +80,24 @@ pdfjs-document-properties-button =
|
||||
pdfjs-document-properties-button-label = تایبەتمەندییەکانی بەڵگەنامە...
|
||||
pdfjs-document-properties-file-name = ناوی پەڕگە:
|
||||
pdfjs-document-properties-file-size = قەبارەی پەڕگە:
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } کب ({ $size_b } بایت)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } مب ({ $size_b } بایت)
|
||||
pdfjs-document-properties-title = سەردێڕ:
|
||||
pdfjs-document-properties-author = نووسەر
|
||||
pdfjs-document-properties-subject = بابەت:
|
||||
pdfjs-document-properties-keywords = کلیلەوشە:
|
||||
pdfjs-document-properties-creation-date = بەرواری درووستکردن:
|
||||
pdfjs-document-properties-modification-date = بەرواری دەستکاریکردن:
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = درووستکەر:
|
||||
pdfjs-document-properties-producer = بەرهەمهێنەری PDF:
|
||||
pdfjs-document-properties-version = وەشانی PDF:
|
||||
@ -186,6 +198,9 @@ pdfjs-page-scale-actual = قەبارەی ڕاستی
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = هەڵەیەک ڕوویدا لە کاتی بارکردنی PDF.
|
||||
@ -196,6 +211,10 @@ pdfjs-rendering-error = هەڵەیەک ڕوویدا لە کاتی پوختەکر
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -211,3 +230,13 @@ pdfjs-password-invalid = وشەی تێپەڕ هەڵەیە. تکایە دووبا
|
||||
pdfjs-password-ok-button = باشە
|
||||
pdfjs-password-cancel-button = پاشگەزبوونەوە
|
||||
pdfjs-web-fonts-disabled = جۆرەپیتی وێب ناچالاکە: نەتوانی جۆرەپیتی تێخراوی ناو pdfـەکە بەکاربێت.
|
||||
|
||||
## Editing
|
||||
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bajtů)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bajtů)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bajtů)
|
||||
pdfjs-document-properties-title = Název stránky:
|
||||
pdfjs-document-properties-author = Autor:
|
||||
pdfjs-document-properties-subject = Předmět:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Datum úpravy:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Vytvořil:
|
||||
pdfjs-document-properties-producer = Tvůrce PDF:
|
||||
pdfjs-document-properties-version = Verze PDF:
|
||||
@ -243,7 +255,7 @@ pdfjs-find-not-found = Hledaný text nenalezen
|
||||
## Predefined zoom values
|
||||
|
||||
pdfjs-page-scale-width = Podle šířky
|
||||
pdfjs-page-scale-fit = Podle stránky
|
||||
pdfjs-page-scale-fit = Podle výšky
|
||||
pdfjs-page-scale-auto = Automatická velikost
|
||||
pdfjs-page-scale-actual = Skutečná velikost
|
||||
# Variables:
|
||||
@ -267,6 +279,10 @@ pdfjs-rendering-error = Při vykreslování stránky nastala chyba.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -290,13 +306,9 @@ pdfjs-web-fonts-disabled = Webová písma jsou zakázána, proto není možné p
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Text
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Změna barvy textu
|
||||
pdfjs-editor-free-text-button-label = Text
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Kreslení
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Změna barvy kresby
|
||||
pdfjs-editor-ink-button-label = Kreslení
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Přidání či úprava obrázků
|
||||
@ -308,33 +320,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Zvýraznit
|
||||
.aria-label = Zvýraznit
|
||||
pdfjs-highlight-floating-button-label = Zvýraznit
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Komentář
|
||||
.aria-label = Komentář
|
||||
pdfjs-comment-floating-button-label = Komentář
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Komentář
|
||||
.aria-label = Komentář
|
||||
pdfjs-editor-comment-button-label = Komentář
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Přidat podpis
|
||||
pdfjs-editor-signature-button-label = Přidat podpis
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Editor zvýraznění
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Editor kresby
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Editor podpisu: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Editor obrázků
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -346,8 +331,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Odebrat obrázek
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Odebrat zvýraznění
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Odebrat podpis
|
||||
|
||||
##
|
||||
|
||||
@ -364,43 +347,19 @@ pdfjs-editor-stamp-add-image-button-label = Přidat obrázek
|
||||
pdfjs-editor-free-highlight-thickness-input = Tloušťka
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Změna tloušťky při zvýrazňování jiných položek než textu
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Ovládací prvky pro podpisy a uložené podpisy
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Přidat nový podpis
|
||||
pdfjs-editor-signature-add-signature-button-label = Přidat nový podpis
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Uložený podpis: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Textový editor
|
||||
.default-content = Začněte psát...
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] Komentář
|
||||
[few] Komentáře
|
||||
[many] Komentáře
|
||||
*[other] Komentáře
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Zavřít postranní lištu
|
||||
.aria-label = Zavřít postranní lištu
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Zavřít postranní lištu
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Vidíte něco pozoruhodného? Zvýrazněte to a zanechte komentář.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Zjistit více
|
||||
pdfjs-free-text-default-content = Začněte psát…
|
||||
pdfjs-ink =
|
||||
.aria-label = Editor kreslení
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Uživatelem vytvořený obrázek
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Náhradní popis
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Upravit alternativní text
|
||||
pdfjs-editor-alt-text-edit-button-label = Upravit náhradní popis
|
||||
pdfjs-editor-alt-text-dialog-label = Vyberte možnost
|
||||
pdfjs-editor-alt-text-dialog-description = Náhradní popis pomáhá, když lidé obrázek nevidí nebo když se nenačítá.
|
||||
pdfjs-editor-alt-text-add-description-label = Přidat popis
|
||||
@ -413,13 +372,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Označen jako dekorativní
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Například: “Mladý muž si sedá ke stolu, aby se najedl.”
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Alternativní text
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Levý horní roh — změna velikosti
|
||||
pdfjs-editor-resizer-label-top-middle = Horní střed — změna velikosti
|
||||
pdfjs-editor-resizer-label-top-right = Pravý horní roh — změna velikosti
|
||||
pdfjs-editor-resizer-label-middle-right = Vpravo uprostřed — změna velikosti
|
||||
pdfjs-editor-resizer-label-bottom-right = Pravý dolní roh — změna velikosti
|
||||
pdfjs-editor-resizer-label-bottom-middle = Střed dole — změna velikosti
|
||||
pdfjs-editor-resizer-label-bottom-left = Levý dolní roh — změna velikosti
|
||||
pdfjs-editor-resizer-label-middle-left = Vlevo uprostřed — změna velikosti
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Levý horní roh — změna velikosti
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -485,19 +449,14 @@ pdfjs-editor-new-alt-text-error-close-button = Zavřít
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Stahuje se model AI pro alternativní texty ({ $downloadedSize } z { $totalSize } MB)
|
||||
.aria-valuetext = Stahuje se model AI pro alternativní texty ({ $downloadedSize } z { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Alternativní text byl přidán
|
||||
pdfjs-editor-new-alt-text-added-button-label = Alternativní text byl přidán
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Chybí alternativní text
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Chybí alternativní text
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Zkontrolovat alternativní text
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Zkontrolovat alternativní text
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -524,135 +483,3 @@ pdfjs-editor-alt-text-settings-editor-title = Editor alternativního textu
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Při přidávání obrázku hned zobrazit editor alternativního textu
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Pomůže vám zajistit, aby všechny vaše obrázky obsahovaly alternativní text.
|
||||
pdfjs-editor-alt-text-settings-close-button = Zavřít
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Přidáno zvýraznění
|
||||
pdfjs-editor-freetext-added-alert = Text přidán
|
||||
pdfjs-editor-ink-added-alert = Kresba byla přidána
|
||||
pdfjs-editor-stamp-added-alert = Obrázek byl přidán
|
||||
pdfjs-editor-signature-added-alert = Byl přidán podpis
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Zvýraznění odebráno
|
||||
pdfjs-editor-undo-bar-message-freetext = Text odstraněn
|
||||
pdfjs-editor-undo-bar-message-ink = Kresba odstraněna
|
||||
pdfjs-editor-undo-bar-message-stamp = Obrázek odebrán
|
||||
pdfjs-editor-undo-bar-message-signature = Podpis odebrán
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } anotace odebrána
|
||||
[few] { $count } anotace odebrány
|
||||
[many] { $count } anotací odebráno
|
||||
*[other] { $count } anotací odebráno
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Zpět
|
||||
pdfjs-editor-undo-bar-undo-button-label = Zpět
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Zavřít
|
||||
pdfjs-editor-undo-bar-close-button-label = Zavřít
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Tento způsob umožňuje uživateli vytvořit podpis, který se přidá do dokumentu PDF. Uživatel může upravit jméno (které slouží zároveň jako alternativní text) a podpis uložit pro pozdější použití.
|
||||
pdfjs-editor-add-signature-dialog-title = Přidat podpis
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Psát
|
||||
.title = Psát
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Kreslit
|
||||
.title = Kreslit
|
||||
pdfjs-editor-add-signature-image-button = Obrázek
|
||||
.title = Obrázek
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Zadejte svůj podpis
|
||||
.placeholder = Zadejte svůj podpis
|
||||
pdfjs-editor-add-signature-draw-placeholder = Nakreslete svůj podpis
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Tloušťka
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Tloušťka kresby: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Pro nahrání přetáhněte soubor sem
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Nebo vyberte soubory s obrázky
|
||||
*[other] Nebo vyberte soubory s obrázky
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Popis (alternativní text)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Popis (alternativní text)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Podpis
|
||||
pdfjs-editor-add-signature-clear-button-label = Vymazání podpisu
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Vymazání podpisu
|
||||
pdfjs-editor-add-signature-save-checkbox = Uložit podpis
|
||||
pdfjs-editor-add-signature-save-warning-message = Dosáhli jste limitu 5 uložených podpisů. Odstraňte jeden a uložte další.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Obrázek se nepodařilo nahrát
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Zkontrolujte připojení k síti nebo zkuste jiný obrázek.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Nelze převést tento obrázek na podpis
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Zkuste nahrát jiný obrázek.
|
||||
pdfjs-editor-add-signature-error-close-button = Zavřít
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Zrušit
|
||||
pdfjs-editor-add-signature-add-button = Přidat
|
||||
pdfjs-editor-edit-signature-update-button = Aktualizovat
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Upravit komentář
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Upravit komentář
|
||||
pdfjs-editor-delete-comment-popup-button-label = Odebrat komentář
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Odebrat komentář
|
||||
pdfjs-show-comment-button =
|
||||
.title = Zobrazit komentář
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Upravit komentář
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Aktualizovat
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Přidání komentáře
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Přidat
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Začněte psát…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Zrušit
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Upravit komentář
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Přidání komentáře
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Odebrat uložený podpis
|
||||
pdfjs-editor-delete-signature-button-label1 = Odebrat uložený podpis
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Upravit popis
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Upravit popis
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } beit)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } beit)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } beit)
|
||||
pdfjs-document-properties-title = Teitl:
|
||||
pdfjs-document-properties-author = Awdur:
|
||||
pdfjs-document-properties-subject = Pwnc:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Dyddiad Addasu:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Crewr:
|
||||
pdfjs-document-properties-producer = Cynhyrchydd PDF:
|
||||
pdfjs-document-properties-version = Fersiwn PDF:
|
||||
@ -271,6 +283,10 @@ pdfjs-rendering-error = Digwyddodd gwall wrth adeiladu'r dudalen.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -294,13 +310,9 @@ pdfjs-web-fonts-disabled = Ffontiau gwe wedi eu hanalluogi: methu defnyddio ffon
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Testun
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Newid lliw testun
|
||||
pdfjs-editor-free-text-button-label = Testun
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Lluniadu
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Newid lliw lluniadu
|
||||
pdfjs-editor-ink-button-label = Lluniadu
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Ychwanegu neu olygu delweddau
|
||||
@ -312,33 +324,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Amlygu
|
||||
.aria-label = Amlygu
|
||||
pdfjs-highlight-floating-button-label = Amlygu
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Sylw
|
||||
.aria-label = Sylw
|
||||
pdfjs-comment-floating-button-label = Sylw
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Sylw
|
||||
.aria-label = Sylw
|
||||
pdfjs-editor-comment-button-label = Sylw
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Ychwanegu llofnod
|
||||
pdfjs-editor-signature-button-label = Ychwanegu llofnod
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Golygydd amlygu
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Golygydd lluniadu
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Golygydd llofnod: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Golygydd delweddau
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -350,8 +335,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Dileu delwedd
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Tynnu amlygiad
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Dileu llofnod
|
||||
|
||||
##
|
||||
|
||||
@ -368,45 +351,19 @@ pdfjs-editor-stamp-add-image-button-label = Ychwanegu delwedd
|
||||
pdfjs-editor-free-highlight-thickness-input = Trwch
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Newid trwch wrth amlygu eitemau heblaw testun
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Rheolyddion llofnodion a llofnodion wedi'u cadw
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Ychwanegu llofnod newydd
|
||||
pdfjs-editor-signature-add-signature-button-label = Ychwanegu llofnod newydd
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Llofnod wedi'i gadw: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Golygydd Testun
|
||||
.default-content = Cychwyn teipio…
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[zero] Sylwadau
|
||||
[one] Sylw
|
||||
[two] Sylw
|
||||
[few] Sylw
|
||||
[many] Sylw
|
||||
*[other] Sylw
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Cau'r bar ochr
|
||||
.aria-label = Cau'r bar ochr
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Cau'r bar ochr
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Gweld rhywbeth nodedig? Amlygwch ef a gadael sylw.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Dysgu rhagor
|
||||
pdfjs-free-text-default-content = Cychwyn teipio…
|
||||
pdfjs-ink =
|
||||
.aria-label = Golygydd Lluniadu
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Delwedd wedi'i chreu gan ddefnyddwyr
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Testun amgen (alt)
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Golygu testun amgen
|
||||
pdfjs-editor-alt-text-edit-button-label = Golygu testun amgen
|
||||
pdfjs-editor-alt-text-dialog-label = Dewisiadau
|
||||
pdfjs-editor-alt-text-dialog-description = Mae testun amgen (testun alt) yn helpu pan na all pobl weld y ddelwedd neu pan nad yw'n llwytho.
|
||||
pdfjs-editor-alt-text-add-description-label = Ychwanegu disgrifiad
|
||||
@ -419,13 +376,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Marcio fel addurniadol
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Er enghraifft, “Mae dyn ifanc yn eistedd wrth fwrdd i fwyta pryd bwyd”
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Testun amgen (alt)
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Y gornel chwith uchaf — newid maint
|
||||
pdfjs-editor-resizer-label-top-middle = Canol uchaf - newid maint
|
||||
pdfjs-editor-resizer-label-top-right = Y gornel dde uchaf - newid maint
|
||||
pdfjs-editor-resizer-label-middle-right = De canol - newid maint
|
||||
pdfjs-editor-resizer-label-bottom-right = Y gornel dde isaf — newid maint
|
||||
pdfjs-editor-resizer-label-bottom-middle = Canol gwaelod — newid maint
|
||||
pdfjs-editor-resizer-label-bottom-left = Y gornel chwith isaf — newid maint
|
||||
pdfjs-editor-resizer-label-middle-left = Chwith canol — newid maint
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Y gornel chwith uchaf — newid maint
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -482,7 +444,7 @@ pdfjs-editor-new-alt-text-textarea =
|
||||
pdfjs-editor-new-alt-text-description = Disgrifiad byr ar gyfer pobl sydd ddim yn gallu gweld y ddelwedd neu pan nad yw'r ddelwedd yn llwytho.
|
||||
# This is a required legal disclaimer that refers to the automatically created text inside the alt text box above this text. It disappears if the text is edited by a human.
|
||||
pdfjs-editor-new-alt-text-disclaimer1 = Cafodd y testun amgen hwn ei greu'n awtomatig a gall fod yn anghywir.
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Rhagor
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Dysgu rhagor
|
||||
pdfjs-editor-new-alt-text-create-automatically-button-label = Creu testun amgen yn awtomatig
|
||||
pdfjs-editor-new-alt-text-not-now-button = Nid nawr
|
||||
pdfjs-editor-new-alt-text-error-title = Methu â chreu testun amgen yn awtomatig
|
||||
@ -491,19 +453,14 @@ pdfjs-editor-new-alt-text-error-close-button = Cau
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Wrthi'n llwytho i lawr model AI testun amgen ( { $downloadedSize } o { $totalSize } MB)
|
||||
.aria-valuetext = Wrthi'n llwytho i lawr model AI testun amgen ( { $downloadedSize } o { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Ychwanegwyd testun amgen
|
||||
pdfjs-editor-new-alt-text-added-button-label = Ychwanegwyd testun amgen
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Testun amgen coll
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Testun amgen coll
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Adolygu'r testun amgen
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Adolygu'r testun amgen
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -530,137 +487,3 @@ pdfjs-editor-alt-text-settings-editor-title = Golygydd testun amgen
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Dangoswch y golygydd testun amgen yn syth wrth ychwanegu delwedd
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Yn eich helpu i wneud yn siŵr bod gan eich holl ddelweddau destun amgen.
|
||||
pdfjs-editor-alt-text-settings-close-button = Cau
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Amlygu wedi'i ychwanegu
|
||||
pdfjs-editor-freetext-added-alert = Testun wedi'i ychwanegu
|
||||
pdfjs-editor-ink-added-alert = Lluniadu wedi'i ychwanegu
|
||||
pdfjs-editor-stamp-added-alert = Delwedd wedi'i hychwanegu
|
||||
pdfjs-editor-signature-added-alert = Llofnod wedi'i ychwanegu
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Tynnwyd yr amlygu
|
||||
pdfjs-editor-undo-bar-message-freetext = Tynnwyd y testun
|
||||
pdfjs-editor-undo-bar-message-ink = Tynnwyd y lluniad
|
||||
pdfjs-editor-undo-bar-message-stamp = Tynnwyd y ddelwedd
|
||||
pdfjs-editor-undo-bar-message-signature = Llofnod wedi'i dynnu
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[zero] { $count } anodiad wedi'u tynnu
|
||||
[one] { $count } anodiad wedi'i dynnu
|
||||
[two] { $count } anodiad wedi'u tynnu
|
||||
[few] { $count } anodiad wedi'u tynnu
|
||||
[many] { $count } anodiad wedi'u tynnu
|
||||
*[other] { $count } anodiad wedi'u tynnu
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Dadwneud
|
||||
pdfjs-editor-undo-bar-undo-button-label = Dadwneud
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Cau
|
||||
pdfjs-editor-undo-bar-close-button-label = Cau
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Mae'r modd hwn yn caniatáu i'r defnyddiwr greu llofnod i'w ychwanegu at ddogfen PDF. Gall y defnyddiwr olygu'r enw (sydd hefyd yn gweithredu fel y testun amgen), ac yn ddewisol cadw'r llofnod i'w ddefnyddio dro ar ôl tro.
|
||||
pdfjs-editor-add-signature-dialog-title = Ychwanegu llofnod
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Math
|
||||
.title = Math
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Lluniadu
|
||||
.title = Lluniadu
|
||||
pdfjs-editor-add-signature-image-button = Delwedd
|
||||
.title = Delwedd
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Teipiwch eich llofnod
|
||||
.placeholder = Teipiwch eich llofnod
|
||||
pdfjs-editor-add-signature-draw-placeholder = Lluniwch eich llofnod
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Trwch
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Trwch y llinell: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Llusgwch ffeil yma i'w llwytho
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Neu ddewis ffeiliau delwedd
|
||||
*[other] Neu bori ffeiliau delwedd
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Disgrifiad (testun amgen)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Disgrifiad (testun amgen)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Llofnod
|
||||
pdfjs-editor-add-signature-clear-button-label = Diddymu llofnod
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Diddymu llofnod
|
||||
pdfjs-editor-add-signature-save-checkbox = Cadw llofnod
|
||||
pdfjs-editor-add-signature-save-warning-message = Rydych chi wedi cyrraedd y terfyn o 5 llofnod sydd wedi'u cadw. Tynnwch un i gadw rhagor
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Methu llwytho'r ddelwedd.
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Gwiriwch eich cysylltiad rhwydwaith neu rhowch gynnig ar ddelwedd arall.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Methu trosi'r ddelwedd hon yn llofnod
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Ceisiwch lwytho delwedd wahanol.
|
||||
pdfjs-editor-add-signature-error-close-button = Cau
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Diddymu
|
||||
pdfjs-editor-add-signature-add-button = Ychwanegu
|
||||
pdfjs-editor-edit-signature-update-button = Diweddaru
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Golygu sylw
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Golygu sylw
|
||||
pdfjs-editor-delete-comment-popup-button-label = Tynnu sylw
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Tynnu sylw
|
||||
pdfjs-show-comment-button =
|
||||
.title = Dangos sylw
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Golygu sylw
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Diweddaru
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Ychwanegu sylw
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Ychwanegu
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Cychwyn teipio…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Diddymu
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Golygu sylw
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Ychwanegu sylw
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Tynnu llofnod sydd wedi'i gadw
|
||||
pdfjs-editor-delete-signature-button-label1 = Tynnwch y llofnod sydd wedi'i gadw
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Golygu disgrifiad
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Golygu disgrifiad
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Titel:
|
||||
pdfjs-document-properties-author = Forfatter:
|
||||
pdfjs-document-properties-subject = Emne:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Redigeret:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Program:
|
||||
pdfjs-document-properties-producer = PDF-producent:
|
||||
pdfjs-document-properties-version = PDF-version:
|
||||
@ -172,7 +184,7 @@ pdfjs-toggle-sidebar-notification-button =
|
||||
.title = Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer/lag)
|
||||
pdfjs-toggle-sidebar-button-label = Slå sidepanel til eller fra
|
||||
pdfjs-document-outline-button =
|
||||
.title = Vis dokumentets disposition (dobbeltklik for at udvide/sammenfolde alle elementer)
|
||||
.title = Vis dokumentets disposition (dobbeltklik for at vise/skjule alle elementer)
|
||||
pdfjs-document-outline-button-label = Dokument-disposition
|
||||
pdfjs-attachments-button =
|
||||
.title = Vis vedhæftede filer
|
||||
@ -263,6 +275,10 @@ pdfjs-rendering-error = Der opstod en fejl ved generering af siden.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -286,13 +302,9 @@ pdfjs-web-fonts-disabled = Webskrifttyper er deaktiverede. De indlejrede skriftt
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Tekst
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Skift tekstfarve
|
||||
pdfjs-editor-free-text-button-label = Tekst
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Tegn
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Skift tegne-farve
|
||||
pdfjs-editor-ink-button-label = Tegn
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Tilføj eller rediger billeder
|
||||
@ -304,33 +316,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Fremhæv
|
||||
.aria-label = Fremhæv
|
||||
pdfjs-highlight-floating-button-label = Fremhæv
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Kommenter
|
||||
.aria-label = Kommenter
|
||||
pdfjs-comment-floating-button-label = Kommenter
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Kommentar
|
||||
.aria-label = Kommentar
|
||||
pdfjs-editor-comment-button-label = Kommentar
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Tilføj signatur
|
||||
pdfjs-editor-signature-button-label = Tilføj signatur
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Redigering af fremhævning
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Redigering af tegninger
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Redigering af signatur: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Redigering af billeder
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -342,8 +327,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Fjern billede
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Fjern fremhævning
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Fjern signatur
|
||||
|
||||
##
|
||||
|
||||
@ -360,41 +343,19 @@ pdfjs-editor-stamp-add-image-button-label = Tilføj billede
|
||||
pdfjs-editor-free-highlight-thickness-input = Tykkelse
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Ændr tykkelse, når andre elementer end tekst fremhæves
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Indstillinger for signaturer og gemte signaturer
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Tilføj ny signatur
|
||||
pdfjs-editor-signature-add-signature-button-label = Tilføj ny signatur
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Gemt signatur: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Teksteditor
|
||||
.default-content = Begynd at skrive…
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] Kommentar
|
||||
*[other] Kommentarer
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Luk sidepanelet
|
||||
.aria-label = Luk sidepanelet
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Luk sidepanelet
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Har du fundet noget interessant? Fremhæv det og gem en kommentar.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Læs mere
|
||||
pdfjs-free-text-default-content = Begynd at skrive…
|
||||
pdfjs-ink =
|
||||
.aria-label = Tegnings-editor
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Brugeroprettet billede
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Alternativ tekst
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Rediger alternativ tekst
|
||||
pdfjs-editor-alt-text-edit-button-label = Rediger alternativ tekst
|
||||
pdfjs-editor-alt-text-dialog-label = Vælg en indstilling
|
||||
pdfjs-editor-alt-text-dialog-description = Alternativ tekst hjælper folk, som ikke kan se billedet eller når det ikke indlæses.
|
||||
pdfjs-editor-alt-text-add-description-label = Tilføj en beskrivelse
|
||||
@ -407,13 +368,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Markeret som dekorativ
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = For eksempel: "En ung mand sætter sig ved et bord for at spise et måltid mad"
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Alternativ tekst
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Øverste venstre hjørne — tilpas størrelse
|
||||
pdfjs-editor-resizer-label-top-middle = Øverste i midten — tilpas størrelse
|
||||
pdfjs-editor-resizer-label-top-right = Øverste højre hjørne — tilpas størrelse
|
||||
pdfjs-editor-resizer-label-middle-right = Midten til højre — tilpas størrelse
|
||||
pdfjs-editor-resizer-label-bottom-right = Nederste højre hjørne - tilpas størrelse
|
||||
pdfjs-editor-resizer-label-bottom-middle = Nederst i midten - tilpas størrelse
|
||||
pdfjs-editor-resizer-label-bottom-left = Nederste venstre hjørne - tilpas størrelse
|
||||
pdfjs-editor-resizer-label-middle-left = Midten til venstre — tilpas størrelse
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Øverste venstre hjørne — tilpas størrelse
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -479,19 +445,14 @@ pdfjs-editor-new-alt-text-error-close-button = Luk
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Henter alternativ tekst AI-model ({ $downloadedSize } af { $totalSize } MB)
|
||||
.aria-valuetext = Henter alternativ tekst AI-model ({ $downloadedSize } af { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Alternativ tekst tilføjet
|
||||
pdfjs-editor-new-alt-text-added-button-label = Alternativ tekst tilføjet
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Mangler alternativ tekst
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Mangler alternativ tekst
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Gennemgå alternativ tekst
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Gennemgå alternativ tekst
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -518,133 +479,3 @@ pdfjs-editor-alt-text-settings-editor-title = Redigering af alternativ tekst
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Vis redigering af alternativ tekst med det samme, når et billede tilføjes
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Hjælper dig med at sikre, at alle dine billeder har alternativ tekst.
|
||||
pdfjs-editor-alt-text-settings-close-button = Luk
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Fremhævning tilføjet
|
||||
pdfjs-editor-freetext-added-alert = Tekst tilføjet
|
||||
pdfjs-editor-ink-added-alert = Tegning tilføjet
|
||||
pdfjs-editor-stamp-added-alert = Billede tilføjet
|
||||
pdfjs-editor-signature-added-alert = Signatur tilføjet
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Fremhævning fjernet
|
||||
pdfjs-editor-undo-bar-message-freetext = Tekst fjernet
|
||||
pdfjs-editor-undo-bar-message-ink = Tegning fjernet
|
||||
pdfjs-editor-undo-bar-message-stamp = Billede fjernet
|
||||
pdfjs-editor-undo-bar-message-signature = Signatur fjernet
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } kommentar fjernet
|
||||
*[other] { $count } kommentarer fjernet
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Fortryd
|
||||
pdfjs-editor-undo-bar-undo-button-label = Fortryd
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Luk
|
||||
pdfjs-editor-undo-bar-close-button-label = Luk
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Modal-vinduet gør det muligt for brugeren at oprette en signatur, som kan føjes til PDF-dokumenter. Brugeren kan redigere navnet (der også fungerer som alternativ tekst) og eventuelt gemme signaturen, så den kan bruges igen.
|
||||
pdfjs-editor-add-signature-dialog-title = Tilføj en signatur
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Indtast
|
||||
.title = Indtast
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Tegn
|
||||
.title = Tegn
|
||||
pdfjs-editor-add-signature-image-button = Billede
|
||||
.title = Billede
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Indtast din signatur
|
||||
.placeholder = Indtast din signatur
|
||||
pdfjs-editor-add-signature-draw-placeholder = Tegn din signatur
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Tykkelse
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Linjetykkelse: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Træk en fil herhen for at uploade den
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Eller vælg billedfiler
|
||||
*[other] Eller vælg billedfiler
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Beskrivelse (alternativ tekst)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Beskrivelse (alternativ tekst)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Underskrift
|
||||
pdfjs-editor-add-signature-clear-button-label = Ryd signatur
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Ryd signatur
|
||||
pdfjs-editor-add-signature-save-checkbox = Gem signatur
|
||||
pdfjs-editor-add-signature-save-warning-message = Du har nået grænsen på 5 gemte signaturer. Fjern en for at tilføje en ny.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Kunne ikke uploade billede
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Kontroller din netværksforbindelse eller prøv med et andet billede.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Kan ikke konvertere dette billede til en signatur
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Prøv at uploade et andet billede.
|
||||
pdfjs-editor-add-signature-error-close-button = Luk
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Annuller
|
||||
pdfjs-editor-add-signature-add-button = Tilføj
|
||||
pdfjs-editor-edit-signature-update-button = Opdater
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Rediger kommentar
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Rediger kommentar
|
||||
pdfjs-editor-delete-comment-popup-button-label = Fjern kommentar
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Fjern kommentar
|
||||
pdfjs-show-comment-button =
|
||||
.title = Vis kommentar
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Rediger kommentar
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Opdater
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Tilføj kommentar
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Tilføj
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Begynd at skrive…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Annuller
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Rediger kommentar
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Tilføj kommentar
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Fjern gemt signatur
|
||||
pdfjs-editor-delete-signature-button-label1 = Fjern gemt signatur
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Rediger beskrivelse
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Rediger beskrivelse
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } Bytes)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } Bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } Bytes)
|
||||
pdfjs-document-properties-title = Titel:
|
||||
pdfjs-document-properties-author = Autor:
|
||||
pdfjs-document-properties-subject = Thema:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Bearbeitungsdatum:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date } { $time }
|
||||
pdfjs-document-properties-creator = Anwendung:
|
||||
pdfjs-document-properties-producer = PDF erstellt mit:
|
||||
pdfjs-document-properties-version = PDF-Version:
|
||||
@ -263,6 +275,10 @@ pdfjs-rendering-error = Beim Darstellen der Seite trat ein Fehler auf.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -286,13 +302,9 @@ pdfjs-web-fonts-disabled = Web-Schriftarten sind deaktiviert: Eingebettete PDF-S
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Text
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Textfarbe ändern
|
||||
pdfjs-editor-free-text-button-label = Text
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Zeichnen
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Zeichnungsfarbe ändern
|
||||
pdfjs-editor-ink-button-label = Zeichnen
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Grafiken hinzufügen oder bearbeiten
|
||||
@ -304,33 +316,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Hervorheben
|
||||
.aria-label = Hervorheben
|
||||
pdfjs-highlight-floating-button-label = Hervorheben
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Kommentieren
|
||||
.aria-label = Kommentieren
|
||||
pdfjs-comment-floating-button-label = Kommentieren
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Kommentar
|
||||
.aria-label = Kommentar
|
||||
pdfjs-editor-comment-button-label = Kommentar
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Unterschrift hinzufügen
|
||||
pdfjs-editor-signature-button-label = Unterschrift hinzufügen
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Hervorhebungs-Editor
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Zeichnungseditor
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Unterschrifts-Editor: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Grafik-Editor
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -342,8 +327,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Grafik entfernen
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Hervorhebung entfernen
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Unterschrift entfernen
|
||||
|
||||
##
|
||||
|
||||
@ -360,41 +343,19 @@ pdfjs-editor-stamp-add-image-button-label = Grafik hinzufügen
|
||||
pdfjs-editor-free-highlight-thickness-input = Linienstärke
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Linienstärke beim Hervorheben anderer Elemente als Text ändern
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Signaturkontrollen und gespeicherte Signaturen
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Neue Unterschrift hinzufügen
|
||||
pdfjs-editor-signature-add-signature-button-label = Neue Unterschrift hinzufügen
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Gespeicherte Signatur: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Texteditor
|
||||
.default-content = Schreiben beginnen…
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] Kommentar
|
||||
*[other] Kommentare
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Sidebar schließen
|
||||
.aria-label = Sidebar schließen
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Sidebar schließen
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Haben Sie etwas Bemerkenswertes entdeckt? Heben Sie es hervor und hinterlassen Sie einen Kommentar.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Weitere Informationen
|
||||
pdfjs-free-text-default-content = Schreiben beginnen…
|
||||
pdfjs-ink =
|
||||
.aria-label = Zeichnungseditor
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Vom Benutzer erstelltes Bild
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Alternativ-Text
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Alternativ-Text bearbeiten
|
||||
pdfjs-editor-alt-text-edit-button-label = Alternativ-Text bearbeiten
|
||||
pdfjs-editor-alt-text-dialog-label = Option wählen
|
||||
pdfjs-editor-alt-text-dialog-description = Alt-Text (Alternativtext) hilft, wenn Personen die Grafik nicht sehen können oder wenn sie nicht geladen wird.
|
||||
pdfjs-editor-alt-text-add-description-label = Beschreibung hinzufügen
|
||||
@ -407,13 +368,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Als dekorativ markiert
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Zum Beispiel: "Ein junger Mann setzt sich an einen Tisch, um zu essen."
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Alternativ-Text
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Linke obere Ecke - Größe ändern
|
||||
pdfjs-editor-resizer-label-top-middle = Oben mittig - Größe ändern
|
||||
pdfjs-editor-resizer-label-top-right = Rechts oben - Größe ändern
|
||||
pdfjs-editor-resizer-label-middle-right = Mitte rechts - Größe ändern
|
||||
pdfjs-editor-resizer-label-bottom-right = Rechte untere Ecke - Größe ändern
|
||||
pdfjs-editor-resizer-label-bottom-middle = Unten mittig - Größe ändern
|
||||
pdfjs-editor-resizer-label-bottom-left = Linke untere Ecke - Größe ändern
|
||||
pdfjs-editor-resizer-label-middle-left = Mitte links - Größe ändern
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Linke obere Ecke - Größe ändern
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -479,19 +445,14 @@ pdfjs-editor-new-alt-text-error-close-button = Schließen
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Alternativ-Text-KI-Modell wird heruntergeladen ({ $downloadedSize } von { $totalSize } MB)
|
||||
.aria-valuetext = Alternativ-Text-KI-Modell wird heruntergeladen ({ $downloadedSize } von { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Alternativ-Text hinzugefügt
|
||||
pdfjs-editor-new-alt-text-added-button-label = Alternativ-Text hinzugefügt
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Fehlender Alternativ-Text
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Fehlender Alternativ-Text
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Alternativ-Text überprüfen
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Alternativ-Text überprüfen
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -518,133 +479,3 @@ pdfjs-editor-alt-text-settings-editor-title = Alternativ-Texteditor
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Alternativ-Texteditor beim Hinzufügen einer Grafik anzeigen
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Hilft Ihnen, sicherzustellen, dass alle Ihre Grafiken Alternativ-Text haben.
|
||||
pdfjs-editor-alt-text-settings-close-button = Schließen
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Hervorhebung hinzugefügt
|
||||
pdfjs-editor-freetext-added-alert = Text hinzugefügt
|
||||
pdfjs-editor-ink-added-alert = Zeichnung hinzugefügt
|
||||
pdfjs-editor-stamp-added-alert = Bild hinzugefügt
|
||||
pdfjs-editor-signature-added-alert = Signatur hinzugefügt
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Hervorhebung entfernt
|
||||
pdfjs-editor-undo-bar-message-freetext = Text entfernt
|
||||
pdfjs-editor-undo-bar-message-ink = Zeichnung entfernt
|
||||
pdfjs-editor-undo-bar-message-stamp = Grafik entfernt
|
||||
pdfjs-editor-undo-bar-message-signature = Unterschrift entfernt
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } Anmerkung entfernt
|
||||
*[other] { $count } Anmerkungen entfernt
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Rückgängig
|
||||
pdfjs-editor-undo-bar-undo-button-label = Rückgängig
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Schließen
|
||||
pdfjs-editor-undo-bar-close-button-label = Schließen
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Dieses Modal ermöglicht es dem Benutzer, eine Unterschrift zu erstellen, um sie zu einem PDF-Dokument hinzuzufügen. Der Benutzer kann den Namen bearbeiten (der auch als Alt-Text dient) und optional die Unterschrift zur wiederholten Verwendung speichern.
|
||||
pdfjs-editor-add-signature-dialog-title = Unterschrift hinzufügen
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Eintippen
|
||||
.title = Eintippen
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Zeichnen
|
||||
.title = Zeichnen
|
||||
pdfjs-editor-add-signature-image-button = Grafik
|
||||
.title = Grafik
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Tippen Sie Ihre Unterschrift ein
|
||||
.placeholder = Tippen Sie Ihre Unterschrift ein
|
||||
pdfjs-editor-add-signature-draw-placeholder = Ihre Unterschrift zeichnen
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Linienstärke
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Zeichnungsstärke: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Datei zum Hochladen hierher ziehen
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Oder Grafikdateien wählen
|
||||
*[other] Oder Bilddateien durchsuchen
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Beschreibung (alternativer Text)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Beschreibung (alternativer Text)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Unterschrift
|
||||
pdfjs-editor-add-signature-clear-button-label = Unterschrift löschen
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Unterschrift löschen
|
||||
pdfjs-editor-add-signature-save-checkbox = Unterschrift speichern
|
||||
pdfjs-editor-add-signature-save-warning-message = Sie haben die Grenze von 5 gespeicherten Unterschriften erreicht. Entfernen Sie eine, um weitere zu speichern.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Grafik konnte nicht hochgeladen werden
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Überprüfen Sie Ihre Netzwerkverbindung, oder versuchen Sie es mit einer anderen Grafik.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Kann Grafik nicht in eine Signatur umwandeln
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Bitte versuchen Sie, eine andere Grafik hochzuladen.
|
||||
pdfjs-editor-add-signature-error-close-button = Schließen
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Abbrechen
|
||||
pdfjs-editor-add-signature-add-button = Hinzufügen
|
||||
pdfjs-editor-edit-signature-update-button = Aktualisieren
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Kommentar bearbeiten
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Kommentar bearbeiten
|
||||
pdfjs-editor-delete-comment-popup-button-label = Kommentar entfernen
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Kommentar entfernen
|
||||
pdfjs-show-comment-button =
|
||||
.title = Kommentar anzeigen
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Kommentar bearbeiten
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Aktualisieren
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Kommentar hinzufügen
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Hinzufügen
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Schreiben beginnen…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Abbrechen
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Kommentar bearbeiten
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Kommentar hinzufügen
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Gespeicherte Signatur entfernen
|
||||
pdfjs-editor-delete-signature-button-label1 = Gespeicherte Signatur entfernen
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Beschreibung bearbeiten
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Beschreibung bearbeiten
|
||||
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bajtow)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bajtow)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bajtow)
|
||||
pdfjs-document-properties-title = Titel:
|
||||
pdfjs-document-properties-author = Awtor:
|
||||
pdfjs-document-properties-subject = Tema:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Datum změny:
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Awtor:
|
||||
pdfjs-document-properties-producer = PDF-gótowaŕ:
|
||||
pdfjs-document-properties-version = PDF-wersija:
|
||||
@ -267,6 +279,10 @@ pdfjs-rendering-error = Pśi zwobraznjanju boka jo zmólka nastała.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -290,13 +306,9 @@ pdfjs-web-fonts-disabled = Webpisma su znjemóžnjone: njejo móžno, zasajźone
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Tekst
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Tekstowu barwu změniś
|
||||
pdfjs-editor-free-text-button-label = Tekst
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Kresliś
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Kresleńsku barwu změniś
|
||||
pdfjs-editor-ink-button-label = Kresliś
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Wobraze pśidaś abo wobźěłaś
|
||||
@ -308,33 +320,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Wuzwignuś
|
||||
.aria-label = Wuzwignuś
|
||||
pdfjs-highlight-floating-button-label = Wuzwignuś
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Komentěrowaś
|
||||
.aria-label = Komentěrowaś
|
||||
pdfjs-comment-floating-button-label = Komentěrowaś
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Komentěrowaś
|
||||
.aria-label = Komentěrowaś
|
||||
pdfjs-editor-comment-button-label = Komentar
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Signaturu pśidaś
|
||||
pdfjs-editor-signature-button-label = Signaturu pśidaś
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Editor wuzwignjenja
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Kresleński editor
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Signaturowy editor: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Wobrazowy editor
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -346,8 +331,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Wobraz wótwónoźeś
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Wuzwignjenje wótpóraś
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Signaturu wótwónoźeś
|
||||
|
||||
##
|
||||
|
||||
@ -364,43 +347,19 @@ pdfjs-editor-stamp-add-image-button-label = Wobraz pśidaś
|
||||
pdfjs-editor-free-highlight-thickness-input = Tłustosć
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Tłustosć změniś, gaž se zapiski wuzwiguju, kótarež tekst njejsu
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Wóźeńske elementy signaturow a skłaźone signatury
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Nowu signaturu pśidaś
|
||||
pdfjs-editor-signature-add-signature-button-label = Nowu signaturu pśidaś
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Skłaźona signatura: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Tekstowy editor
|
||||
.default-content = Zachopśo pisaś …
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] { $count } komentar
|
||||
[two] { $count } komentara
|
||||
[few] { $count } komentary
|
||||
*[other] { $count } komentarow
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Bócnicu zacyniś
|
||||
.aria-label = Bócnicu zacyniś
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Bócnicu zacyniś
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Wiźiśo něco wobspomnjeśa gódnego? Wuzwigniśo to a zawóstajśo komentar.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Dalšne informacije
|
||||
pdfjs-free-text-default-content = Zachopśo pisaś…
|
||||
pdfjs-ink =
|
||||
.aria-label = Kresleński editor
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Wobraz napórany wót wužywarja
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Alternatiwny tekst
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Alternatiwny tekst wobźěłaś
|
||||
pdfjs-editor-alt-text-edit-button-label = Alternatiwny tekst wobźěłaś
|
||||
pdfjs-editor-alt-text-dialog-label = Nastajenje wubraś
|
||||
pdfjs-editor-alt-text-dialog-description = Alternatiwny tekst pomaga, gaž luźe njamógu wobraz wiźeś abo gaž se wobraz njezacytajo.
|
||||
pdfjs-editor-alt-text-add-description-label = Wopisanje pśidaś
|
||||
@ -413,13 +372,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Ako dekoratiwny markěrowany
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Na pśikład, „Młody muski za blidom sejźi, aby jěź jědł“
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Alternatiwny tekst
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Górjejce nalěwo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-top-middle = Górjejce wesrjejź – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-top-right = Górjejce napšawo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-middle-right = Wesrjejź napšawo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-bottom-right = Dołojce napšawo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-bottom-middle = Dołojce wesrjejź – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-bottom-left = Dołojce nalěwo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-label-middle-left = Wesrjejź nalěwo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Górjejce nalěwo – wjelikosć změniś
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -485,19 +449,14 @@ pdfjs-editor-new-alt-text-error-close-button = Zacyniś
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Model KI za alternatiwny tekst se ześěgujo ({ $downloadedSize } z { $totalSize } MB)
|
||||
.aria-valuetext = Model KI za alternatiwny tekst se ześěgujo ({ $downloadedSize } z { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Alternatiwny tekst jo se pśidał
|
||||
pdfjs-editor-new-alt-text-added-button-label = Alternatiwny tekst jo se pśidał
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Alternatiwny tekst felujo
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Alternatiwny tekst felujo
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Alternatiwny tekst pśeglědowaś
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Alternatiwny tekst pśeglědowaś
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -524,135 +483,3 @@ pdfjs-editor-alt-text-settings-editor-title = Editor za alternatiwny tekst
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Editor alternatiwnego teksta ned pokazaś, gaž se wobraz pśidawa
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Pomaga, wam wšym swójim wobrazam alternatiwny tekst pśidaś.
|
||||
pdfjs-editor-alt-text-settings-close-button = Zacyniś
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Wuzwignjenje pśidane
|
||||
pdfjs-editor-freetext-added-alert = Tekst pśidany
|
||||
pdfjs-editor-ink-added-alert = Kreslanka pśidana
|
||||
pdfjs-editor-stamp-added-alert = Wobraz pśidany
|
||||
pdfjs-editor-signature-added-alert = Signatura pśidana
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Wótwónoźone wuzwignuś
|
||||
pdfjs-editor-undo-bar-message-freetext = Tekst jo se wótwónoźeł
|
||||
pdfjs-editor-undo-bar-message-ink = Kreslanka jo se wótwónoźeła
|
||||
pdfjs-editor-undo-bar-message-stamp = Wobraz jo se wótwónoźeł
|
||||
pdfjs-editor-undo-bar-message-signature = Signatura jo se wótwónoźeła
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] { $count } pśipisk jo se wótwónoźeł
|
||||
[two] { $count } pśipiska stej se wótwónoźełej
|
||||
[few] { $count } pśipiski su se wótwónoźeli
|
||||
*[other] { $count } pśipiskow jo se wótwónoźeło
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Anulěrowaś
|
||||
pdfjs-editor-undo-bar-undo-button-label = Anulěrowaś
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Zacyniś
|
||||
pdfjs-editor-undo-bar-close-button-label = Zacyniś
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Toś ten modalny dialog wužywarjeju zmóžnja, signaturu napóraś, aby PDF-dokument pśidał. Wužywaŕ móžo mě wobźěłaś (kótarež teke ako alternatiwny tekst słužy) a pó žycenju signaturu za wóspjetne wužywanje składowaś.
|
||||
pdfjs-editor-add-signature-dialog-title = Signaturu pśidaś
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Typ
|
||||
.title = Typ
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Kresliś
|
||||
.title = Kresliś
|
||||
pdfjs-editor-add-signature-image-button = Wobraz
|
||||
.title = Wobraz
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Zapódajśo swóju signaturu
|
||||
.placeholder = Zapódajśo swóju signaturu
|
||||
pdfjs-editor-add-signature-draw-placeholder = Kresliśo swóju signaturu
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Tłustosć
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Tłustosć kreslanki: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Śěgniśo dataju sem, aby ju nagrał
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Abo wubjeŕśo wobrazowe dataje
|
||||
*[other] Abo pśepytajśo wobrazowe dataje
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Wopisanje (alternatiwny tekst)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Wopisanje (alternatiwny tekst)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Signatura
|
||||
pdfjs-editor-add-signature-clear-button-label = Signaturu lašowaś
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Signaturu lašowaś
|
||||
pdfjs-editor-add-signature-save-checkbox = Signaturu składowaś
|
||||
pdfjs-editor-add-signature-save-warning-message = Sćo dojśpił limit 5 skłaźonych signaturow. Wótwónoźćo jadnu, aby wěcej składował.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Wobraz njedajo se nagraś
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Pśeglědajśo swój seśowy zwisk abo wopytajśo drugi wobraz.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Toś ten wobraz njedajo se do signatury pśetwóriś
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Wopytajśo pšosym drugi wobraz nagraś.
|
||||
pdfjs-editor-add-signature-error-close-button = Zacyniś
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Pśetergnuś
|
||||
pdfjs-editor-add-signature-add-button = Pśidaś
|
||||
pdfjs-editor-edit-signature-update-button = Aktualizěrowaś
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Komentar wobźěłaś
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Komentar wobźěłaś
|
||||
pdfjs-editor-delete-comment-popup-button-label = Komentar wótwónoźeś
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Komentar wótwónoźeś
|
||||
pdfjs-show-comment-button =
|
||||
.title = Komentar pokazaś
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Komentar wobźěłaś
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Aktualizěrowaś
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Komentar pśidaś
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Pśidaś
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Zachopśo pisaś…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Pśetergnuś
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Komentar wobźěłaś
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Komentar pśidaś
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Skłaźonu signaturu wótwónoźeś
|
||||
pdfjs-editor-delete-signature-button-label1 = Skłaźonu signaturu wótwónoźeś
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Wopisanje wobźěłaś
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Wopisanje wobźěłaś
|
||||
|
||||
@ -88,7 +88,7 @@ pdfjs-scroll-wrapped-button =
|
||||
.title = Χρήση κυκλικής κύλισης
|
||||
pdfjs-scroll-wrapped-button-label = Κυκλική κύλιση
|
||||
pdfjs-spread-none-button =
|
||||
.title = Να μην γίνει σύνδεση των επεκτάσεων σελίδων
|
||||
.title = Να μη γίνει σύνδεση επεκτάσεων σελίδων
|
||||
pdfjs-spread-none-button-label = Χωρίς επεκτάσεις
|
||||
pdfjs-spread-odd-button =
|
||||
.title = Σύνδεση επεκτάσεων σελίδων ξεκινώντας από τις μονές σελίδες
|
||||
@ -112,6 +112,14 @@ pdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) }
|
||||
# $mb (Number) - the PDF file size in megabytes
|
||||
# $b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)
|
||||
# Variables:
|
||||
# $size_kb (Number) - the PDF file size in kilobytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
|
||||
# Variables:
|
||||
# $size_mb (Number) - the PDF file size in megabytes
|
||||
# $size_b (Number) - the PDF file size in bytes
|
||||
pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
|
||||
pdfjs-document-properties-title = Τίτλος:
|
||||
pdfjs-document-properties-author = Συγγραφέας:
|
||||
pdfjs-document-properties-subject = Θέμα:
|
||||
@ -121,6 +129,10 @@ pdfjs-document-properties-modification-date = Ημερομηνία τροποπ
|
||||
# Variables:
|
||||
# $dateObj (Date) - the creation/modification date and time of the PDF file
|
||||
pdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $date (Date) - the creation/modification date of the PDF file
|
||||
# $time (Time) - the creation/modification time of the PDF file
|
||||
pdfjs-document-properties-date-string = { $date }, { $time }
|
||||
pdfjs-document-properties-creator = Δημιουργός:
|
||||
pdfjs-document-properties-producer = Παραγωγός PDF:
|
||||
pdfjs-document-properties-version = Έκδοση PDF:
|
||||
@ -258,11 +270,15 @@ pdfjs-page-landmark =
|
||||
pdfjs-loading-error = Προέκυψε σφάλμα κατά τη φόρτωση του PDF.
|
||||
pdfjs-invalid-file-error = Μη έγκυρο ή κατεστραμμένο αρχείο PDF.
|
||||
pdfjs-missing-file-error = Λείπει αρχείο PDF.
|
||||
pdfjs-unexpected-response-error = Απρόσμενη απάντηση διακομιστή.
|
||||
pdfjs-unexpected-response-error = Μη αναμενόμενη απόκριση από το διακομιστή.
|
||||
pdfjs-rendering-error = Προέκυψε σφάλμα κατά την εμφάνιση της σελίδας.
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $date (Date) - the modification date of the annotation
|
||||
# $time (Time) - the modification time of the annotation
|
||||
pdfjs-annotation-date-string = { $date }, { $time }
|
||||
# .alt: This is used as a tooltip.
|
||||
# Variables:
|
||||
# $type (String) - an annotation type from a list defined in the PDF spec
|
||||
@ -277,7 +293,7 @@ pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", tim
|
||||
## Password
|
||||
|
||||
pdfjs-password-label = Εισαγάγετε τον κωδικό πρόσβασης για να ανοίξετε αυτό το αρχείο PDF.
|
||||
pdfjs-password-invalid = Μη έγκυρος κωδικός πρόσβασης. Δοκιμάστε ξανά.
|
||||
pdfjs-password-invalid = Μη έγκυρος κωδικός πρόσβασης. Παρακαλώ δοκιμάστε ξανά.
|
||||
pdfjs-password-ok-button = OK
|
||||
pdfjs-password-cancel-button = Ακύρωση
|
||||
pdfjs-web-fonts-disabled = Οι γραμματοσειρές ιστού είναι ανενεργές: δεν είναι δυνατή η χρήση των ενσωματωμένων γραμματοσειρών PDF.
|
||||
@ -286,13 +302,9 @@ pdfjs-web-fonts-disabled = Οι γραμματοσειρές ιστού είνα
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = Κείμενο
|
||||
pdfjs-editor-color-picker-free-text-input =
|
||||
.title = Αλλαγή χρώματος κειμένου
|
||||
pdfjs-editor-free-text-button-label = Κείμενο
|
||||
pdfjs-editor-ink-button =
|
||||
.title = Σχέδιο
|
||||
pdfjs-editor-color-picker-ink-input =
|
||||
.title = Αλλαγή χρώματος σχεδίου
|
||||
pdfjs-editor-ink-button-label = Σχέδιο
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = Προσθήκη ή επεξεργασία εικόνων
|
||||
@ -304,33 +316,6 @@ pdfjs-highlight-floating-button1 =
|
||||
.title = Επισήμανση
|
||||
.aria-label = Επισήμανση
|
||||
pdfjs-highlight-floating-button-label = Επισήμανση
|
||||
pdfjs-comment-floating-button =
|
||||
.title = Σχόλιο
|
||||
.aria-label = Σχόλιο
|
||||
pdfjs-comment-floating-button-label = Σχόλιο
|
||||
pdfjs-editor-comment-button =
|
||||
.title = Σχόλιο
|
||||
.aria-label = Σχόλιο
|
||||
pdfjs-editor-comment-button-label = Σχόλιο
|
||||
pdfjs-editor-signature-button =
|
||||
.title = Προσθήκη υπογραφής
|
||||
pdfjs-editor-signature-button-label = Προσθήκη υπογραφής
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
# “Highlight” is a noun, the string is used on the editor for highlights.
|
||||
pdfjs-editor-highlight-editor =
|
||||
.aria-label = Επεξεργασία επισήμανσης
|
||||
# “Drawing” is a noun, the string is used on the editor for drawings.
|
||||
pdfjs-editor-ink-editor =
|
||||
.aria-label = Επεξεργασία σχεδίου
|
||||
# Used when a signature editor is selected/hovered.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-signature-editor1 =
|
||||
.aria-description = Επεξεργασία υπογραφής: { $description }
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = Επεξεργασία εικόνας
|
||||
|
||||
## Remove button for the various kind of editor.
|
||||
|
||||
@ -342,8 +327,6 @@ pdfjs-editor-remove-stamp-button =
|
||||
.title = Αφαίρεση εικόνας
|
||||
pdfjs-editor-remove-highlight-button =
|
||||
.title = Αφαίρεση επισήμανσης
|
||||
pdfjs-editor-remove-signature-button =
|
||||
.title = Αφαίρεση υπογραφής
|
||||
|
||||
##
|
||||
|
||||
@ -360,41 +343,19 @@ pdfjs-editor-stamp-add-image-button-label = Προσθήκη εικόνας
|
||||
pdfjs-editor-free-highlight-thickness-input = Πάχος
|
||||
pdfjs-editor-free-highlight-thickness-title =
|
||||
.title = Αλλαγή πάχους κατά την επισήμανση στοιχείων εκτός κειμένου
|
||||
pdfjs-editor-add-signature-container =
|
||||
.aria-label = Στοιχεία ελέγχου υπογραφής και αποθηκευμένες υπογραφές
|
||||
pdfjs-editor-signature-add-signature-button =
|
||||
.title = Προσθήκη νέας υπογραφής
|
||||
pdfjs-editor-signature-add-signature-button-label = Προσθήκη νέας υπογραφής
|
||||
# Used on the button to use an already saved signature.
|
||||
# Variables:
|
||||
# $description (String) - a string describing/labeling the signature.
|
||||
pdfjs-editor-add-saved-signature-button =
|
||||
.title = Αποθηκευμένη υπογραφή: { $description }
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
pdfjs-free-text =
|
||||
.aria-label = Επεξεργασία κειμένου
|
||||
.default-content = Ξεκινήστε να πληκτρολογείτε…
|
||||
# Used to show how many comments are present in the pdf file.
|
||||
# Variables:
|
||||
# $count (Number) - the number of comments.
|
||||
pdfjs-editor-comments-sidebar-title =
|
||||
{ $count ->
|
||||
[one] Σχόλια
|
||||
*[other] Σχόλια
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Κλείσιμο πλευρικής στήλης
|
||||
.aria-label = Κλείσιμο πλευρικής στήλης
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Κλείσιμο πλευρικής στήλης
|
||||
# Instructional copy to add a comment by selecting text or an annotations.
|
||||
pdfjs-editor-comments-sidebar-no-comments1 = Βλέπετε κάτι αξιοσημείωτο; Επισημάνετε το και αφήστε ένα σχόλιο.
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = Μάθετε περισσότερα
|
||||
pdfjs-free-text-default-content = Ξεκινήστε να πληκτρολογείτε…
|
||||
pdfjs-ink =
|
||||
.aria-label = Επεξεργασία σχεδίων
|
||||
pdfjs-ink-canvas =
|
||||
.aria-label = Εικόνα από τον χρήστη
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button-label = Εναλλακτικό κείμενο
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Επεξεργασία εναλλακτικού κειμένου
|
||||
pdfjs-editor-alt-text-edit-button-label = Επεξεργασία εναλλακτικού κειμένου
|
||||
pdfjs-editor-alt-text-dialog-label = Διαλέξτε μια επιλογή
|
||||
pdfjs-editor-alt-text-dialog-description = Το εναλλακτικό κείμενο είναι χρήσιμο όταν οι άνθρωποι δεν μπορούν να δουν την εικόνα ή όταν αυτή δεν φορτώνεται.
|
||||
pdfjs-editor-alt-text-add-description-label = Προσθήκη περιγραφής
|
||||
@ -407,13 +368,18 @@ pdfjs-editor-alt-text-decorative-tooltip = Επισημασμένο ως δια
|
||||
# .placeholder: This is a placeholder for the alt text input area
|
||||
pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Για παράδειγμα, «Ένας νεαρός άνδρας κάθεται σε ένα τραπέζι για να φάει ένα γεύμα»
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Εναλλακτικό κείμενο
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
|
||||
pdfjs-editor-resizer-label-top-left = Επάνω αριστερή γωνία — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-top-middle = Μέσο επάνω πλευράς — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-top-right = Επάνω δεξιά γωνία — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-middle-right = Μέσο δεξιάς πλευράς — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-bottom-right = Κάτω δεξιά γωνία — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-bottom-middle = Μέσο κάτω πλευράς — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-bottom-left = Κάτω αριστερή γωνία — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-label-middle-left = Μέσο αριστερής πλευράς — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-top-left =
|
||||
.aria-label = Επάνω αριστερή γωνία — αλλαγή μεγέθους
|
||||
pdfjs-editor-resizer-top-middle =
|
||||
@ -479,19 +445,14 @@ pdfjs-editor-new-alt-text-error-close-button = Κλείσιμο
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Λήψη μοντέλου ΤΝ εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
|
||||
.aria-valuetext = Λήψη μοντέλου ΤΝ εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
|
||||
# $percent (Number) - the percentage of the downloaded size.
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Λήψη μοντέλου AI εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
|
||||
.aria-valuetext = Λήψη μοντέλου AI εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
|
||||
# This is a button that users can click to edit the alt text they have already added.
|
||||
pdfjs-editor-new-alt-text-added-button =
|
||||
.aria-label = Προστέθηκε εναλλακτικό κείμενο
|
||||
pdfjs-editor-new-alt-text-added-button-label = Προστέθηκε εναλλακτικό κείμενο
|
||||
# This is a button that users can click to open the alt text editor and add alt text when it is not present.
|
||||
pdfjs-editor-new-alt-text-missing-button =
|
||||
.aria-label = Απουσία εναλλακτικού κειμένου
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Απουσία εναλλακτικού κειμένου
|
||||
# This is a button that opens up the alt text modal where users should review the alt text that was automatically generated.
|
||||
pdfjs-editor-new-alt-text-to-review-button =
|
||||
.aria-label = Έλεγχος εναλλακτικού κειμένου
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Έλεγχος εναλλακτικού κειμένου
|
||||
# "Created automatically" is a prefix that will be added to the beginning of any alt text that has been automatically generated. After the colon, the user will see/hear the actual alt text description. If the alt text has been edited by a human, this prefix will not appear.
|
||||
# Variables:
|
||||
@ -509,7 +470,7 @@ pdfjs-editor-alt-text-settings-create-model-button-label = Αυτόματη δη
|
||||
pdfjs-editor-alt-text-settings-create-model-description = Προτείνει περιγραφές για άτομα που δεν μπορούν να δουν την εικόνα ή όταν η εικόνα δεν φορτώνεται.
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Μοντέλο ΤΝ εναλλακτικού κειμένου ({ $totalSize } MB)
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Μοντέλο AI εναλλακτικού κειμένου ({ $totalSize } MB)
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = Εκτελείται τοπικά στη συσκευή σας, ώστε τα δεδομένα σας να παραμένουν ιδιωτικά. Απαιτείται για τη δημιουργία του αυτόματου εναλλακτικού κειμένου.
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Διαγραφή
|
||||
pdfjs-editor-alt-text-settings-download-model-button = Λήψη
|
||||
@ -518,133 +479,3 @@ pdfjs-editor-alt-text-settings-editor-title = Επεξεργασία εναλλ
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Άμεση εμφάνιση της επεξεργασίας εναλλακτικού κειμένου κατά την προσθήκη εικόνας
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Σας βοηθά να βεβαιωθείτε ότι όλες οι εικόνες σας έχουν εναλλακτικό κείμενο.
|
||||
pdfjs-editor-alt-text-settings-close-button = Κλείσιμο
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
|
||||
pdfjs-editor-highlight-added-alert = Προστέθηκε επισήμανση
|
||||
pdfjs-editor-freetext-added-alert = Προστέθηκε κείμενο
|
||||
pdfjs-editor-ink-added-alert = Προστέθηκε σχέδιο
|
||||
pdfjs-editor-stamp-added-alert = Προστέθηκε εικόνα
|
||||
pdfjs-editor-signature-added-alert = Προστέθηκε υπογραφή
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-message-highlight = Η επισήμανση αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-freetext = Το κείμενο αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-ink = Το σχέδιο αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-stamp = Η εικόνα αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-signature = Η υπογραφή αφαιρέθηκε
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
{ $count ->
|
||||
[one] Αφαιρέθηκε { $count } σχολιασμός
|
||||
*[other] Αφαιρέθηκαν { $count } σχολιασμοί
|
||||
}
|
||||
pdfjs-editor-undo-bar-undo-button =
|
||||
.title = Αναίρεση
|
||||
pdfjs-editor-undo-bar-undo-button-label = Αναίρεση
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = Κλείσιμο
|
||||
pdfjs-editor-undo-bar-close-button-label = Κλείσιμο
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Αυτό το παράθυρο διαλόγου επιτρέπει στον χρήστη να δημιουργήσει μια υπογραφή για να την προσθέσει σε ένα έγγραφο PDF. Ο χρήστης μπορεί να επεξεργαστεί το όνομα (το οποίο χρησιμεύει και ως εναλλακτικό κείμενο) και, προαιρετικά, να αποθηκεύσει την υπογραφή για επαναλαμβανόμενη χρήση.
|
||||
pdfjs-editor-add-signature-dialog-title = Προσθήκη υπογραφής
|
||||
|
||||
## Tab names
|
||||
|
||||
# Type is a verb (you can type your name as signature)
|
||||
pdfjs-editor-add-signature-type-button = Πληκτρολόγηση
|
||||
.title = Πληκτρολόγηση
|
||||
# Draw is a verb (you can draw your signature)
|
||||
pdfjs-editor-add-signature-draw-button = Σχέδιο
|
||||
.title = Σχέδιο
|
||||
pdfjs-editor-add-signature-image-button = Εικόνα
|
||||
.title = Εικόνα
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Πληκτρολογήστε την υπογραφή σας
|
||||
.placeholder = Πληκτρολογήστε την υπογραφή σας
|
||||
pdfjs-editor-add-signature-draw-placeholder = Σχεδιάστε την υπογραφή σας
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Πάχος
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
.title = Πάχος σχεδίου: { $thickness }
|
||||
pdfjs-editor-add-signature-image-placeholder = Σύρετε ένα αρχείο εδώ για μεταφόρτωση
|
||||
pdfjs-editor-add-signature-image-browse-link =
|
||||
{ PLATFORM() ->
|
||||
[macos] Ή επιλέξτε αρχεία εικόνας
|
||||
*[other] Ή περιηγηθείτε σε αρχεία εικόνας
|
||||
}
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Περιγραφή (εναλλακτικό κείμενο)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Περιγραφή (εναλλακτικό κείμενο)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Υπογραφή
|
||||
pdfjs-editor-add-signature-clear-button-label = Απαλοιφή υπογραφής
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
.title = Απαλοιφή υπογραφής
|
||||
pdfjs-editor-add-signature-save-checkbox = Αποθήκευση υπογραφής
|
||||
pdfjs-editor-add-signature-save-warning-message = Έχετε φτάσει το όριο των 5 αποθηκευμένων υπογραφών. Αφαιρέστε μία για να αποθηκεύσετε περισσότερες.
|
||||
pdfjs-editor-add-signature-image-upload-error-title = Δεν ήταν δυνατή η μεταφόρτωση της εικόνας
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Ελέγξτε τη σύνδεση δικτύου σας ή δοκιμάστε μια άλλη εικόνα.
|
||||
pdfjs-editor-add-signature-image-no-data-error-title = Δεν είναι δυνατή η μετατροπή αυτής της εικόνας σε υπογραφή
|
||||
pdfjs-editor-add-signature-image-no-data-error-description = Δοκιμάστε να μεταφορτώσετε μια άλλη εικόνα.
|
||||
pdfjs-editor-add-signature-error-close-button = Κλείσιμο
|
||||
|
||||
## Dialog buttons
|
||||
|
||||
pdfjs-editor-add-signature-cancel-button = Ακύρωση
|
||||
pdfjs-editor-add-signature-add-button = Προσθήκη
|
||||
pdfjs-editor-edit-signature-update-button = Ενημέρωση
|
||||
|
||||
## Comment popup
|
||||
|
||||
pdfjs-editor-edit-comment-popup-button-label = Επεξεργασία σχολίου
|
||||
pdfjs-editor-edit-comment-popup-button =
|
||||
.title = Επεξεργασία σχολίου
|
||||
pdfjs-editor-delete-comment-popup-button-label = Αφαίρεση σχολίου
|
||||
pdfjs-editor-delete-comment-popup-button =
|
||||
.title = Αφαίρεση σχολίου
|
||||
pdfjs-show-comment-button =
|
||||
.title = Εμφάνιση σχολίου
|
||||
|
||||
## Edit a comment dialog
|
||||
|
||||
# An existing comment is edited
|
||||
pdfjs-editor-edit-comment-dialog-title-when-editing = Επεξεργασία σχολίου
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-editing = Ενημέρωση
|
||||
# No existing comment
|
||||
pdfjs-editor-edit-comment-dialog-title-when-adding = Προσθήκη σχολίου
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = Προσθήκη
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Ξεκινήστε να πληκτρολογείτε…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Ακύρωση
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-edit-comment-button =
|
||||
.title = Επεξεργασία σχολίου
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Προσθήκη σχολίου
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Αφαίρεση αποθηκευμένης υπογραφής
|
||||
pdfjs-editor-delete-signature-button-label1 = Αφαίρεση αποθηκευμένης υπογραφής
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
pdfjs-editor-add-signature-edit-button-label = Επεξεργασία περιγραφής
|
||||
|
||||
## Edit signature description dialog
|
||||
|
||||
pdfjs-editor-edit-signature-dialog-title = Επεξεργασία περιγραφής
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user