mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-07-31 11:27:21 +02:00
Compare commits
No commits in common. "master" and "v5.4.530" have entirely different histories.
27
.gitattributes
vendored
27
.gitattributes
vendored
@ -1,24 +1,23 @@
|
||||
# Force Unix line endings for most file formats (except binary files)
|
||||
*.config text eol=lf
|
||||
*.css text eol=lf
|
||||
*.example text eol=lf
|
||||
*.ftl text eol=lf
|
||||
*.html text eol=lf
|
||||
*.js text eol=lf
|
||||
*.json text eol=lf
|
||||
*.link text eol=lf
|
||||
*.jsm text eol=lf
|
||||
*.css text eol=lf
|
||||
*.html text eol=lf
|
||||
*.md text eol=lf
|
||||
*.mjs text eol=lf
|
||||
*.mts text eol=lf
|
||||
*.njk text eol=lf
|
||||
*.py text eol=lf
|
||||
*.svg text eol=lf
|
||||
*.ts text eol=lf
|
||||
*.txt text eol=lf
|
||||
*.ftl text eol=lf
|
||||
*.yml text eol=lf
|
||||
*.json text eol=lf
|
||||
*.config text eol=lf
|
||||
*.inc text eol=lf
|
||||
*.manifest text eol=lf
|
||||
*.rdf text eol=lf
|
||||
*.jade text eol=lf
|
||||
*.coffee text eol=lf
|
||||
|
||||
# PDF files shall not modify CRLF line endings
|
||||
*.pdf -crlf
|
||||
|
||||
# Linguist language overrides
|
||||
*.js linguist-language=JavaScript
|
||||
*.jsm linguist-language=JavaScript
|
||||
*.inc linguist-language=XML
|
||||
|
||||
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -8,6 +8,8 @@ The issue tracking system is designed to record a single technical problem. A bu
|
||||
|
||||
If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.
|
||||
|
||||
Note that the translations for PDF.js in the `l10n` folder are imported from the Nightly channel of Mozilla Firefox, such that we don't have to maintain them ourselves. This means that we will not accept pull requests that add new languages and/or modify existing translations, unless the corresponding changes have been made in Mozilla Firefox first.
|
||||
|
||||
See also:
|
||||
- https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions
|
||||
- https://github.com/mozilla/pdf.js/wiki/Contributing
|
||||
|
||||
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@ -6,5 +6,3 @@ updates:
|
||||
interval: "weekly"
|
||||
labels:
|
||||
- "dependencies"
|
||||
cooldown:
|
||||
default-days: 7
|
||||
|
||||
7
.github/fluent_linter_requirements.txt
vendored
7
.github/fluent_linter_requirements.txt
vendored
@ -1,7 +0,0 @@
|
||||
# The requirements below can be regenerated with the following one-liner:
|
||||
# `python3 -m venv venv; source venv/bin/activate; pip install -q moz-fluent-linter; pip freeze; deactivate; rm -rf venv`
|
||||
fluent.syntax==0.19.0
|
||||
moz-fluent-linter==0.4.10
|
||||
PyYAML==6.0.3
|
||||
six==1.17.0
|
||||
typing_extensions==4.16.0
|
||||
3
.github/font_tests_requirements.txt
vendored
3
.github/font_tests_requirements.txt
vendored
@ -1,3 +0,0 @@
|
||||
# The requirements below can be regenerated with the following one-liner:
|
||||
# `python3 -m venv venv; source venv/bin/activate; pip install -q fonttools; pip freeze; deactivate; rm -rf venv`
|
||||
fonttools==4.63.0
|
||||
1
.github/requirements.txt
vendored
Normal file
1
.github/requirements.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
moz-fluent-linter==0.4.*
|
||||
41
.github/workflows/ci.yml
vendored
41
.github/workflows/ci.yml
vendored
@ -7,59 +7,28 @@ jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
environment: code-coverage
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [22, 24, 26]
|
||||
node-version: [20, 22, 24, 25]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Restore cached PDF files
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
restore-keys: |
|
||||
cached-pdf-files-
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Run external tests
|
||||
run: npx gulp externaltest
|
||||
|
||||
- name: Run CLI unit tests with code coverage
|
||||
run: npx gulp unittestcli --coverage --coverage-output build/coverage/unitcli
|
||||
|
||||
- name: Save cached PDF files
|
||||
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Upload results to Codecov
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
fail_ci_if_error: true
|
||||
files: ./build/coverage/unitcli/lcov.info
|
||||
flags: unittestcli
|
||||
name: codecov-umbrella
|
||||
disable_search: true
|
||||
disable_telem: true
|
||||
verbose: true
|
||||
- name: Run CLI unit tests
|
||||
run: npx gulp unittestcli
|
||||
|
||||
9
.github/workflows/codeql.yml
vendored
9
.github/workflows/codeql.yml
vendored
@ -18,19 +18,18 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
|
||||
uses: github/codeql-action/init@v4
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
queries: security-and-quality
|
||||
|
||||
- name: Autobuild CodeQL
|
||||
uses: github/codeql-action/autobuild@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
|
||||
uses: github/codeql-action/autobuild@v4
|
||||
|
||||
- name: Perform CodeQL analysis
|
||||
uses: github/codeql-action/analyze@e0647621c2984b5ed2f768cb892365bf2a616ad1 # v4.37.2
|
||||
uses: github/codeql-action/analyze@v4
|
||||
|
||||
101
.github/workflows/coverage_browser_tests.yml
vendored
101
.github/workflows/coverage_browser_tests.yml
vendored
@ -1,101 +0,0 @@
|
||||
name: Coverage (Browser tests)
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/images/**'
|
||||
- 'test/pdfs/**'
|
||||
- 'test/resources/**'
|
||||
- 'test/*.css'
|
||||
- 'test/driver.js'
|
||||
- 'test/test.mjs'
|
||||
- 'test/test_manifest.json'
|
||||
- 'test/test_slave.html'
|
||||
- 'web/**'
|
||||
- '.github/workflows/coverage_browser_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/images/**'
|
||||
- 'test/pdfs/**'
|
||||
- 'test/resources/**'
|
||||
- 'test/*.css'
|
||||
- 'test/driver.js'
|
||||
- 'test/test.mjs'
|
||||
- 'test/test_manifest.json'
|
||||
- 'test/test_slave.html'
|
||||
- 'web/**'
|
||||
- '.github/workflows/coverage_browser_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: ${{ matrix.os }} / firefox
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
os: [ubuntu-latest]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
environment: code-coverage
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Restore cached PDF files
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
restore-keys: |
|
||||
cached-pdf-files-
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Run browser tests with code coverage
|
||||
run: npx gulp botbrowsertest --headless -j$(nproc) --coverage --coverage-output build/coverage/browser --noChrome
|
||||
|
||||
- name: Save cached PDF files
|
||||
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Upload results to Codecov
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
fail_ci_if_error: true
|
||||
files: ./build/coverage/browser/lcov.info
|
||||
flags: browsertest
|
||||
name: codecov-umbrella
|
||||
disable_search: true
|
||||
disable_telem: true
|
||||
verbose: true
|
||||
17
.github/workflows/fluent_linter.yml
vendored
17
.github/workflows/fluent_linter.yml
vendored
@ -4,7 +4,6 @@ on:
|
||||
paths:
|
||||
- 'l10n/en-US/**.ftl'
|
||||
- '.github/fluent_linter_config.yml'
|
||||
- '.github/fluent_linter_requirements.txt'
|
||||
- '.github/workflows/fluent_linter.yml'
|
||||
branches:
|
||||
- master
|
||||
@ -12,7 +11,6 @@ on:
|
||||
paths:
|
||||
- 'l10n/en-US/**.ftl'
|
||||
- '.github/fluent_linter_config.yml'
|
||||
- '.github/fluent_linter_requirements.txt'
|
||||
- '.github/workflows/fluent_linter.yml'
|
||||
branches:
|
||||
- master
|
||||
@ -27,19 +25,18 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Use Python 3.14
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.14'
|
||||
cache: 'pip'
|
||||
cache-dependency-path: '.github/fluent_linter_requirements.txt'
|
||||
|
||||
- name: Install requirements
|
||||
run: pip install -r .github/fluent_linter_requirements.txt
|
||||
- name: Install Fluent dependencies
|
||||
run: |
|
||||
pip install -r .github/requirements.txt
|
||||
|
||||
- name: Lint Fluent reference files
|
||||
run: moz-fluent-lint ./l10n/en-US --config .github/fluent_linter_config.yml
|
||||
run: |
|
||||
moz-fluent-lint ./l10n/en-US --config .github/fluent_linter_config.yml
|
||||
|
||||
44
.github/workflows/font_tests.yml
vendored
44
.github/workflows/font_tests.yml
vendored
@ -3,24 +3,18 @@ on:
|
||||
push:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/font/**'
|
||||
- '.github/font_tests_requirements.txt'
|
||||
- '.github/workflows/font_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/font/**'
|
||||
- '.github/font_tests_requirements.txt'
|
||||
- '.github/workflows/font_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
@ -30,60 +24,38 @@ permissions:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: ${{ matrix.os }} / ${{ matrix.browser }}
|
||||
name: Test
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
browser: [firefox, chrome]
|
||||
include:
|
||||
- browser: firefox
|
||||
skip: --noChrome
|
||||
- browser: chrome
|
||||
skip: --noFirefox
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
environment: code-coverage
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Use Python 3.14
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.14'
|
||||
cache: 'pip'
|
||||
cache-dependency-path: '.github/font_tests_requirements.txt'
|
||||
|
||||
- name: Install requirements
|
||||
run: pip install -r .github/font_tests_requirements.txt
|
||||
- name: Install Fonttools
|
||||
run: pip install fonttools
|
||||
|
||||
- name: Run font tests with code coverage
|
||||
run: npx gulp fonttest --headless --coverage --coverage-output build/coverage/font ${{ matrix.skip }}
|
||||
|
||||
- name: Upload results to Codecov
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
fail_ci_if_error: true
|
||||
files: ./build/coverage/font/lcov.info
|
||||
flags: fonttest
|
||||
name: codecov-umbrella
|
||||
disable_search: true
|
||||
disable_telem: true
|
||||
verbose: true
|
||||
- name: Run font tests
|
||||
run: npx gulp fonttest --headless
|
||||
|
||||
108
.github/workflows/integration_tests.yml
vendored
108
.github/workflows/integration_tests.yml
vendored
@ -1,108 +0,0 @@
|
||||
name: Integration tests
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/integration/**'
|
||||
- 'web/**'
|
||||
- '.github/workflows/integration_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/integration/**'
|
||||
- 'web/**'
|
||||
- '.github/workflows/integration_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: ${{ matrix.os }} / ${{ matrix.browser }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
browser: [firefox, chrome]
|
||||
include:
|
||||
- browser: firefox
|
||||
skip: --noChrome
|
||||
- browser: chrome
|
||||
skip: --noFirefox
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
environment: code-coverage
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Restore cached PDF files
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
restore-keys: |
|
||||
cached-pdf-files-
|
||||
enableCrossOsArchive: true
|
||||
|
||||
# Note that the integration tests can't run in headless mode until bug
|
||||
# 1878643 (tracked in #20918), and possibly others, have been fixed
|
||||
# upstream, so we can't run with the `--headless` flag and thus have to
|
||||
# configure a standard resolution for the headful browser windows.
|
||||
- name: Update resolution (Windows)
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
run: Set-DisplayResolution -Width 1920 -Height 1080 -Force
|
||||
|
||||
- name: Run integration tests with code coverage (Windows)
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
run: npx gulp integrationtest --coverage --coverage-output build/coverage/integration ${{ matrix.skip }}
|
||||
|
||||
- name: Run integration tests with code coverage (Linux)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' }}
|
||||
run: xvfb-run -a --server-args="-screen 0, 1920x1080x24" npx gulp integrationtest --coverage --coverage-output build/coverage/integration ${{ matrix.skip }}
|
||||
|
||||
- name: Save cached PDF files
|
||||
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Upload results to Codecov
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
fail_ci_if_error: true
|
||||
files: ./build/coverage/integration/lcov.info
|
||||
flags: integrationtest
|
||||
name: codecov-umbrella
|
||||
disable_search: true
|
||||
disable_telem: true
|
||||
verbose: true
|
||||
9
.github/workflows/lint.yml
vendored
9
.github/workflows/lint.yml
vendored
@ -15,16 +15,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
@ -32,5 +30,8 @@ jobs:
|
||||
- name: Run lint
|
||||
run: npx gulp lint
|
||||
|
||||
- name: Run lint-chromium
|
||||
run: npx gulp lint-chromium
|
||||
|
||||
- name: Run lint-mozcentral
|
||||
run: npx gulp lint-mozcentral
|
||||
|
||||
77
.github/workflows/notify-pdf-sync.yml
vendored
77
.github/workflows/notify-pdf-sync.yml
vendored
@ -1,77 +0,0 @@
|
||||
name: Notify PDF sync
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
paths:
|
||||
- "test/pdfs/*.pdf"
|
||||
- "test/pdfs/*.pdf.link"
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
notify:
|
||||
runs-on: ubuntu-latest
|
||||
environment: sync_pdfs
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Check for added PDF files
|
||||
id: check
|
||||
run: |
|
||||
git fetch --no-tags --depth=1 origin ${{ github.event.before }}
|
||||
|
||||
mapfile -t added < <(
|
||||
git diff --diff-filter=A --name-only \
|
||||
${{ github.event.before }} \
|
||||
${{ github.sha }} \
|
||||
-- \
|
||||
':(glob)test/pdfs/*.pdf' \
|
||||
':(glob)test/pdfs/*.pdf.link'
|
||||
)
|
||||
|
||||
if [ "${#added[@]}" -gt 0 ]; then
|
||||
echo "has_added=true" >> "$GITHUB_OUTPUT"
|
||||
printf 'files_json=%s\n' "$(printf '%s\n' "${added[@]}" | jq -Rsc 'split("\n")[:-1]')" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "has_added=false" >> "$GITHUB_OUTPUT"
|
||||
echo 'files_json=[]' >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Generate app token
|
||||
if: steps.check.outputs.has_added == 'true'
|
||||
id: app-token
|
||||
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||
with:
|
||||
client-id: ${{ secrets.CLIENT_ID }}
|
||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||
owner: mozilla
|
||||
repositories: pdf.js.pdfs
|
||||
|
||||
- name: Trigger sync
|
||||
if: steps.check.outputs.has_added == 'true'
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
FILES_JSON: ${{ steps.check.outputs.files_json }}
|
||||
run: |
|
||||
payload=$(jq -nc \
|
||||
--arg before "${{ github.event.before }}" \
|
||||
--arg after "${{ github.sha }}" \
|
||||
--argjson files "$FILES_JSON" \
|
||||
'{
|
||||
event_type: "pdf-added",
|
||||
client_payload: {
|
||||
before: $before,
|
||||
after: $after,
|
||||
files: $files
|
||||
}
|
||||
}')
|
||||
|
||||
gh api repos/mozilla/pdf.js.pdfs/dispatches \
|
||||
--method POST \
|
||||
--input - <<< "$payload"
|
||||
33
.github/workflows/prefs_tests.yml
vendored
33
.github/workflows/prefs_tests.yml
vendored
@ -1,33 +0,0 @@
|
||||
name: Prefs tests
|
||||
on: [push, pull_request]
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run prefs tests
|
||||
run: npx gulp prefstest
|
||||
185
.github/workflows/publish_coverage_index.yml
vendored
185
.github/workflows/publish_coverage_index.yml
vendored
@ -1,185 +0,0 @@
|
||||
name: Publish per-test coverage index
|
||||
# Builds the per-test coverage index (which ref test exercises which source
|
||||
# line/function) and publishes it to the gh-pages branch of mozilla/pdf.js.refs,
|
||||
# where it's served at:
|
||||
# https://mozilla.github.io/pdf.js.refs/per-test-index.json
|
||||
# The index can then be queried with `npx gulp coverage_search`.
|
||||
#
|
||||
# This only runs when something is merged into master (push event); the build is
|
||||
# heavy (a full browser test run), so it's deliberately kept off pull requests.
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/images/**'
|
||||
- 'test/pdfs/**'
|
||||
- 'test/resources/**'
|
||||
- 'test/*.css'
|
||||
- 'test/driver.js'
|
||||
- 'test/test.mjs'
|
||||
- 'test/test_manifest.json'
|
||||
- 'test/test_slave.html'
|
||||
- 'web/**'
|
||||
- '.github/workflows/publish_coverage_index.yml'
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
concurrency:
|
||||
group: publish-coverage-index-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
if: github.ref == 'refs/heads/master'
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
environment: sync_pdfs
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Restore cached PDF files
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
restore-keys: |
|
||||
cached-pdf-files-
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Build the per-test coverage index
|
||||
run: npx gulp botbrowsertest --headless -j$(nproc) --coverage-per-test --coverage-output build/coverage/browser --noChrome
|
||||
|
||||
- name: Save cached PDF files
|
||||
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Check current master
|
||||
id: current-master
|
||||
run: |
|
||||
set -euo pipefail
|
||||
git fetch --no-tags --depth=1 origin master:refs/remotes/origin/master
|
||||
current_master="$(git rev-parse refs/remotes/origin/master)"
|
||||
if [ "$GITHUB_SHA" = "$current_master" ]; then
|
||||
echo "current=true" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "::notice::Skipping publish because ${GITHUB_SHA} is no longer origin/master (${current_master})"
|
||||
echo "current=false" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Generate app token for pdf.js.refs
|
||||
if: steps.current-master.outputs.current == 'true'
|
||||
id: refs-token
|
||||
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||
with:
|
||||
client-id: ${{ secrets.CLIENT_ID }}
|
||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||
owner: mozilla
|
||||
repositories: pdf.js.refs
|
||||
# Least privilege: the token only needs to push to gh-pages.
|
||||
permission-contents: write
|
||||
|
||||
- name: Publish per-test coverage index
|
||||
if: steps.current-master.outputs.current == 'true'
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.refs-token.outputs.token }}
|
||||
INDEX_FILE: build/coverage/browser/per-test-index.json
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ ! -f "$INDEX_FILE" ]; then
|
||||
# A successful per-test run always writes the index; test.mjs only
|
||||
# skips it when no per-test coverage was collected at all, so a
|
||||
# missing file here means a broken build, not "nothing to publish".
|
||||
echo "::error::Per-test coverage index not found at $INDEX_FILE"
|
||||
exit 1
|
||||
fi
|
||||
repo_url="https://github.com/mozilla/pdf.js.refs.git"
|
||||
# Authenticate with a short-lived header rather than embedding the
|
||||
# token in the remote URL, so it never persists in .git/config.
|
||||
auth_header="Authorization: basic $(printf 'x-access-token:%s' "$GH_TOKEN" | base64 | tr -d '\n')"
|
||||
git_refs() { git -c http.extraheader="$auth_header" "$@"; }
|
||||
stage_index() {
|
||||
cp "$GITHUB_WORKSPACE/$INDEX_FILE" per-test-index.json
|
||||
git add per-test-index.json
|
||||
}
|
||||
commit_index() {
|
||||
git \
|
||||
-c user.name="github-actions[bot]" \
|
||||
-c user.email="41898282+github-actions[bot]@users.noreply.github.com" \
|
||||
commit -q -m "Update per-test coverage index for ${GITHUB_SHA}"
|
||||
}
|
||||
work="$(mktemp -d)"
|
||||
# Does gh-pages already exist? Probe explicitly so a transient network
|
||||
# error isn't mistaken for "first run" (the orphan path below discards
|
||||
# whatever else the branch holds).
|
||||
ls_status=0
|
||||
git_refs ls-remote --exit-code --heads "$repo_url" gh-pages >/dev/null 2>&1 || ls_status=$?
|
||||
case "$ls_status" in
|
||||
0)
|
||||
# Reuse gh-pages, keeping any other files it holds.
|
||||
git_refs clone --depth=1 --branch gh-pages "$repo_url" "$work"
|
||||
cd "$work"
|
||||
;;
|
||||
2)
|
||||
# First run: start a fresh orphan branch without cloning history.
|
||||
git init -q "$work"
|
||||
cd "$work"
|
||||
git remote add origin "$repo_url"
|
||||
git checkout -q --orphan gh-pages
|
||||
;;
|
||||
*)
|
||||
echo "::error::Could not query gh-pages on pdf.js.refs (git ls-remote exit ${ls_status})"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
stage_index
|
||||
if git diff --cached --quiet; then
|
||||
echo "No changes to publish"
|
||||
exit 0
|
||||
fi
|
||||
commit_index
|
||||
# Retry against a concurrent update to gh-pages: re-sync onto the new
|
||||
# tip, re-apply our index (latest build wins), and push again.
|
||||
for attempt in 1 2 3; do
|
||||
if git_refs push origin gh-pages; then
|
||||
exit 0
|
||||
fi
|
||||
if [ "$attempt" -eq 3 ]; then
|
||||
echo "::error::Failed to push the per-test coverage index after ${attempt} attempts"
|
||||
exit 1
|
||||
fi
|
||||
echo "gh-pages advanced during the run; re-syncing and retrying (attempt ${attempt})"
|
||||
git_refs fetch --depth=1 origin gh-pages
|
||||
git reset --hard FETCH_HEAD
|
||||
stage_index
|
||||
if git diff --cached --quiet; then
|
||||
echo "No changes after re-sync"
|
||||
exit 0
|
||||
fi
|
||||
commit_index
|
||||
done
|
||||
6
.github/workflows/publish_release.yml
vendored
6
.github/workflows/publish_release.yml
vendored
@ -17,16 +17,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
16
.github/workflows/publish_website.yml
vendored
16
.github/workflows/publish_website.yml
vendored
@ -6,12 +6,6 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
# Allow only one concurrent deployment, without cancelling in-progress runs, so
|
||||
# that an in-flight Pages deployment is allowed to finish before the next starts.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
@ -23,16 +17,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
@ -57,7 +49,7 @@ jobs:
|
||||
INPUT_PATH: build/gh-pages
|
||||
|
||||
- name: Upload the website
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: github-pages
|
||||
path: ${{ runner.temp }}/website.tar
|
||||
@ -74,4 +66,4 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Deploy the website
|
||||
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
|
||||
uses: actions/deploy-pages@v4
|
||||
|
||||
6
.github/workflows/types_tests.yml
vendored
6
.github/workflows/types_tests.yml
vendored
@ -15,16 +15,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
95
.github/workflows/unit_tests.yml
vendored
95
.github/workflows/unit_tests.yml
vendored
@ -1,95 +0,0 @@
|
||||
name: Unit tests
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/unit/**'
|
||||
- 'web/**'
|
||||
- '.github/workflows/unit_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
paths:
|
||||
- 'gulpfile.mjs'
|
||||
- 'external/**'
|
||||
- 'package-lock.json'
|
||||
- 'src/**'
|
||||
- 'test/test.mjs'
|
||||
- 'test/unit/**'
|
||||
- 'web/**'
|
||||
- '.github/workflows/unit_tests.yml'
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: ${{ matrix.os }} / ${{ matrix.browser }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [lts/*]
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
browser: [firefox, chrome]
|
||||
include:
|
||||
- browser: firefox
|
||||
skip: --noChrome
|
||||
- browser: chrome
|
||||
skip: --noFirefox
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
environment: code-coverage
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Restore cached PDF files
|
||||
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
restore-keys: |
|
||||
cached-pdf-files-
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Run unit tests with code coverage
|
||||
run: npx gulp unittest --headless --coverage --coverage-output build/coverage/unit ${{ matrix.skip }}
|
||||
|
||||
- name: Save cached PDF files
|
||||
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||
with:
|
||||
path: test/pdfs/*.pdf
|
||||
key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }}
|
||||
enableCrossOsArchive: true
|
||||
|
||||
- name: Upload results to Codecov
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
fail_ci_if_error: true
|
||||
files: ./build/coverage/unit/lcov.info
|
||||
flags: unittest
|
||||
name: codecov-umbrella
|
||||
disable_search: true
|
||||
disable_telem: true
|
||||
verbose: true
|
||||
61
.github/workflows/update_locales.yml
vendored
61
.github/workflows/update_locales.yml
vendored
@ -1,61 +0,0 @@
|
||||
name: Update locales
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * 5" # Every Friday at midnight UTC
|
||||
workflow_dispatch: # Allow manual triggering
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
update-locales:
|
||||
name: Update locales
|
||||
runs-on: ubuntu-latest
|
||||
environment: sync_l10n
|
||||
|
||||
steps:
|
||||
- name: Generate app token
|
||||
id: app-token
|
||||
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||
with:
|
||||
client-id: ${{ secrets.CLIENT_ID }}
|
||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Use Node.js LTS
|
||||
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Import translations from mozilla-central
|
||||
run: npx gulp importl10n
|
||||
|
||||
- name: Create Pull Request
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
run: |
|
||||
if [ -z "$(git status --porcelain l10n/)" ]; then
|
||||
echo "No locale changes to commit."
|
||||
exit 0
|
||||
fi
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git remote set-url origin "https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}"
|
||||
git switch -C update-locales
|
||||
git add l10n/
|
||||
git commit -m "l10n: Update locale files"
|
||||
git push --force origin update-locales
|
||||
gh pr create \
|
||||
--title "l10n: Update locale files" \
|
||||
--body "Automated weekly update of locale files from mozilla-central." \
|
||||
--label l10n || true
|
||||
@ -1,9 +0,0 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"firefox-devtools": {
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": ["@padenot/firefox-devtools-mcp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -13,6 +13,3 @@ test/tmp/
|
||||
test/pdfs/
|
||||
web/locale/
|
||||
*~/
|
||||
.claude/
|
||||
.codex/
|
||||
.cursor/
|
||||
|
||||
9
.puppeteerrc
Normal file
9
.puppeteerrc
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"chrome": {
|
||||
"skipDownload": false
|
||||
},
|
||||
"firefox": {
|
||||
"skipDownload": false,
|
||||
"version": "nightly"
|
||||
}
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
{
|
||||
"chrome": {
|
||||
"skipDownload": true,
|
||||
"version": "stable"
|
||||
},
|
||||
"chrome-headless-shell": {
|
||||
"skipDownload": true
|
||||
},
|
||||
"firefox": {
|
||||
"skipDownload": true,
|
||||
"version": "nightly"
|
||||
}
|
||||
}
|
||||
@ -13,6 +13,9 @@
|
||||
"color-no-invalid-hex": true,
|
||||
"declaration-block-no-duplicate-properties": true,
|
||||
"declaration-block-no-redundant-longhand-properties": true,
|
||||
"declaration-property-value-disallowed-list": {
|
||||
"float": ["inline-start", "inline-end"]
|
||||
},
|
||||
"length-zero-no-unit": [true, {
|
||||
"ignore": ["custom-properties"]
|
||||
}],
|
||||
|
||||
88
README.md
88
README.md
@ -1,4 +1,4 @@
|
||||
# PDF.js [](https://github.com/mozilla/pdf.js/actions/workflows/ci.yml?query=branch%3Amaster) [](https://codecov.io/gh/mozilla/pdf.js)
|
||||
# PDF.js [](https://github.com/mozilla/pdf.js/actions/workflows/ci.yml?query=branch%3Amaster)
|
||||
|
||||
[PDF.js](https://mozilla.github.io/pdf.js/) is a Portable Document Format (PDF) viewer that is built with HTML5.
|
||||
|
||||
@ -44,10 +44,6 @@ PDF.js is built into version 19+ of Firefox.
|
||||
Chrome, go to `Tools > Extension` and load the (unpackaged) extension from the
|
||||
directory `build/chromium`.
|
||||
|
||||
### PDF debugger
|
||||
|
||||
Browse the internal structure of a PDF document with https://mozilla.github.io/pdf.js/internal-viewer/web/debugger.html
|
||||
|
||||
## Getting the Code
|
||||
|
||||
To get a local copy of the current code, clone it using git:
|
||||
@ -91,88 +87,6 @@ This will generate `pdf.js` and `pdf.worker.js` in the `build/generic/build/` di
|
||||
Both scripts are needed but only `pdf.js` needs to be included since `pdf.worker.js` will
|
||||
be loaded by `pdf.js`. The PDF.js files are large and should be minified for production.
|
||||
|
||||
## Code coverage
|
||||
|
||||
We track how much of the code is exercised by the test suite on
|
||||
[Codecov](https://codecov.io/gh/mozilla/pdf.js) (see the badge at the top of this
|
||||
file).
|
||||
|
||||
### How it is collected
|
||||
|
||||
When coverage is enabled, the build instruments the bundled code with
|
||||
[`babel-plugin-istanbul`](https://github.com/istanbuljs/babel-plugin-istanbul),
|
||||
which adds counters that record every line, branch and function that runs:
|
||||
|
||||
+ For browser-based tests (unit, integration and reference tests) the
|
||||
instrumented code runs in the browser, fills a global `window.__coverage__`
|
||||
object, and the test runner collects it from each browser session, merges the
|
||||
results, and writes the report.
|
||||
+ For the Node-based unit tests (`unittestcli`) the raw data is written to
|
||||
`build/tmp/unittestcli-coverage.json` and turned into a report afterwards.
|
||||
|
||||
### Collecting coverage locally
|
||||
|
||||
Add the `--coverage` flag to any of the test tasks, for example:
|
||||
|
||||
$ npx gulp unittest --coverage # browser unit tests
|
||||
$ npx gulp unittestcli --coverage # Node unit tests
|
||||
$ npx gulp integrationtest --coverage # Puppeteer integration tests
|
||||
$ npx gulp botbrowsertest --coverage # reference tests
|
||||
|
||||
The following options control the output:
|
||||
|
||||
| Option | Description | Default |
|
||||
| --- | --- | --- |
|
||||
| `--coverage` | Enable coverage collection. | off |
|
||||
| `--coverage-output <dir>` | Directory where the report is written. | `build/coverage` |
|
||||
| `--coverage-formats <list>` | Comma-separated list of formats: `info`, `html`, `json`, `text`, `cobertura`, `clover`. | `info` |
|
||||
| `--coverage-per-test` | Also build a per-test index (see below). | off |
|
||||
|
||||
By default the report is written to `build/coverage` in the `info` format, i.e.
|
||||
an [LCOV](https://github.com/linux-test-project/lcov) `lcov.info` file (the same
|
||||
format that is uploaded to Codecov). Use `--coverage-formats html` to get a
|
||||
browsable HTML report instead, or pass several formats at once, e.g.
|
||||
`--coverage-formats info,html`.
|
||||
|
||||
### Finding which tests cover a given line
|
||||
|
||||
`coverage_search` lists the ref tests that exercised a specific source line or
|
||||
function. It uses the per-test index (`per-test-index.json`) that is rebuilt on
|
||||
every push to `master` and published to the
|
||||
[`pdf.js.refs`](https://github.com/mozilla/pdf.js.refs/tree/gh-pages)
|
||||
repository. The index is downloaded on demand, cached locally, and only
|
||||
re-downloaded when it has changed, so no local coverage build is required:
|
||||
|
||||
$ npx gulp coverage_search --code="canvas.js::205"
|
||||
$ npx gulp coverage_search --code="canvas.js::drawImageAtIntegerCoords"
|
||||
|
||||
To run — or regenerate the reference images for — only the ref tests that touch
|
||||
a given line or function, pass the same `--code` option to a browser test or
|
||||
`makeref` task:
|
||||
|
||||
$ npx gulp browsertest --code="canvas.js::205"
|
||||
$ npx gulp makeref --code="canvas.js::205"
|
||||
|
||||
Pass `--no-download` to reuse the locally cached index without contacting the
|
||||
network. The index can also be built and queried locally (the CI job that
|
||||
publishes it builds it the same way):
|
||||
|
||||
$ npx gulp botbrowsertest --coverage-per-test
|
||||
$ npx gulp coverage_search --code="canvas.js::205" \
|
||||
--index=build/coverage/per-test-index.json --no-download
|
||||
|
||||
### Continuous integration
|
||||
|
||||
On every push and pull request three GitHub Actions workflows collect coverage
|
||||
and upload it to Codecov, each tagged with its own Codecov *flag* so the test
|
||||
types can be told apart:
|
||||
|
||||
| Workflow | Task | Codecov flag |
|
||||
| --- | --- | --- |
|
||||
| `unit_tests.yml` | `unittest` | `unittest` |
|
||||
| `integration_tests.yml` | `integrationtest` | `integrationtest` |
|
||||
| `coverage_browser_tests.yml` | `botbrowsertest` | `browsertest` |
|
||||
|
||||
## 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
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
flag_management:
|
||||
default_rules:
|
||||
carryforward: true
|
||||
@ -18,13 +18,13 @@ This tutorial shows how PDF.js can be used as a library in a web browser.
|
||||
The object structure of PDF.js loosely follows the structure of an actual PDF. At the top level there is a document object. From the document, more information and individual pages can be fetched. To get the document:
|
||||
|
||||
```js
|
||||
pdfjsLib.getDocument({ url: "helloworld.pdf" })
|
||||
pdfjsLib.getDocument('helloworld.pdf')
|
||||
```
|
||||
|
||||
Remember though that PDF.js uses promises, and the above will return a `PDFDocumentLoadingTask` instance that has a `promise` property which is resolved with the document object.
|
||||
|
||||
```js
|
||||
var loadingTask = pdfjsLib.getDocument({ url: "helloworld.pdf" });
|
||||
var loadingTask = pdfjsLib.getDocument('helloworld.pdf');
|
||||
loadingTask.promise.then(function(pdf) {
|
||||
// you can now use *pdf* here
|
||||
});
|
||||
@ -48,8 +48,8 @@ var viewport = page.getViewport({ scale: scale, });
|
||||
// Support HiDPI-screens.
|
||||
var outputScale = window.devicePixelRatio || 1;
|
||||
|
||||
var canvas = document.getElementById("the-canvas");
|
||||
var context = canvas.getContext("2d");
|
||||
var canvas = document.getElementById('the-canvas');
|
||||
var context = canvas.getContext('2d');
|
||||
|
||||
canvas.width = Math.floor(viewport.width * outputScale);
|
||||
canvas.height = Math.floor(viewport.height * outputScale);
|
||||
|
||||
@ -1,13 +1,11 @@
|
||||
import globals from "globals";
|
||||
|
||||
import import_ from "eslint-plugin-import-x";
|
||||
import import_ from "eslint-plugin-import";
|
||||
import jasmine from "eslint-plugin-jasmine";
|
||||
import json from "@eslint/json";
|
||||
import json from "eslint-plugin-json";
|
||||
import noUnsanitized from "eslint-plugin-no-unsanitized";
|
||||
import perfectionist from "eslint-plugin-perfectionist";
|
||||
import preferMathClamp from "./external/eslint_plugins/prefer-math-clamp.mjs";
|
||||
import prettierRecommended from "eslint-plugin-prettier/recommended";
|
||||
import regexpPlugin from "eslint-plugin-regexp";
|
||||
import unicorn from "eslint-plugin-unicorn";
|
||||
|
||||
const jsFiles = folder => {
|
||||
@ -28,18 +26,15 @@ const chromiumExtensionServiceWorkerFiles = [
|
||||
export default [
|
||||
{
|
||||
ignores: [
|
||||
"package-lock.json",
|
||||
"**/build/",
|
||||
"**/l10n/",
|
||||
"**/docs/",
|
||||
"**/node_modules/",
|
||||
"external/bcmaps/",
|
||||
"external/brotli/",
|
||||
"external/builder/fixtures/",
|
||||
"external/builder/fixtures_babel/",
|
||||
"external/openjpeg/",
|
||||
"external/qcms/",
|
||||
"external/jbig2/",
|
||||
"external/quickjs/",
|
||||
"test/stats/results/",
|
||||
"test/tmp/",
|
||||
@ -47,7 +42,6 @@ export default [
|
||||
"web/locale/",
|
||||
"web/wasm/",
|
||||
"**/*~/",
|
||||
".{claude,codex,cursor}/",
|
||||
],
|
||||
},
|
||||
|
||||
@ -57,16 +51,7 @@ export default [
|
||||
|
||||
prettierRecommended,
|
||||
{
|
||||
files: jsFiles("."),
|
||||
plugins: regexpPlugin.configs["flat/recommended"].plugins,
|
||||
rules: {
|
||||
...regexpPlugin.configs["flat/recommended"].rules,
|
||||
"regexp/no-legacy-features": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["**/*.json", "**/.*.json"],
|
||||
language: "json/json",
|
||||
files: ["**/*.json"],
|
||||
...json.configs.recommended,
|
||||
},
|
||||
{
|
||||
@ -80,24 +65,18 @@ export default [
|
||||
files: jsFiles("."),
|
||||
|
||||
plugins: {
|
||||
import: import_.flatConfigs.recommended.plugins["import-x"],
|
||||
import: import_.flatConfigs.recommended.plugins.import,
|
||||
json,
|
||||
"no-unsanitized": noUnsanitized,
|
||||
perfectionist,
|
||||
"prefer-math-clamp": preferMathClamp,
|
||||
unicorn,
|
||||
},
|
||||
|
||||
settings: {
|
||||
"import-x/resolver-next": [import_.createNodeResolver()],
|
||||
},
|
||||
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.worker,
|
||||
PDFJSDev: "readonly",
|
||||
__raw_import__: "readonly",
|
||||
__eager_import__: "readonly",
|
||||
},
|
||||
|
||||
ecmaVersion: 2025,
|
||||
@ -135,13 +114,8 @@ export default [
|
||||
"pdfjs-lib",
|
||||
"pdfjs-web",
|
||||
"web",
|
||||
"@csstools/postcss-light-dark-function",
|
||||
"fluent-bundle",
|
||||
"fluent-dom",
|
||||
"postcss-dir-pseudo-class",
|
||||
"postcss-nesting",
|
||||
"postcss-values-parser",
|
||||
"stylelint",
|
||||
// See https://github.com/firebase/firebase-admin-node/discussions/1359.
|
||||
"eslint-plugin-perfectionist",
|
||||
],
|
||||
@ -162,7 +136,6 @@ export default [
|
||||
"unicorn/no-unnecessary-array-flat-depth": "error",
|
||||
"unicorn/no-unnecessary-array-splice-count": "error",
|
||||
"unicorn/no-unnecessary-slice-end": "error",
|
||||
"unicorn/no-useless-collection-argument": "error",
|
||||
"unicorn/no-useless-promise-resolve-reject": "error",
|
||||
"unicorn/no-useless-spread": "error",
|
||||
"unicorn/prefer-array-find": "error",
|
||||
@ -171,18 +144,11 @@ export default [
|
||||
"unicorn/prefer-array-index-of": "error",
|
||||
"unicorn/prefer-array-some": "error",
|
||||
"unicorn/prefer-at": "error",
|
||||
"unicorn/prefer-class-fields": "error",
|
||||
"unicorn/prefer-classlist-toggle": "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/logical-assignment-operators": [
|
||||
"error",
|
||||
"always",
|
||||
{ enforceForIfStatements: true },
|
||||
],
|
||||
"unicorn/prefer-logical-operator-over-ternary": "error",
|
||||
"unicorn/prefer-modern-dom-apis": "error",
|
||||
"unicorn/prefer-modern-math-apis": "error",
|
||||
@ -195,8 +161,6 @@ export default [
|
||||
"unicorn/prefer-ternary": ["error", "only-single-line"],
|
||||
"unicorn/throw-new-error": "error",
|
||||
|
||||
"prefer-math-clamp/prefer-math-clamp": "error",
|
||||
|
||||
// Possible errors
|
||||
"for-direction": "error",
|
||||
"getter-return": "error",
|
||||
@ -280,10 +244,8 @@ export default [
|
||||
"no-useless-concat": "error",
|
||||
"no-useless-escape": "error",
|
||||
"no-useless-return": "error",
|
||||
"prefer-object-has-own": "error",
|
||||
"prefer-promise-reject-errors": "error",
|
||||
"prefer-spread": "error",
|
||||
radix: "error",
|
||||
"wrap-iife": ["error", "any"],
|
||||
yoda: ["error", "never", { exceptRange: true }],
|
||||
|
||||
@ -318,11 +280,6 @@ export default [
|
||||
"BinaryExpression[operator='instanceof'][right.name='Object']",
|
||||
message: "Use `typeof` rather than `instanceof Object`.",
|
||||
},
|
||||
{
|
||||
selector: "MemberExpression[property.name='hasOwnProperty']",
|
||||
message:
|
||||
"Use `Object.hasOwn` rather than `Object.prototype.hasOwnProperty`.",
|
||||
},
|
||||
{
|
||||
selector: "CallExpression[callee.name='assert'][arguments.length!=2]",
|
||||
message: "`assert()` must always be invoked with two arguments.",
|
||||
|
||||
@ -40,8 +40,6 @@ const SANDBOX_BUNDLE_SRC = new URL(
|
||||
window.location
|
||||
);
|
||||
|
||||
const WASM_URL = "../../node_modules/pdfjs-dist/build/wasm/";
|
||||
|
||||
const container = document.getElementById("viewerContainer");
|
||||
|
||||
const eventBus = new pdfjsViewer.EventBus();
|
||||
@ -61,7 +59,6 @@ const pdfFindController = new pdfjsViewer.PDFFindController({
|
||||
const pdfScriptingManager = new pdfjsViewer.PDFScriptingManager({
|
||||
eventBus,
|
||||
sandboxBundleSrc: SANDBOX_BUNDLE_SRC,
|
||||
wasmUrl: WASM_URL,
|
||||
});
|
||||
|
||||
const pdfViewer = new pdfjsViewer.PDFViewer({
|
||||
|
||||
@ -40,8 +40,6 @@ const SANDBOX_BUNDLE_SRC = new URL(
|
||||
window.location
|
||||
);
|
||||
|
||||
const WASM_URL = "../../node_modules/pdfjs-dist/build/wasm/";
|
||||
|
||||
const container = document.getElementById("viewerContainer");
|
||||
|
||||
const eventBus = new pdfjsViewer.EventBus();
|
||||
@ -61,7 +59,6 @@ const pdfFindController = new pdfjsViewer.PDFFindController({
|
||||
const pdfScriptingManager = new pdfjsViewer.PDFScriptingManager({
|
||||
eventBus,
|
||||
sandboxBundleSrc: SANDBOX_BUNDLE_SRC,
|
||||
wasmUrl: WASM_URL,
|
||||
});
|
||||
|
||||
const pdfSinglePageViewer = new pdfjsViewer.PDFSinglePageViewer({
|
||||
|
||||
@ -29,7 +29,7 @@ const response = await fetch(JPEG_IMAGE);
|
||||
if (!response.ok) {
|
||||
throw new Error(response.statusText);
|
||||
}
|
||||
const typedArrayImage = await response.bytes();
|
||||
const typedArrayImage = new Uint8Array(await response.arrayBuffer());
|
||||
|
||||
// Parse the image data using `JpegImage`.
|
||||
//
|
||||
@ -48,7 +48,7 @@ const jpegData = jpegImage.getData({
|
||||
//
|
||||
const imageData = jpegCtx.createImageData(width, height);
|
||||
const imageBytes = imageData.data;
|
||||
for (let j = 0, k = 0, jj = width * height * 4; j < jj;) {
|
||||
for (let j = 0, k = 0, jj = width * height * 4; j < jj; ) {
|
||||
imageBytes[j++] = jpegData[k++];
|
||||
imageBytes[j++] = jpegData[k++];
|
||||
imageBytes[j++] = jpegData[k++];
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
//
|
||||
// Asynchronous download PDF
|
||||
//
|
||||
const loadingTask = pdfjsLib.getDocument({ url });
|
||||
const loadingTask = pdfjsLib.getDocument(url);
|
||||
const pdf = await loadingTask.promise;
|
||||
//
|
||||
// Fetch the first page
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
var loadingTask = pdfjsLib.getDocument({ url });
|
||||
var loadingTask = pdfjsLib.getDocument(url);
|
||||
pdfDoc = await loadingTask.promise;
|
||||
document.getElementById("page_count").textContent = pdfDoc.numPages;
|
||||
|
||||
|
||||
@ -46,13 +46,19 @@ const PDFViewerApplication = {
|
||||
* @returns {Promise} - Returns the promise, which is resolved when document
|
||||
* is opened.
|
||||
*/
|
||||
async open(params) {
|
||||
open(params) {
|
||||
if (this.pdfLoadingTask) {
|
||||
// We need to destroy already opened document.
|
||||
await this.close();
|
||||
// We need to destroy already opened document
|
||||
return this.close().then(
|
||||
function () {
|
||||
// ... and repeat the open() call.
|
||||
return this.open(params);
|
||||
}.bind(this)
|
||||
);
|
||||
}
|
||||
|
||||
const { url } = params;
|
||||
const url = params.url;
|
||||
const self = this;
|
||||
this.setTitleUsingUrl(url);
|
||||
|
||||
// Loading document.
|
||||
@ -64,22 +70,24 @@ const PDFViewerApplication = {
|
||||
});
|
||||
this.pdfLoadingTask = loadingTask;
|
||||
|
||||
loadingTask.onProgress = evt => this.progress(evt.percent);
|
||||
loadingTask.onProgress = function (progressData) {
|
||||
self.progress(progressData.loaded / progressData.total);
|
||||
};
|
||||
|
||||
return loadingTask.promise.then(
|
||||
pdfDocument => {
|
||||
function (pdfDocument) {
|
||||
// Document loaded, specifying document for the viewer.
|
||||
this.pdfDocument = pdfDocument;
|
||||
this.pdfViewer.setDocument(pdfDocument);
|
||||
this.pdfLinkService.setDocument(pdfDocument);
|
||||
this.pdfHistory.initialize({
|
||||
self.pdfDocument = pdfDocument;
|
||||
self.pdfViewer.setDocument(pdfDocument);
|
||||
self.pdfLinkService.setDocument(pdfDocument);
|
||||
self.pdfHistory.initialize({
|
||||
fingerprint: pdfDocument.fingerprints[0],
|
||||
});
|
||||
|
||||
this.loadingBar.hide();
|
||||
this.setTitleUsingMetadata(pdfDocument);
|
||||
self.loadingBar.hide();
|
||||
self.setTitleUsingMetadata(pdfDocument);
|
||||
},
|
||||
reason => {
|
||||
function (reason) {
|
||||
let key = "pdfjs-loading-error";
|
||||
if (reason instanceof pdfjsLib.InvalidPDFException) {
|
||||
key = "pdfjs-invalid-file-error";
|
||||
@ -88,10 +96,10 @@ const PDFViewerApplication = {
|
||||
? "pdfjs-missing-file-error"
|
||||
: "pdfjs-unexpected-response-error";
|
||||
}
|
||||
this.l10n.get(key).then(msg => {
|
||||
this.error(msg, { message: reason.message });
|
||||
self.l10n.get(key).then(msg => {
|
||||
self.error(msg, { message: reason?.message });
|
||||
});
|
||||
this.loadingBar.hide();
|
||||
self.loadingBar.hide();
|
||||
}
|
||||
);
|
||||
},
|
||||
@ -101,9 +109,9 @@ const PDFViewerApplication = {
|
||||
* @returns {Promise} - Returns the promise, which is resolved when all
|
||||
* destruction is completed.
|
||||
*/
|
||||
async close() {
|
||||
close() {
|
||||
if (!this.pdfLoadingTask) {
|
||||
return;
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
const promise = this.pdfLoadingTask.destroy();
|
||||
@ -120,7 +128,7 @@ const PDFViewerApplication = {
|
||||
}
|
||||
}
|
||||
|
||||
await promise;
|
||||
return promise;
|
||||
},
|
||||
|
||||
get loadingBar() {
|
||||
@ -144,21 +152,32 @@ const PDFViewerApplication = {
|
||||
this.setTitle(title);
|
||||
},
|
||||
|
||||
async setTitleUsingMetadata(pdfDocument) {
|
||||
const { info, metadata } = await pdfDocument.getMetadata();
|
||||
this.documentInfo = info;
|
||||
this.metadata = metadata;
|
||||
setTitleUsingMetadata(pdfDocument) {
|
||||
const self = this;
|
||||
pdfDocument.getMetadata().then(function (data) {
|
||||
const info = data.info,
|
||||
metadata = data.metadata;
|
||||
self.documentInfo = info;
|
||||
self.metadata = metadata;
|
||||
|
||||
// Provides some basic debug information
|
||||
console.log(
|
||||
`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` +
|
||||
`${(metadata?.get("pdf:producer") || info.Producer || "-").trim()} / ` +
|
||||
`${(metadata?.get("xmp:creatortool") || info.Creator || "-").trim()}` +
|
||||
`] (PDF.js: ${pdfjsLib.version || "?"} [${pdfjsLib.build || "?"}])`
|
||||
"PDF " +
|
||||
pdfDocument.fingerprints[0] +
|
||||
" [" +
|
||||
info.PDFFormatVersion +
|
||||
" " +
|
||||
(info.Producer || "-").trim() +
|
||||
" / " +
|
||||
(info.Creator || "-").trim() +
|
||||
"]" +
|
||||
" (PDF.js: " +
|
||||
(pdfjsLib.version || "-") +
|
||||
")"
|
||||
);
|
||||
|
||||
let pdfTitle;
|
||||
if (metadata?.has("dc:title")) {
|
||||
if (metadata && metadata.has("dc:title")) {
|
||||
const title = metadata.get("dc:title");
|
||||
// Ghostscript sometimes returns 'Untitled', so prevent setting the
|
||||
// title to 'Untitled.
|
||||
@ -166,11 +185,15 @@ const PDFViewerApplication = {
|
||||
pdfTitle = title;
|
||||
}
|
||||
}
|
||||
pdfTitle ||= info?.Title;
|
||||
|
||||
if (!pdfTitle && info && info.Title) {
|
||||
pdfTitle = info.Title;
|
||||
}
|
||||
|
||||
if (pdfTitle) {
|
||||
this.setTitle(pdfTitle + " - " + document.title);
|
||||
self.setTitle(pdfTitle + " - " + document.title);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
setTitle: function pdfViewSetTitle(title) {
|
||||
@ -200,7 +223,8 @@ const PDFViewerApplication = {
|
||||
console.error(`${message}\n\n${moreInfoText.join("\n")}`);
|
||||
},
|
||||
|
||||
progress(percent) {
|
||||
progress: function pdfViewProgress(level) {
|
||||
const percent = Math.round(level * 100);
|
||||
// Updating the bar if value increases.
|
||||
if (percent > this.loadingBar.percent || isNaN(percent)) {
|
||||
this.loadingBar.percent = percent;
|
||||
|
||||
@ -14,7 +14,7 @@ const pdfPath =
|
||||
|
||||
// Will be using promises to load document, pages and misc data instead of
|
||||
// callback.
|
||||
const loadingTask = getDocument({ url: pdfPath });
|
||||
const loadingTask = getDocument(pdfPath);
|
||||
loadingTask.promise
|
||||
.then(function (doc) {
|
||||
const numPages = doc.numPages;
|
||||
|
||||
@ -45,7 +45,7 @@ function watchObjectOrEmbed(elem) {
|
||||
// <embed src> <object data>
|
||||
var srcAttribute = "src" in elem ? "src" : "data";
|
||||
var path = elem[srcAttribute];
|
||||
if (!mimeType && !/\.pdf(?:$|[?#])/i.test(path)) {
|
||||
if (!mimeType && !/\.pdf($|[?#])/i.test(path)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -168,7 +168,7 @@ function renderEnumPref(shortDescription, prefName) {
|
||||
var select = wrapper.querySelector("select");
|
||||
select.onchange = function () {
|
||||
var pref = {};
|
||||
pref[prefName] = parseInt(this.value, 10);
|
||||
pref[prefName] = parseInt(this.value);
|
||||
storageArea.set(pref);
|
||||
};
|
||||
wrapper.querySelector("span").textContent = shortDescription;
|
||||
@ -192,7 +192,7 @@ function renderDefaultZoomValue(shortDescription) {
|
||||
document.getElementById("settings-boxes").append(wrapper);
|
||||
|
||||
function renderPreference(value) {
|
||||
value ||= "auto";
|
||||
value = value || "auto";
|
||||
select.value = value;
|
||||
var customOption = select.querySelector("option.custom-zoom");
|
||||
if (select.selectedIndex === -1 && value) {
|
||||
|
||||
252
extensions/chromium/preferences_schema.json
Normal file
252
extensions/chromium/preferences_schema.json
Normal file
@ -0,0 +1,252 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"viewerCssTheme": {
|
||||
"title": "Theme",
|
||||
"description": "The theme to use.\n0 = Use system theme.\n1 = Light theme.\n2 = Dark theme.",
|
||||
"type": "integer",
|
||||
"enum": [0, 1, 2],
|
||||
"default": 2
|
||||
},
|
||||
"showPreviousViewOnLoad": {
|
||||
"description": "DEPRECATED. Set viewOnLoad to 1 to disable showing the last page/position on load.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"viewOnLoad": {
|
||||
"title": "View position on load",
|
||||
"description": "The position in the document upon load.\n -1 = Default (uses OpenAction if available, otherwise equal to `viewOnLoad = 0`).\n 0 = The last viewed page/position.\n 1 = The initial page/position.",
|
||||
"type": "integer",
|
||||
"enum": [-1, 0, 1],
|
||||
"default": 0
|
||||
},
|
||||
"defaultZoomDelay": {
|
||||
"title": "Default zoom delay",
|
||||
"description": "Delay (in ms) to wait before redrawing the canvas.",
|
||||
"type": "integer",
|
||||
"default": 400
|
||||
},
|
||||
"defaultZoomValue": {
|
||||
"title": "Default zoom level",
|
||||
"description": "Default zoom level of the viewer. Accepted values: 'auto', 'page-actual', 'page-width', 'page-height', 'page-fit', or a zoom level in percents.",
|
||||
"type": "string",
|
||||
"pattern": "|auto|page-actual|page-width|page-height|page-fit|[0-9]+\\.?[0-9]*(,[0-9]+\\.?[0-9]*){0,2}",
|
||||
"default": ""
|
||||
},
|
||||
"sidebarViewOnLoad": {
|
||||
"title": "Sidebar state on load",
|
||||
"description": "Controls the state of the sidebar upon load.\n -1 = Default (uses PageMode if available, otherwise the last position if available/enabled).\n 0 = Do not show sidebar.\n 1 = Show thumbnails in sidebar.\n 2 = Show document outline in sidebar.\n 3 = Show attachments in sidebar.",
|
||||
"type": "integer",
|
||||
"enum": [-1, 0, 1, 2, 3],
|
||||
"default": -1
|
||||
},
|
||||
"enableHandToolOnLoad": {
|
||||
"description": "DEPRECATED. Set cursorToolOnLoad to 1 to enable the hand tool by default.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableHWA": {
|
||||
"title": "Enable hardware acceleration",
|
||||
"description": "Whether to enable hardware acceleration.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"enableAltText": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableGuessAltText": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"enableAltTextModelDownload": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"enableNewAltTextWhenAddingImage": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"altTextLearnMoreUrl": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"commentLearnMoreUrl": {
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"enableSignatureEditor": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableUpdatedAddImage": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"cursorToolOnLoad": {
|
||||
"title": "Cursor tool on load",
|
||||
"description": "The cursor tool that is enabled upon load.\n 0 = Text selection tool.\n 1 = Hand tool.",
|
||||
"type": "integer",
|
||||
"enum": [0, 1],
|
||||
"default": 0
|
||||
},
|
||||
"pdfBugEnabled": {
|
||||
"title": "Enable debugging tools",
|
||||
"description": "Whether to enable debugging tools.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableScripting": {
|
||||
"title": "Enable active content (JavaScript) in PDFs",
|
||||
"type": "boolean",
|
||||
"description": "Whether to allow execution of active content (JavaScript) by PDF files.",
|
||||
"default": false
|
||||
},
|
||||
"enableHighlightFloatingButton": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"disableRange": {
|
||||
"title": "Disable range requests",
|
||||
"description": "Whether to disable range requests (not recommended).",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disableStream": {
|
||||
"title": "Disable streaming for requests",
|
||||
"description": "Whether to disable streaming for requests (not recommended).",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disableAutoFetch": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disableFontFace": {
|
||||
"title": "Disable @font-face",
|
||||
"description": "Whether to disable @font-face and fall back to canvas rendering (this is more resource-intensive).",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disableTextLayer": {
|
||||
"description": "DEPRECATED. Set textLayerMode to 0 to disable the text selection layer by default.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"textLayerMode": {
|
||||
"title": "Text layer mode",
|
||||
"description": "Controls if the text layer is enabled, and the selection mode that is used.\n 0 = Disabled.\n 1 = Enabled.",
|
||||
"type": "integer",
|
||||
"enum": [0, 1],
|
||||
"default": 1
|
||||
},
|
||||
"externalLinkTarget": {
|
||||
"title": "External links target window",
|
||||
"description": "Controls how external links will be opened.\n 0 = default.\n 1 = replaces current window.\n 2 = new window/tab.\n 3 = parent.\n 4 = in top window.",
|
||||
"type": "integer",
|
||||
"enum": [0, 1, 2, 3, 4],
|
||||
"default": 0
|
||||
},
|
||||
"disablePageLabels": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disablePageMode": {
|
||||
"description": "DEPRECATED.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"disableTelemetry": {
|
||||
"title": "Disable telemetry",
|
||||
"type": "boolean",
|
||||
"description": "Whether to prevent the extension from reporting the extension and browser version to the extension developers.",
|
||||
"default": false
|
||||
},
|
||||
"annotationMode": {
|
||||
"type": "integer",
|
||||
"enum": [0, 1, 2, 3],
|
||||
"default": 2
|
||||
},
|
||||
"annotationEditorMode": {
|
||||
"type": "integer",
|
||||
"enum": [-1, 0, 3, 15],
|
||||
"default": 0
|
||||
},
|
||||
"capCanvasAreaFactor": {
|
||||
"type": "integer",
|
||||
"default": 200
|
||||
},
|
||||
"enablePermissions": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enableXfa": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"historyUpdateUrl": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ignoreDestinationZoom": {
|
||||
"title": "Ignore the zoom argument in destinations",
|
||||
"description": "When enabled it will maintain the currently active zoom level, rather than letting the PDF document modify it, when navigating to internal destinations.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"enablePrintAutoRotate": {
|
||||
"title": "Automatically rotate printed pages",
|
||||
"description": "When enabled, landscape pages are rotated when printed.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
"scrollModeOnLoad": {
|
||||
"title": "Scroll mode on load",
|
||||
"description": "Controls how the viewer scrolls upon load.\n -1 = Default (uses the last position if available/enabled).\n 3 = Page scrolling.\n 0 = Vertical scrolling.\n 1 = Horizontal scrolling.\n 2 = Wrapped scrolling.",
|
||||
"type": "integer",
|
||||
"enum": [-1, 0, 1, 2, 3],
|
||||
"default": -1
|
||||
},
|
||||
"spreadModeOnLoad": {
|
||||
"title": "Spread mode on load",
|
||||
"description": "Whether the viewer should join pages into spreads upon load.\n -1 = Default (uses the last position if available/enabled).\n 0 = No spreads.\n 1 = Odd spreads.\n 2 = Even spreads.",
|
||||
"type": "integer",
|
||||
"enum": [-1, 0, 1, 2],
|
||||
"default": -1
|
||||
},
|
||||
"forcePageColors": {
|
||||
"description": "When enabled, the pdf rendering will use the high contrast mode colors",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"pageColorsBackground": {
|
||||
"description": "The color is a string as defined in CSS. Its goal is to help improve readability in high contrast mode",
|
||||
"type": "string",
|
||||
"default": "Canvas"
|
||||
},
|
||||
"pageColorsForeground": {
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -96,7 +96,7 @@ limitations under the License.
|
||||
chrome.storage.local.get(localStorage, items => {
|
||||
Object.assign(localStorage, items);
|
||||
|
||||
var lastTime = parseInt(localStorage.telemetryLastTime, 10) || 0;
|
||||
var lastTime = parseInt(localStorage.telemetryLastTime) || 0;
|
||||
var wasUpdated = didUpdateSinceLastCheck();
|
||||
if (!wasUpdated && Date.now() - lastTime < MINIMUM_TIME_BETWEEN_PING) {
|
||||
return;
|
||||
@ -150,7 +150,7 @@ limitations under the License.
|
||||
*/
|
||||
function didUpdateSinceLastCheck() {
|
||||
var chromeVersion = /Chrome\/(\d+)\./.exec(navigator.userAgent);
|
||||
chromeVersion &&= chromeVersion[1];
|
||||
chromeVersion = chromeVersion && chromeVersion[1];
|
||||
if (!chromeVersion || localStorage.telemetryLastVersion === chromeVersion) {
|
||||
return false;
|
||||
}
|
||||
|
||||
19
external/brotli/LICENSE_BROTLI
vendored
19
external/brotli/LICENSE_BROTLI
vendored
@ -1,19 +0,0 @@
|
||||
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
|
||||
|
||||
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.
|
||||
8
external/brotli/README.md
vendored
8
external/brotli/README.md
vendored
@ -1,8 +0,0 @@
|
||||
## Release
|
||||
|
||||
In order to get the file `decoder.js`:
|
||||
* `gulp release-brotli --hash` followed by the git hash of the revision.
|
||||
|
||||
## Licensing
|
||||
|
||||
[brotli](https://github.com/google/brotli/) is under [MIT License](https://github.com/google/brotli/blob/master/LICENSE)
|
||||
2466
external/brotli/decode.js
vendored
2466
external/brotli/decode.js
vendored
File diff suppressed because one or more lines are too long
@ -190,19 +190,6 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
},
|
||||
];
|
||||
path.replaceWith(t.importExpression(source));
|
||||
} else if (t.isIdentifier(node.callee, { name: "__eager_import__" })) {
|
||||
if (node.arguments.length !== 1) {
|
||||
throw new Error("Invalid `__eager_import__` usage.");
|
||||
}
|
||||
// Replace it with a standard `import`-call and inline the module.
|
||||
const source = node.arguments[0];
|
||||
source.leadingComments = [
|
||||
{
|
||||
type: "CommentBlock",
|
||||
value: "webpackMode: 'eager'",
|
||||
},
|
||||
];
|
||||
path.replaceWith(t.importExpression(source));
|
||||
}
|
||||
},
|
||||
"BlockStatement|StaticBlock": {
|
||||
@ -305,30 +292,6 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
|
||||
};
|
||||
}
|
||||
|
||||
function babelPluginStripSrcPath() {
|
||||
return {
|
||||
name: "babel-plugin-strip-src-path",
|
||||
visitor: {
|
||||
"ImportDeclaration|ExportNamedDeclaration|ExportAllDeclaration":
|
||||
function ({ node }) {
|
||||
if (node.source?.value.includes("/src/")) {
|
||||
node.source.value = node.source.value.replace("/src/", "/");
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function babelPluginAddHeaderComment(babel, { header }) {
|
||||
return {
|
||||
visitor: {
|
||||
Program(path) {
|
||||
path.addComment("leading", header);
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function preprocessPDFJSCode(ctx, content) {
|
||||
return transformSync(content, {
|
||||
configFile: false,
|
||||
@ -336,9 +299,4 @@ function preprocessPDFJSCode(ctx, content) {
|
||||
}).code;
|
||||
}
|
||||
|
||||
export {
|
||||
babelPluginAddHeaderComment,
|
||||
babelPluginPDFJSPreprocessor,
|
||||
babelPluginStripSrcPath,
|
||||
preprocessPDFJSCode,
|
||||
};
|
||||
export { babelPluginPDFJSPreprocessor, preprocessPDFJSCode };
|
||||
|
||||
16
external/builder/builder.mjs
vendored
16
external/builder/builder.mjs
vendored
@ -113,9 +113,16 @@ function preprocess(inFilename, outFilename, defines) {
|
||||
const realPath = fs.realpathSync(inFilename);
|
||||
const dir = path.dirname(realPath);
|
||||
try {
|
||||
const fullpath = file.startsWith("$ROOT/")
|
||||
? path.join(__dirname, "../..", file.substring("$ROOT/".length))
|
||||
: path.join(dir, file);
|
||||
let fullpath;
|
||||
if (file.indexOf("$ROOT/") === 0) {
|
||||
fullpath = path.join(
|
||||
__dirname,
|
||||
"../..",
|
||||
file.substring("$ROOT/".length)
|
||||
);
|
||||
} else {
|
||||
fullpath = path.join(dir, file);
|
||||
}
|
||||
preprocess(fullpath, writeLine, defines);
|
||||
} catch (e) {
|
||||
if (e.code === "ENOENT") {
|
||||
@ -125,7 +132,7 @@ function preprocess(inFilename, outFilename, defines) {
|
||||
}
|
||||
}
|
||||
function expand(line) {
|
||||
line = line.replaceAll(/__\w+__/g, function (variable) {
|
||||
line = line.replaceAll(/__[\w]+__/g, function (variable) {
|
||||
variable = variable.substring(2, variable.length - 2);
|
||||
if (variable in defines) {
|
||||
return defines[variable];
|
||||
@ -151,7 +158,6 @@ function preprocess(inFilename, outFilename, defines) {
|
||||
let state = STATE_NONE;
|
||||
const stack = [];
|
||||
const control =
|
||||
// eslint-disable-next-line regexp/no-super-linear-backtracking
|
||||
/^(?:\/\/|\s*\/\*|\s*<!--)\s*#(if|elif|else|endif|expand|include|error)\b(?:\s+(.*?)(?:\*\/|-->)?$)?/;
|
||||
|
||||
while ((line = readLine()) !== null) {
|
||||
|
||||
40
external/ccov/coverage_format.mjs
vendored
40
external/ccov/coverage_format.mjs
vendored
@ -1,40 +0,0 @@
|
||||
/* Copyright 2026 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.
|
||||
*/
|
||||
|
||||
const COVERAGE_FORMAT_TO_REPORTER = {
|
||||
info: "lcovonly",
|
||||
html: "html",
|
||||
json: "json",
|
||||
text: "text",
|
||||
cobertura: "cobertura",
|
||||
clover: "clover",
|
||||
};
|
||||
|
||||
function parseCoverageFormats(str) {
|
||||
const formats = new Set();
|
||||
for (const fmt of (str ?? "").split(",")) {
|
||||
const name = fmt.trim();
|
||||
if (name && COVERAGE_FORMAT_TO_REPORTER[name]) {
|
||||
formats.add(name);
|
||||
} else if (name) {
|
||||
console.warn(
|
||||
`### Unknown coverage format "${name}", valid values: ${Object.keys(COVERAGE_FORMAT_TO_REPORTER).join(", ")}`
|
||||
);
|
||||
}
|
||||
}
|
||||
return formats.size > 0 ? formats : new Set(["info"]);
|
||||
}
|
||||
|
||||
export { COVERAGE_FORMAT_TO_REPORTER, parseCoverageFormats };
|
||||
241
external/ccov/coverage_search.mjs
vendored
241
external/ccov/coverage_search.mjs
vendored
@ -1,241 +0,0 @@
|
||||
/* Copyright 2026 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.
|
||||
*/
|
||||
|
||||
import fs from "fs";
|
||||
import { parseArgs } from "node:util";
|
||||
import path from "path";
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
const PROJECT_ROOT = path.join(__dirname, "../..");
|
||||
|
||||
// The per-test coverage index (which ref test exercises which source
|
||||
// line/function) is rebuilt on every push to master and published to the
|
||||
// gh-pages branch of the pdf.js.refs repository.
|
||||
const PER_TEST_INDEX_URL =
|
||||
"https://raw.githubusercontent.com/mozilla/pdf.js.refs/gh-pages/per-test-index.json";
|
||||
|
||||
let values;
|
||||
try {
|
||||
({ values } = parseArgs({
|
||||
args: process.argv.slice(2),
|
||||
options: {
|
||||
code: { type: "string" },
|
||||
index: { type: "string", default: "build/per-test-index.json" },
|
||||
"no-download": { type: "boolean", default: false },
|
||||
help: { type: "boolean", short: "h", default: false },
|
||||
},
|
||||
}));
|
||||
} catch (error) {
|
||||
// parseArgs is strict, so an unknown/renamed option (e.g. the removed
|
||||
// --coverage-dir) would otherwise abort with an uncaught stack trace.
|
||||
console.error(`Error: ${error.message}`);
|
||||
console.error("Run with --help to see the available options.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (values.help || !values.code) {
|
||||
console.log(
|
||||
"Usage: coverage_search.mjs --code=<file>::<line|function> [--index=<path>] [--no-download]\n\n" +
|
||||
" --code Source file and line number or function name to search for.\n" +
|
||||
" Examples:\n" +
|
||||
" --code=canvas.js::205\n" +
|
||||
" --code=canvas.js::drawImageAtIntegerCoords\n" +
|
||||
" --index Where to cache or read the per-test index.\n" +
|
||||
" [build/per-test-index.json]\n" +
|
||||
" --no-download Don't contact the network; use the cached index as-is.\n\n" +
|
||||
"Prints to stdout the IDs of tests whose coverage includes the given line or\n" +
|
||||
"function (one ID per line).\n\n" +
|
||||
"The index is downloaded from the pdf.js.refs repository and cached locally;\n" +
|
||||
"it is only re-downloaded when the published file has changed.\n" +
|
||||
`Source: ${PER_TEST_INDEX_URL}`
|
||||
);
|
||||
process.exit(values.help ? 0 : 1);
|
||||
}
|
||||
|
||||
const sep = values.code.indexOf("::");
|
||||
if (sep === -1) {
|
||||
console.error(
|
||||
"Error: --code must be in format 'file.js::line_or_function', e.g. canvas.js::205"
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const fileName = values.code.slice(0, sep);
|
||||
const location = values.code.slice(sep + 2);
|
||||
const isLine = /^\d+$/.test(location);
|
||||
const lineNum = isLine ? parseInt(location, 10) : null;
|
||||
const funcName = isLine ? null : location;
|
||||
|
||||
const indexPath = path.isAbsolute(values.index)
|
||||
? values.index
|
||||
: path.join(PROJECT_ROOT, values.index);
|
||||
// The ETag of the cached copy is stored alongside it, so the next run can ask
|
||||
// the server (via If-None-Match) to only re-send the file when it has changed.
|
||||
const etagPath = `${indexPath}.etag`;
|
||||
|
||||
// Refreshes the locally cached index from the published copy, downloading it
|
||||
// only when it has changed since the last run. When the network is unavailable
|
||||
// a previously cached copy is reused if present.
|
||||
async function refreshIndex() {
|
||||
if (values["no-download"]) {
|
||||
return; // Freshness check disabled; the read below validates existence.
|
||||
}
|
||||
|
||||
const hasCached = fs.existsSync(indexPath);
|
||||
|
||||
// On any download failure, fall back to a previously cached copy when one
|
||||
// exists; otherwise there's nothing to search, so fail.
|
||||
const fallbackOrFail = reason => {
|
||||
if (hasCached) {
|
||||
console.error(
|
||||
`Warning: couldn't refresh per-test index (${reason}); using the cached copy.`
|
||||
);
|
||||
return;
|
||||
}
|
||||
console.error(`Error: couldn't download per-test index (${reason}).`);
|
||||
process.exit(1);
|
||||
};
|
||||
|
||||
const headers = new Headers();
|
||||
if (hasCached && fs.existsSync(etagPath)) {
|
||||
const etag = fs.readFileSync(etagPath, "utf8").trim();
|
||||
// Only forward a syntactically valid HTTP ETag (RFC 7232), so the cached
|
||||
// file's contents can't be used to inject arbitrary data into the request.
|
||||
if (/^(?:W\/)?"[\x21\x23-\x7e]*"$/.test(etag)) {
|
||||
headers.set("If-None-Match", etag);
|
||||
}
|
||||
}
|
||||
|
||||
let response;
|
||||
try {
|
||||
console.log(`Fetching per-test index from ${PER_TEST_INDEX_URL} ...`);
|
||||
response = await fetch(PER_TEST_INDEX_URL, { headers });
|
||||
} catch (error) {
|
||||
fallbackOrFail(error.message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (response.status === 304) {
|
||||
console.log("Per-test index is up to date.");
|
||||
return;
|
||||
}
|
||||
if (!response.ok) {
|
||||
fallbackOrFail(`HTTP ${response.status}`);
|
||||
return;
|
||||
}
|
||||
|
||||
let text;
|
||||
try {
|
||||
text = await response.text();
|
||||
} catch (error) {
|
||||
fallbackOrFail(error.message);
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the payload before caching it, and cache the re-serialized result
|
||||
// rather than the raw response body: only well-formed JSON produced by our
|
||||
// own JSON.stringify is ever written to disk.
|
||||
let serialized;
|
||||
try {
|
||||
serialized = JSON.stringify(JSON.parse(text));
|
||||
} catch {
|
||||
fallbackOrFail("the downloaded index is not valid JSON");
|
||||
return;
|
||||
}
|
||||
|
||||
// Write to a temporary file and rename it into place.
|
||||
try {
|
||||
fs.mkdirSync(path.dirname(indexPath), { recursive: true });
|
||||
const tmpPath = `${indexPath}.${process.pid}.tmp`;
|
||||
fs.writeFileSync(tmpPath, serialized);
|
||||
fs.renameSync(tmpPath, indexPath);
|
||||
|
||||
const etag = response.headers.get("etag");
|
||||
if (etag) {
|
||||
fs.writeFileSync(etagPath, etag);
|
||||
} else {
|
||||
fs.rmSync(etagPath, { force: true });
|
||||
}
|
||||
} catch (error) {
|
||||
// A write failure (disk full, read-only dir, ...) shouldn't be fatal when
|
||||
// a usable cached copy already exists.
|
||||
fallbackOrFail(error.message);
|
||||
return;
|
||||
}
|
||||
console.log(`Per-test index updated (${serialized.length} bytes).`);
|
||||
}
|
||||
|
||||
await refreshIndex();
|
||||
|
||||
if (!fs.existsSync(indexPath)) {
|
||||
console.error(`Error: per-test index not found: ${indexPath}`);
|
||||
console.error(
|
||||
"Build it locally (gulp botbrowsertest --coverage-per-test) or omit " +
|
||||
"--no-download to fetch it from the pdf.js.refs repository."
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
let ids, files;
|
||||
try {
|
||||
({ ids, files } = JSON.parse(fs.readFileSync(indexPath, "utf8")));
|
||||
} catch (error) {
|
||||
console.error(
|
||||
`Error: couldn't read per-test index at ${indexPath}: ${error.message}`
|
||||
);
|
||||
console.error(
|
||||
"The cached index may be corrupt; delete it and re-run without " +
|
||||
"--no-download to refetch it."
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Find the file entry whose path matches fileName.
|
||||
let fileEntry = null;
|
||||
for (const [filePath, entry] of Object.entries(files)) {
|
||||
if (
|
||||
filePath === fileName ||
|
||||
filePath.endsWith(`/${fileName}`) ||
|
||||
filePath.endsWith(`\\${fileName}`)
|
||||
) {
|
||||
fileEntry = entry;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!fileEntry) {
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
let testIndices = null;
|
||||
|
||||
if (lineNum !== null) {
|
||||
// Direct line lookup.
|
||||
testIndices = fileEntry.l?.[lineNum];
|
||||
|
||||
// If no hit, check whether lineNum is a function declaration start and
|
||||
// redirect to that function's coverage.
|
||||
if (!testIndices && fileEntry.fstarts?.[lineNum]) {
|
||||
testIndices = fileEntry.f?.[fileEntry.fstarts[lineNum]];
|
||||
}
|
||||
} else {
|
||||
testIndices = fileEntry.f?.[funcName];
|
||||
}
|
||||
|
||||
if (testIndices) {
|
||||
for (const idx of testIndices) {
|
||||
console.log(ids[idx]);
|
||||
}
|
||||
}
|
||||
190
external/check_l10n/check_l10n.mjs
vendored
190
external/check_l10n/check_l10n.mjs
vendored
@ -1,190 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/* Copyright 2026 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Checks that every message ID defined in l10n/en-US/viewer.ftl is referenced
|
||||
* in at least one HTML or JS/MJS file under the web/ directory.
|
||||
*
|
||||
* Usage: node external/check_l10n/check_l10n.mjs
|
||||
*/
|
||||
|
||||
import { extname, join } from "path";
|
||||
import { readdirSync, readFileSync, statSync } from "fs";
|
||||
|
||||
const ROOT = join(import.meta.dirname, "..", "..");
|
||||
const FTL_PATH = join(ROOT, "l10n", "en-US", "viewer.ftl");
|
||||
const SEARCH_DIRS = ["web", "src"];
|
||||
const SEARCH_EXTENSIONS = new Set([".html", ".js", ".mjs"]);
|
||||
// Minimum number of characters a prefix or suffix fragment must have to be
|
||||
// considered a meaningful match when detecting dynamically-built IDs.
|
||||
const MIN_FRAGMENT_LENGTH = 6;
|
||||
|
||||
/**
|
||||
* Extract all message IDs from a Fluent (.ftl) file.
|
||||
* A message ID is an identifier at the start of a line followed by " =".
|
||||
* @param {string} ftlPath - Absolute path to the .ftl file.
|
||||
* @returns {string[]} Ordered list of message IDs.
|
||||
*/
|
||||
function extractFtlIds(ftlPath) {
|
||||
const lines = readFileSync(ftlPath, "utf8").split("\n");
|
||||
const ids = [];
|
||||
for (const line of lines) {
|
||||
const match = line.match(/^([a-z][a-z0-9-]*)\s*=/i);
|
||||
if (match) {
|
||||
ids.push(match[1]);
|
||||
}
|
||||
}
|
||||
return ids;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively collect all files with matching extensions under a directory.
|
||||
* @param {string} dir - Directory to walk.
|
||||
* @param {Set<string>} extensions - Allowed file extensions (e.g. `".js"`).
|
||||
* @returns {string[]} Absolute paths of matching files.
|
||||
*/
|
||||
function collectFiles(dir, extensions) {
|
||||
const results = [];
|
||||
for (const entry of readdirSync(dir)) {
|
||||
const fullPath = join(dir, entry);
|
||||
const stat = statSync(fullPath);
|
||||
if (stat.isDirectory()) {
|
||||
results.push(...collectFiles(fullPath, extensions));
|
||||
} else if (extensions.has(extname(entry))) {
|
||||
results.push(fullPath);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the contents of all source files found under the given directories.
|
||||
* @param {string[]} dirs - Directory names relative to ROOT.
|
||||
* @param {Set<string>} extensions - Allowed file extensions.
|
||||
* @returns {{ path: string, content: string }[]}
|
||||
*/
|
||||
function loadSources(dirs, extensions) {
|
||||
const files = dirs.flatMap(d => collectFiles(join(ROOT, d), extensions));
|
||||
return files.map(f => ({ path: f, content: readFileSync(f, "utf8") }));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether a message ID appears as a quoted string literal in any source
|
||||
* file. Handles double quotes, single quotes, and backticks, covering:
|
||||
* - `data-l10n-id="pdfjs-foo"` (HTML attribute)
|
||||
* - `"pdfjs-foo"` / `'pdfjs-foo'` / `` `pdfjs-foo` `` (JS string literals,
|
||||
* `setAttribute`, `l10n.get`, …)
|
||||
* @param {string} id - Message ID to look up.
|
||||
* @param {{ path: string, content: string }[]} sources
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isUsed(id, sources) {
|
||||
const dq = `"${id}"`;
|
||||
const sq = `'${id}'`;
|
||||
const bt = `\`${id}\``;
|
||||
return sources.some(
|
||||
({ content }) =>
|
||||
content.includes(dq) || content.includes(sq) || content.includes(bt)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* For IDs not found as complete literals, check whether the ID is likely
|
||||
* constructed dynamically via a template literal such as:
|
||||
* `pdfjs-editor-${editorType}-added-alert`
|
||||
*
|
||||
* Strategy: try every (prefix, suffix) pair obtained by splitting the ID's
|
||||
* dash-separated components, leaving one or more components as the "variable"
|
||||
* gap. The prefix must appear immediately followed by `${` in a template
|
||||
* literal; the suffix (if non-empty) must also appear in the same file.
|
||||
* Minimum length guards prevent matches on trivially short fragments.
|
||||
*
|
||||
* @param {string} id - Message ID to test.
|
||||
* @param {{ path: string, content: string }[]} sources
|
||||
* @returns {{ path: string, line: number } | null} Location of the first
|
||||
* matching template literal, or `null` if none found.
|
||||
*/
|
||||
function findDynamicLocation(id, sources) {
|
||||
const parts = id.split("-");
|
||||
// i = end of prefix (exclusive), j = start of suffix (inclusive)
|
||||
for (let i = 1; i < parts.length; i++) {
|
||||
for (let j = i + 1; j <= parts.length; j++) {
|
||||
const prefix = parts.slice(0, i).join("-") + "-"; // e.g. "pdfjs-editor-"
|
||||
const suffix = j < parts.length ? "-" + parts.slice(j).join("-") : ""; // e.g. "-added-alert"
|
||||
if (prefix.length < MIN_FRAGMENT_LENGTH) {
|
||||
continue;
|
||||
}
|
||||
if (suffix !== "" && suffix.length < MIN_FRAGMENT_LENGTH) {
|
||||
continue;
|
||||
}
|
||||
// The prefix must be immediately followed by "${" in a template literal.
|
||||
const prefixWithVar = prefix + "${";
|
||||
for (const { path, content } of sources) {
|
||||
if (
|
||||
content.includes(prefixWithVar) &&
|
||||
(suffix === "" || content.includes(suffix))
|
||||
) {
|
||||
const idx = content.indexOf(prefixWithVar);
|
||||
const line = content.slice(0, idx).split("\n").length;
|
||||
return { path, line };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function main() {
|
||||
const ids = extractFtlIds(FTL_PATH);
|
||||
console.log(`Found ${ids.length} message IDs in viewer.ftl\n`);
|
||||
|
||||
const sources = loadSources(SEARCH_DIRS, SEARCH_EXTENSIONS);
|
||||
console.log(
|
||||
`Searching in ${sources.length} files under: ${SEARCH_DIRS.join(", ")}\n`
|
||||
);
|
||||
|
||||
const notFound = ids.filter(id => !isUsed(id, sources));
|
||||
const dynamicEntries = notFound
|
||||
.map(id => ({ id, loc: findDynamicLocation(id, sources) }))
|
||||
.filter(({ loc }) => loc !== null);
|
||||
const dynamicIds = new Set(dynamicEntries.map(({ id }) => id));
|
||||
const unused = notFound.filter(id => !dynamicIds.has(id));
|
||||
|
||||
if (dynamicEntries.length > 0) {
|
||||
console.log(
|
||||
`~ ${dynamicEntries.length} ID(s) likely built dynamically (template literals):\n`
|
||||
);
|
||||
for (const { id, loc } of dynamicEntries) {
|
||||
const rel = loc.path.replace(ROOT + "/", "").replace(ROOT + "\\", "");
|
||||
console.log(` ${id}`);
|
||||
console.log(` → ${rel}:${loc.line}`);
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
|
||||
if (unused.length === 0) {
|
||||
console.log("✓ All remaining message IDs are used.");
|
||||
} else {
|
||||
console.log(`✗ ${unused.length} unused message ID(s):\n`);
|
||||
for (const id of unused) {
|
||||
console.log(` ${id}`);
|
||||
}
|
||||
process.exitCode = 1;
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
270
external/chromium/prefs.mjs
vendored
270
external/chromium/prefs.mjs
vendored
@ -1,270 +0,0 @@
|
||||
/* Copyright 2026 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.
|
||||
*/
|
||||
|
||||
const prefsMetadata = {
|
||||
annotationEditorMode: {
|
||||
enum: [-1, 0, 3, 15],
|
||||
},
|
||||
annotationMode: {
|
||||
enum: [0, 1, 2, 3],
|
||||
},
|
||||
cursorToolOnLoad: {
|
||||
title: "Cursor tool on load",
|
||||
description:
|
||||
"The cursor tool that is enabled upon load.\n 0 = Text selection tool.\n 1 = Hand tool.",
|
||||
enum: [0, 1],
|
||||
},
|
||||
defaultZoomDelay: {
|
||||
title: "Default zoom delay",
|
||||
description: "Delay (in ms) to wait before redrawing the canvas.",
|
||||
},
|
||||
defaultZoomValue: {
|
||||
title: "Default zoom level",
|
||||
description:
|
||||
"Default zoom level of the viewer. Accepted values: 'auto', 'page-actual', 'page-width', 'page-height', 'page-fit', or a zoom level in percents.",
|
||||
pattern:
|
||||
"|auto|page-actual|page-width|page-height|page-fit|[0-9]+\\.?[0-9]*(,[0-9]+\\.?[0-9]*){0,2}",
|
||||
},
|
||||
disableFontFace: {
|
||||
title: "Disable @font-face",
|
||||
description:
|
||||
"Whether to disable @font-face and fall back to canvas rendering (this is more resource-intensive).",
|
||||
},
|
||||
disableRange: {
|
||||
title: "Disable range requests",
|
||||
description: "Whether to disable range requests (not recommended).",
|
||||
},
|
||||
disableStream: {
|
||||
title: "Disable streaming for requests",
|
||||
description: "Whether to disable streaming for requests (not recommended).",
|
||||
},
|
||||
disableTelemetry: {
|
||||
title: "Disable telemetry",
|
||||
description:
|
||||
"Whether to prevent the extension from reporting the extension and browser version to the extension developers.",
|
||||
},
|
||||
enableAutoLinking: {
|
||||
description: "Enable creation of hyperlinks from text that look like URLs.",
|
||||
},
|
||||
enableComment: {
|
||||
description: "Enable creation of comment annotations.",
|
||||
},
|
||||
enableHWA: {
|
||||
title: "Enable hardware acceleration",
|
||||
description: "Whether to enable hardware acceleration.",
|
||||
},
|
||||
enableOptimizedPartialRendering: {
|
||||
description:
|
||||
"Enable tracking of PDF operations to optimize partial rendering.",
|
||||
},
|
||||
enablePrintAutoRotate: {
|
||||
title: "Automatically rotate printed pages",
|
||||
description: "When enabled, landscape pages are rotated when printed.",
|
||||
},
|
||||
enableScripting: {
|
||||
title: "Enable active content (JavaScript) in PDFs",
|
||||
description:
|
||||
"Whether to allow execution of active content (JavaScript) by PDF files.",
|
||||
},
|
||||
externalLinkTarget: {
|
||||
title: "External links target window",
|
||||
description:
|
||||
"Controls how external links will be opened.\n 0 = default.\n 1 = replaces current window.\n 2 = new window/tab.\n 3 = parent.\n 4 = in top window.",
|
||||
enum: [0, 1, 2, 3, 4],
|
||||
},
|
||||
forcePageColors: {
|
||||
description:
|
||||
"When enabled, the pdf rendering will use the high contrast mode colors",
|
||||
},
|
||||
ignoreDestinationZoom: {
|
||||
title: "Ignore the zoom argument in destinations",
|
||||
description:
|
||||
"When enabled it will maintain the currently active zoom level, rather than letting the PDF document modify it, when navigating to internal destinations.",
|
||||
},
|
||||
pageColorsBackground: {
|
||||
description:
|
||||
"The color is a string as defined in CSS. Its goal is to help improve readability in high contrast mode",
|
||||
},
|
||||
pageColorsForeground: {
|
||||
description:
|
||||
"The color is a string as defined in CSS. Its goal is to help improve readability in high contrast mode",
|
||||
},
|
||||
pdfBugEnabled: {
|
||||
title: "Enable debugging tools",
|
||||
description: "Whether to enable debugging tools.",
|
||||
},
|
||||
scrollModeOnLoad: {
|
||||
title: "Scroll mode on load",
|
||||
description:
|
||||
"Controls how the viewer scrolls upon load.\n -1 = Default (uses the last position if available/enabled).\n 0 = Vertical scrolling.\n 1 = Horizontal scrolling.\n 2 = Wrapped scrolling.\n 3 = Page scrolling.",
|
||||
enum: [-1, 0, 1, 2, 3],
|
||||
},
|
||||
sidebarViewOnLoad: {
|
||||
title: "Sidebar state on load",
|
||||
description:
|
||||
"Controls the state of the sidebar upon load.\n -1 = Default (uses PageMode if available, otherwise the last position if available/enabled).\n 0 = Do not show sidebar.\n 1 = Show thumbnails in sidebar.\n 2 = Show document outline in sidebar.\n 3 = Show attachments in sidebar.",
|
||||
enum: [-1, 0, 1, 2, 3],
|
||||
},
|
||||
spreadModeOnLoad: {
|
||||
title: "Spread mode on load",
|
||||
description:
|
||||
"Whether the viewer should join pages into spreads upon load.\n -1 = Default (uses the last position if available/enabled).\n 0 = No spreads.\n 1 = Odd spreads.\n 2 = Even spreads.",
|
||||
enum: [-1, 0, 1, 2],
|
||||
},
|
||||
textLayerMode: {
|
||||
title: "Text layer mode",
|
||||
description:
|
||||
"Controls if the text layer is enabled, and the selection mode that is used.\n 0 = Disabled.\n 1 = Enabled.",
|
||||
enum: [0, 1],
|
||||
},
|
||||
viewerCssTheme: {
|
||||
title: "Theme",
|
||||
description:
|
||||
"The theme to use.\n0 = Use system theme.\n1 = Light theme.\n2 = Dark theme.",
|
||||
enum: [0, 1, 2],
|
||||
},
|
||||
viewOnLoad: {
|
||||
title: "View position on load",
|
||||
description:
|
||||
"The position in the document upon load.\n -1 = Default (uses OpenAction if available, otherwise equal to `viewOnLoad = 0`).\n 0 = The last viewed page/position.\n 1 = The initial page/position.",
|
||||
enum: [-1, 0, 1],
|
||||
},
|
||||
};
|
||||
|
||||
// Deprecated keys are allowed in the managed preferences file.
|
||||
// The code maintainer is responsible for adding migration logic to
|
||||
// extensions/chromium/options/migration.js and web/chromecom.js .
|
||||
const deprecatedPrefs = {
|
||||
disablePageMode: {
|
||||
description: "DEPRECATED.",
|
||||
type: "boolean",
|
||||
default: false,
|
||||
},
|
||||
disableTextLayer: {
|
||||
description:
|
||||
"DEPRECATED. Set textLayerMode to 0 to disable the text selection layer by default.",
|
||||
type: "boolean",
|
||||
default: false,
|
||||
},
|
||||
enableHandToolOnLoad: {
|
||||
description:
|
||||
"DEPRECATED. Set cursorToolOnLoad to 1 to enable the hand tool by default.",
|
||||
type: "boolean",
|
||||
default: false,
|
||||
},
|
||||
showPreviousViewOnLoad: {
|
||||
description:
|
||||
"DEPRECATED. Set viewOnLoad to 1 to disable showing the last page/position on load.",
|
||||
type: "boolean",
|
||||
default: true,
|
||||
},
|
||||
};
|
||||
|
||||
function buildPrefsSchema(prefs) {
|
||||
const properties = Object.create(null);
|
||||
|
||||
for (const name in prefs) {
|
||||
const pref = prefs[name];
|
||||
let type = typeof pref;
|
||||
|
||||
switch (type) {
|
||||
case "boolean":
|
||||
case "string":
|
||||
break;
|
||||
case "number":
|
||||
type = "integer";
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Invalid type (${type}) for "${name}"-preference.`);
|
||||
}
|
||||
|
||||
const metadata = prefsMetadata[name];
|
||||
if (metadata) {
|
||||
let numMetadataKeys = 0;
|
||||
// Do some (very basic) validation of the metadata.
|
||||
for (const key in metadata) {
|
||||
const entry = metadata[key];
|
||||
|
||||
switch (key) {
|
||||
case "default":
|
||||
case "type":
|
||||
throw new Error(
|
||||
`Invalid key (${key}) in metadata for "${name}"-preference.`
|
||||
);
|
||||
case "description":
|
||||
if (entry.startsWith("DEPRECATED.")) {
|
||||
throw new Error(
|
||||
`The \`description\` of the "${name}"-preference cannot begin with "DEPRECATED."`
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
numMetadataKeys++;
|
||||
}
|
||||
if (numMetadataKeys === 0) {
|
||||
throw new Error(
|
||||
`No metadata for "${name}"-preference, remove the entry.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
properties[name] = {
|
||||
type,
|
||||
default: pref,
|
||||
...metadata,
|
||||
};
|
||||
}
|
||||
|
||||
for (const name in prefsMetadata) {
|
||||
if (!properties[name]) {
|
||||
// Do *not* throw here, since keeping the metadata up-to-date should be
|
||||
// the responsibility of the CHROMIUM-addon maintainer.
|
||||
console.error(
|
||||
`The "${name}"-preference was removed, add it to \`deprecatedPrefs\` instead.\n`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
for (const name in deprecatedPrefs) {
|
||||
const entry = deprecatedPrefs[name];
|
||||
|
||||
if (properties[name]) {
|
||||
throw new Error(
|
||||
`The "${name}"-preference should not be listed as deprecated.`
|
||||
);
|
||||
}
|
||||
if (!entry.description?.startsWith("DEPRECATED.")) {
|
||||
throw new Error(
|
||||
`The \`description\` of the deprecated "${name}"-preference must begin with "DEPRECATED."`
|
||||
);
|
||||
}
|
||||
for (const key of ["default", "type"]) {
|
||||
if (key in entry) {
|
||||
continue;
|
||||
}
|
||||
throw new Error(
|
||||
`A \`${key}\` entry must be provided for the deprecated "${name}"-preference.`
|
||||
);
|
||||
}
|
||||
properties[name] = entry;
|
||||
}
|
||||
|
||||
return {
|
||||
type: "object",
|
||||
properties,
|
||||
};
|
||||
}
|
||||
|
||||
export { buildPrefsSchema };
|
||||
2
external/cmapscompress/compress.mjs
vendored
2
external/cmapscompress/compress.mjs
vendored
@ -386,7 +386,7 @@ function writeNumber(n) {
|
||||
if (buffer > 0) {
|
||||
s = writeByte((buffer & 0x7f) | (s.length > 0 ? 0x80 : 0)) + s;
|
||||
}
|
||||
while (s.startsWith("80")) {
|
||||
while (s.indexOf("80") === 0) {
|
||||
s = s.substring(2);
|
||||
}
|
||||
return s;
|
||||
|
||||
4
external/cmapscompress/parse.mjs
vendored
4
external/cmapscompress/parse.mjs
vendored
@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
function parseAdobeCMap(content) {
|
||||
let m = /(\bbegincmap\b[\s\S]+?)\bendcmap\b/.exec(content);
|
||||
let m = /(\bbegincmap\b[\s\S]*?)\bendcmap\b/.exec(content);
|
||||
if (!m) {
|
||||
throw new Error("cmap was not found");
|
||||
}
|
||||
@ -37,7 +37,7 @@ function parseAdobeCMap(content) {
|
||||
result.usecmap = m[1];
|
||||
}
|
||||
const re =
|
||||
/(\d+)\s+(begincodespacerange|beginnotdefrange|begincidchar|begincidrange|beginbfchar|beginbfrange)\n([\s\S]*?)\n(?:endcodespacerange|endnotdefrange|endcidchar|endcidrange|endbfchar|endbfrange)/g;
|
||||
/(\d+)\s+(begincodespacerange|beginnotdefrange|begincidchar|begincidrange|beginbfchar|beginbfrange)\n([\s\S]*?)\n(endcodespacerange|endnotdefrange|endcidchar|endcidrange|endbfchar|endbfrange)/g;
|
||||
while ((m = re.exec(body))) {
|
||||
const lines = m[3].toLowerCase().split("\n");
|
||||
|
||||
|
||||
118
external/eslint_plugins/prefer-math-clamp.mjs
vendored
118
external/eslint_plugins/prefer-math-clamp.mjs
vendored
@ -1,118 +0,0 @@
|
||||
/**
|
||||
* ESLint rule to prefer `MathClamp(v, min, max)` over nested
|
||||
* `Math.min(Math.max(...), ...)` / `Math.max(Math.min(...), ...)` patterns.
|
||||
*
|
||||
* Detected patterns and their fixes:
|
||||
* Math.min(Math.max(A, B), C) → MathClamp(A, B, C)
|
||||
* Math.min(C, Math.max(A, B)) → MathClamp(A, B, C)
|
||||
* Math.max(Math.min(A, B), C) → MathClamp(A, C, B)
|
||||
* Math.max(C, Math.min(A, B)) → MathClamp(A, C, B)
|
||||
*/
|
||||
|
||||
function isMathCall(node, method) {
|
||||
return (
|
||||
node.type === "CallExpression" &&
|
||||
node.callee.type === "MemberExpression" &&
|
||||
!node.callee.computed &&
|
||||
node.callee.object.type === "Identifier" &&
|
||||
node.callee.object.name === "Math" &&
|
||||
node.callee.property.type === "Identifier" &&
|
||||
node.callee.property.name === method &&
|
||||
node.arguments.length === 2 &&
|
||||
node.arguments.every(a => a.type !== "SpreadElement")
|
||||
);
|
||||
}
|
||||
|
||||
// Returns true if node is a Math.min or Math.max call.
|
||||
function isMathMinMax(node) {
|
||||
return isMathCall(node, "min") || isMathCall(node, "max");
|
||||
}
|
||||
|
||||
const preferMathClampRule = {
|
||||
meta: {
|
||||
type: "suggestion",
|
||||
fixable: "code",
|
||||
docs: {
|
||||
description:
|
||||
"Prefer MathClamp(v, min, max) over nested Math.min/Math.max",
|
||||
},
|
||||
messages: {
|
||||
useClamp:
|
||||
"Use MathClamp(v, min, max) instead of nested Math.min/Math.max.",
|
||||
},
|
||||
schema: [],
|
||||
},
|
||||
create(context) {
|
||||
const src = context.sourceCode ?? context.getSourceCode();
|
||||
|
||||
return {
|
||||
CallExpression(node) {
|
||||
// Pattern: Math.min(Math.max(A, B), C) or Math.min(C, Math.max(A, B)).
|
||||
// Fix as MathClamp(A, B, C) where A,B are inner args, C is outer arg.
|
||||
if (isMathCall(node, "min")) {
|
||||
const [arg0, arg1] = node.arguments;
|
||||
let outerArg, innerNode;
|
||||
|
||||
// Math.max(Math.min(A, B), Math.min(C, D)) isn't a clamp pattern, so
|
||||
// require the outer arg to not be a min/max call.
|
||||
if (isMathCall(arg0, "max") && !isMathMinMax(arg1)) {
|
||||
innerNode = arg0;
|
||||
outerArg = arg1;
|
||||
} else if (isMathCall(arg1, "max") && !isMathMinMax(arg0)) {
|
||||
innerNode = arg1;
|
||||
outerArg = arg0;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
const v = src.getText(innerNode.arguments[0]);
|
||||
const min = src.getText(innerNode.arguments[1]);
|
||||
const max = src.getText(outerArg);
|
||||
|
||||
context.report({
|
||||
node,
|
||||
messageId: "useClamp",
|
||||
fix(fixer) {
|
||||
return fixer.replaceText(node, `MathClamp(${v}, ${min}, ${max})`);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Pattern: Math.max(Math.min(A, B), C) or Math.max(C, Math.min(A, B)).
|
||||
// Fix as MathClamp(A, C, B) where A,B are inner args, C is outer arg.
|
||||
if (isMathCall(node, "max")) {
|
||||
const [arg0, arg1] = node.arguments;
|
||||
let outerArg, innerNode;
|
||||
|
||||
if (isMathCall(arg0, "min") && !isMathMinMax(arg1)) {
|
||||
innerNode = arg0;
|
||||
outerArg = arg1;
|
||||
} else if (isMathCall(arg1, "min") && !isMathMinMax(arg0)) {
|
||||
innerNode = arg1;
|
||||
outerArg = arg0;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
const v = src.getText(innerNode.arguments[0]);
|
||||
const max = src.getText(innerNode.arguments[1]);
|
||||
const min = src.getText(outerArg);
|
||||
|
||||
context.report({
|
||||
node,
|
||||
messageId: "useClamp",
|
||||
fix(fixer) {
|
||||
return fixer.replaceText(node, `MathClamp(${v}, ${min}, ${max})`);
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
export default {
|
||||
rules: {
|
||||
"prefer-math-clamp": preferMathClampRule,
|
||||
},
|
||||
};
|
||||
0
external/iccs/CGATS001Compat-v2-micro.icc
vendored
Normal file → Executable file
0
external/iccs/CGATS001Compat-v2-micro.icc
vendored
Normal file → Executable file
11
external/importL10n/locales.mjs
vendored
11
external/importL10n/locales.mjs
vendored
@ -91,7 +91,7 @@ async function downloadL10n(root) {
|
||||
await downloadLanguageFiles(root, langCode);
|
||||
}
|
||||
|
||||
const rmCodes = [];
|
||||
const removeCodes = [];
|
||||
for (const entry of fs.readdirSync(root)) {
|
||||
const dirPath = path.join(root, entry),
|
||||
stat = fs.lstatSync(dirPath);
|
||||
@ -101,13 +101,14 @@ async function downloadL10n(root) {
|
||||
entry !== DEFAULT_LOCALE &&
|
||||
!langCodes.includes(entry)
|
||||
) {
|
||||
fs.rmSync(dirPath, { recursive: true, force: true });
|
||||
rmCodes.push(entry);
|
||||
removeCodes.push(entry);
|
||||
}
|
||||
}
|
||||
if (rmCodes.length) {
|
||||
if (removeCodes.length) {
|
||||
console.log(
|
||||
`\nRemoved the following unmaintained locales: ${rmCodes.join(", ")}\n`
|
||||
"\nConsider removing the following unmaintained locales:\n" +
|
||||
removeCodes.join(", ") +
|
||||
"\n"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
196
external/jbig2/LICENSE_JBIG2
vendored
196
external/jbig2/LICENSE_JBIG2
vendored
@ -1,196 +0,0 @@
|
||||
// Copyright 2014 The PDFium Authors
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * 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.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// 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.
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
https://www.apache.org/licenses/
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
1. Definitions.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
END OF TERMS AND CONDITIONS
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
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
|
||||
https://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.
|
||||
13
external/jbig2/LICENSE_PDFJS_JBIG2
vendored
13
external/jbig2/LICENSE_PDFJS_JBIG2
vendored
@ -1,13 +0,0 @@
|
||||
Copyright 2026 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.
|
||||
12
external/jbig2/README.md
vendored
12
external/jbig2/README.md
vendored
@ -1,12 +0,0 @@
|
||||
## Build
|
||||
|
||||
In order to generate the file `jbig2.js`:
|
||||
* git clone https://github.com/mozilla/pdf.js.jbig2/
|
||||
* 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/jbig2/` to compile the decoder
|
||||
|
||||
## Licensing
|
||||
|
||||
[PDFium](https://pdfium.googlesource.com/pdfium/) is under [Apache-2.0](https://pdfium.googlesource.com/pdfium/+/main/LICENSE)
|
||||
and [pdf.js.jbig2](https://github.com/mozilla/pdf.js.jbig2/) is released under [Apache-2.0](https://github.com/mozilla/pdf.js.jbig2/blob/main/LICENSE) license so `jbig2.js` is released under [Apache-2.0](https://github.com/mozilla/pdf.js.jbig2/blob/main/LICENSE) license too.
|
||||
3
external/jbig2/jbig2.js
vendored
3
external/jbig2/jbig2.js
vendored
File diff suppressed because one or more lines are too long
BIN
external/jbig2/jbig2.wasm
vendored
BIN
external/jbig2/jbig2.wasm
vendored
Binary file not shown.
15
external/jbig2/jbig2_nowasm_fallback.js
vendored
15
external/jbig2/jbig2_nowasm_fallback.js
vendored
File diff suppressed because one or more lines are too long
2
external/openjpeg/openjpeg.js
vendored
2
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.
16
external/openjpeg/openjpeg_nowasm_fallback.js
vendored
16
external/openjpeg/openjpeg_nowasm_fallback.js
vendored
File diff suppressed because one or more lines are too long
299
external/qcms/qcms.js
vendored
299
external/qcms/qcms.js
vendored
@ -1,44 +1,71 @@
|
||||
/* THIS FILE IS GENERATED - DO NOT EDIT */
|
||||
import { copy_result } from './qcms_utils.js';
|
||||
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;
|
||||
}
|
||||
/**
|
||||
* @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",
|
||||
});
|
||||
|
||||
/**
|
||||
* Converts `src` and hands the result to `copy_result`, laid out as RGB, or as
|
||||
* RGBA with an opaque alpha when `add_alpha` is set.
|
||||
*
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {Uint8Array} src
|
||||
* @param {boolean} add_alpha
|
||||
*/
|
||||
export function qcms_convert_array(transformer, src, add_alpha) {
|
||||
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, add_alpha);
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -50,49 +77,10 @@ export function qcms_convert_array(transformer, src, add_alpha) {
|
||||
* @param {number} src2
|
||||
* @param {number} src3
|
||||
* @param {number} src4
|
||||
* @returns {number}
|
||||
* @param {boolean} css
|
||||
*/
|
||||
export function qcms_convert_four(transformer, src1, src2, src3, src4) {
|
||||
const ret = wasm.qcms_convert_four(transformer, src1, src2, src3, src4);
|
||||
return ret >>> 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {number} src
|
||||
* @returns {number}
|
||||
*/
|
||||
export function qcms_convert_one(transformer, src) {
|
||||
const ret = wasm.qcms_convert_one(transformer, src);
|
||||
return ret >>> 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
* @param {number} src1
|
||||
* @param {number} src2
|
||||
* @param {number} src3
|
||||
* @returns {number}
|
||||
*/
|
||||
export function qcms_convert_three(transformer, src1, src2, src3) {
|
||||
const ret = wasm.qcms_convert_three(transformer, src1, src2, src3);
|
||||
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);
|
||||
export function qcms_convert_four(transformer, src1, src2, src3, src4, css) {
|
||||
wasm.qcms_convert_four(transformer, src1, src2, src3, src4, css);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -110,116 +98,117 @@ export function qcms_transformer_from_memory(mem, in_type, intent) {
|
||||
const ret = wasm.qcms_transformer_from_memory(ptr0, len0, in_type, intent);
|
||||
return ret >>> 0;
|
||||
}
|
||||
function __wbg_get_imports() {
|
||||
const import0 = {
|
||||
__proto__: null,
|
||||
__wbg___wbindgen_throw_344f42d3211c4765: function(arg0, arg1) {
|
||||
throw new Error(getStringFromWasm0(arg0, arg1));
|
||||
},
|
||||
__wbg_copy_result_0d15f3bf9d9012ae: function(arg0, arg1) {
|
||||
copy_result(arg0 >>> 0, arg1 >>> 0);
|
||||
},
|
||||
__wbindgen_init_externref_table: function() {
|
||||
const table = wasm.__wbindgen_externrefs;
|
||||
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);
|
||||
},
|
||||
};
|
||||
return {
|
||||
__proto__: null,
|
||||
"./qcms_bg.js": import0,
|
||||
};
|
||||
|
||||
/**
|
||||
* # Safety
|
||||
*
|
||||
* This function is called directly from JavaScript.
|
||||
* @param {number} transformer
|
||||
*/
|
||||
export function qcms_drop_transformer(transformer) {
|
||||
wasm.qcms_drop_transformer(transformer);
|
||||
}
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
return decodeText(ptr >>> 0, len);
|
||||
}
|
||||
|
||||
let cachedUint8ArrayMemory0 = null;
|
||||
function getUint8ArrayMemory0() {
|
||||
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
||||
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
||||
}
|
||||
return cachedUint8ArrayMemory0;
|
||||
}
|
||||
|
||||
function passArray8ToWasm0(arg, malloc) {
|
||||
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
||||
getUint8ArrayMemory0().set(arg, ptr / 1);
|
||||
WASM_VECTOR_LEN = arg.length;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
cachedTextDecoder.decode();
|
||||
const MAX_SAFARI_DECODE_BYTES = 2146435072;
|
||||
let numBytesDecoded = 0;
|
||||
function decodeText(ptr, len) {
|
||||
numBytesDecoded += len;
|
||||
if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
|
||||
cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
cachedTextDecoder.decode();
|
||||
numBytesDecoded = len;
|
||||
}
|
||||
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
let WASM_VECTOR_LEN = 0;
|
||||
|
||||
let wasmModule, wasmInstance, wasm;
|
||||
function __wbg_finalize_init(instance, module) {
|
||||
wasmInstance = instance;
|
||||
wasm = instance.exports;
|
||||
wasmModule = module;
|
||||
cachedUint8ArrayMemory0 = null;
|
||||
wasm.__wbindgen_start();
|
||||
return wasm;
|
||||
}
|
||||
/**
|
||||
* @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) {
|
||||
const validResponse = module.ok && expectedResponseType(module.type);
|
||||
|
||||
if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
|
||||
} 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; }
|
||||
} 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 expectedResponseType(type) {
|
||||
switch (type) {
|
||||
case 'basic': case 'cors': case 'default': return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
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 (module !== undefined) {
|
||||
if (typeof module !== 'undefined') {
|
||||
if (Object.getPrototypeOf(module) === Object.prototype) {
|
||||
({module} = module)
|
||||
} else {
|
||||
@ -228,10 +217,15 @@ function initSync(module) {
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -239,7 +233,7 @@ async function __wbg_init(module_or_path) {
|
||||
if (wasm !== undefined) return wasm;
|
||||
|
||||
|
||||
if (module_or_path !== undefined) {
|
||||
if (typeof module_or_path !== 'undefined') {
|
||||
if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
|
||||
({module_or_path} = module_or_path)
|
||||
} else {
|
||||
@ -254,9 +248,12 @@ async function __wbg_init(module_or_path) {
|
||||
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, __wbg_init as default };
|
||||
export { initSync };
|
||||
export default __wbg_init;
|
||||
|
||||
BIN
external/qcms/qcms_bg.wasm
vendored
BIN
external/qcms/qcms_bg.wasm
vendored
Binary file not shown.
68
external/qcms/qcms_utils.js
vendored
68
external/qcms/qcms_utils.js
vendored
@ -13,28 +13,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Alpha lives in the high byte of a pixel on a little-endian host and in the
|
||||
// low byte on a big-endian one.
|
||||
const ALPHA_MASK =
|
||||
new Uint8Array(new Uint32Array([1]).buffer)[0] === 1 ? 0xff000000 : 0x000000ff;
|
||||
const RGB_MASK = ~ALPHA_MASK;
|
||||
|
||||
class QCMS {
|
||||
static #memoryArray = null;
|
||||
|
||||
static _memory = null;
|
||||
|
||||
// Where the next `qcms_convert_array` result should land.
|
||||
static _mustAddAlpha = false;
|
||||
|
||||
static _destBuffer = null;
|
||||
|
||||
static _destOffset = 0;
|
||||
|
||||
// Set when the destination is RGBA and its alpha channel already holds
|
||||
// something worth keeping, which is the case whenever the image has an
|
||||
// /SMask: `fillOpacity` has run by then. The Wasm side does not know about
|
||||
// that, so it always fills alpha in, and the bytes are merged here instead of
|
||||
// copied wholesale.
|
||||
static _keepAlpha = false;
|
||||
static _destLength = 0;
|
||||
|
||||
static _cssColor = "";
|
||||
|
||||
static _makeHexColor = null;
|
||||
|
||||
static get _memoryArray() {
|
||||
const array = this.#memoryArray;
|
||||
@ -48,31 +42,43 @@ class QCMS {
|
||||
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. The wasm side
|
||||
// has already laid the result out the way the caller asked for it, so this is
|
||||
// one bulk copy unless the destination's alpha has to survive.
|
||||
const { _destBuffer, _destOffset, _keepAlpha, _memoryArray } = QCMS;
|
||||
if (!_keepAlpha) {
|
||||
// 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;
|
||||
}
|
||||
const count = len >> 2;
|
||||
const destStart = _destBuffer.byteOffset + _destOffset;
|
||||
if (((destStart | ptr) & 3) === 0) {
|
||||
// Both sides are pixel-aligned, so RGB can be merged a whole pixel at a
|
||||
// time. `len` is a multiple of 4 here: the wasm side wrote RGBA.
|
||||
const dest32 = new Uint32Array(_destBuffer.buffer, destStart, count);
|
||||
const src32 = new Uint32Array(QCMS._memory.buffer, ptr, count);
|
||||
for (let i = 0; i < count; i++) {
|
||||
dest32[i] = (dest32[i] & ALPHA_MASK) | (src32[i] & RGB_MASK);
|
||||
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;
|
||||
}
|
||||
return;
|
||||
}
|
||||
for (let i = ptr, ii = ptr + len, j = _destOffset; i < ii; i += 4, j += 4) {
|
||||
} 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];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export { copy_result, QCMS };
|
||||
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 };
|
||||
|
||||
47
external/quickjs/quickjs-eval.js
vendored
47
external/quickjs/quickjs-eval.js
vendored
File diff suppressed because one or more lines are too long
BIN
external/quickjs/quickjs-eval.wasm
vendored
BIN
external/quickjs/quickjs-eval.wasm
vendored
Binary file not shown.
@ -13,6 +13,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TODO: Remove the exception below once someone figures out how to fix it.
|
||||
// eslint-disable-next-line import/no-unresolved
|
||||
import { parse, registerWalkers, Root } from "postcss-values-parser";
|
||||
import { isString } from "stylelint/lib/utils/validateTypes.mjs";
|
||||
import stylelint from "stylelint";
|
||||
|
||||
1481
gulpfile.mjs
1481
gulpfile.mjs
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
||||
+ Only the translations for the `en-US` locale are maintained here.
|
||||
|
||||
+ The translations for all other locales are imported automatically from Firefox. Please see https://mozilla-l10n.github.io/introduction/ for information about contributing.
|
||||
Most of the files in this folder (except for the `en-US` folder) have been
|
||||
imported from the Firefox Nightly branch;
|
||||
please see https://hg.mozilla.org/l10n-central. Some of the files are
|
||||
licensed under the MPL license. You can obtain a copy of the license at
|
||||
https://mozilla.org/MPL/2.0.
|
||||
|
||||
@ -153,19 +153,6 @@ pdfjs-document-properties-linearized = العرض السريع عبر الوِب
|
||||
pdfjs-document-properties-linearized-yes = نعم
|
||||
pdfjs-document-properties-linearized-no = لا
|
||||
pdfjs-document-properties-close-button = أغلق
|
||||
pdfjs-digital-signature-properties-view-certificate = اعرض الشهادة
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = السبب: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = الطابع الزمني: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
|
||||
## Print
|
||||
|
||||
@ -214,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = مصغّرة صفحة { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = حدّد الصفحة { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = الصفحة { $page } من { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -308,7 +286,7 @@ pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", tim
|
||||
|
||||
pdfjs-password-label = أدخل لكلمة السر لفتح هذا الملف.
|
||||
pdfjs-password-invalid = كلمة سر خطأ. من فضلك أعد المحاولة.
|
||||
pdfjs-password-ok-button = حسنًا
|
||||
pdfjs-password-ok-button = حسنا
|
||||
pdfjs-password-cancel-button = ألغِ
|
||||
pdfjs-web-fonts-disabled = خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة.
|
||||
|
||||
@ -316,13 +294,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 = أضِف أو حرّر الصور
|
||||
@ -334,14 +308,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 = أضِف توقيع
|
||||
@ -404,25 +370,6 @@ pdfjs-editor-add-saved-signature-button =
|
||||
pdfjs-free-text2 =
|
||||
.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 ->
|
||||
[zero] تعليق
|
||||
[one] تعليق
|
||||
[two] تعليقات
|
||||
[few] تعليقات
|
||||
[many] تعليقات
|
||||
*[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 = اطّلع على المزيد
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
@ -553,14 +500,6 @@ 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 = أُزِيل البرز
|
||||
@ -568,7 +507,6 @@ pdfjs-editor-undo-bar-message-freetext = أُزيل النص
|
||||
pdfjs-editor-undo-bar-message-ink = أُزِيلت الرسمة
|
||||
pdfjs-editor-undo-bar-message-stamp = أُزيلت الصورة
|
||||
pdfjs-editor-undo-bar-message-signature = أُزيل التوقيع
|
||||
pdfjs-editor-undo-bar-message-comment = أُزيل التعليق
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -590,7 +528,7 @@ pdfjs-editor-undo-bar-close-button-label = أغلق
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = يتيح هذا النموذج للمستخدم إنشاء توقيع لإضافته إلى مستند PDF. ويمكن للمستخدم تحرير الاسم (الذي يعمل أيضًا كنص بديل)، وحفظ التوقيع بشكل اختياري للاستخدام المتكرر.
|
||||
pdfjs-editor-add-signature-dialog-title = أضِف توقيعًا
|
||||
pdfjs-editor-add-signature-dialog-title = أضِف توقيعا
|
||||
|
||||
## Tab names
|
||||
|
||||
@ -634,8 +572,6 @@ 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
|
||||
@ -644,182 +580,6 @@ 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-add-comment-button =
|
||||
.title = أضف التعليق
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = تبديل الشريط الجانبي (يحتوي المستند على صور مصغرة/مخطط تفصيلي/مرفقات/طبقات)
|
||||
pdfjs-toggle-views-manager-button1-label = أدِر الصفحات
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = الشريط الجانبي
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = أداة تغيير حجم الشريط الجانبي
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = المناظير
|
||||
pdfjs-views-manager-view-selector-button-label = المناظير
|
||||
pdfjs-views-manager-pages-title = الصفحات
|
||||
pdfjs-views-manager-outlines-title1 = مخطط المستند
|
||||
.title = مخطط المستند (انقر نقرًا مزدوجًا لتوسيع/طي كافة العناصر)
|
||||
pdfjs-views-manager-attachments-title = المرفقات
|
||||
pdfjs-views-manager-layers-title1 = طبقات
|
||||
.title = الطبقات (انقر نقرًا مزدوجًا لإعادة تعيين كافة الطبقات إلى الحالة المبدئية)
|
||||
pdfjs-views-manager-pages-option-label = الصفحات
|
||||
pdfjs-views-manager-outlines-option-label = مخطط المستند
|
||||
pdfjs-views-manager-attachments-option-label = المرفقات
|
||||
pdfjs-views-manager-layers-option-label = الطبقات
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = أضف ملف
|
||||
pdfjs-views-manager-add-file-button-label = أضف ملف
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[zero] { $count } محدّد
|
||||
[one] { $count } محدّد
|
||||
[two] { $count } محدّدان
|
||||
[few] { $count } محدّد
|
||||
[many] { $count } محدّد
|
||||
*[other] { $count } محدّد
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = حدّد الصفحات
|
||||
pdfjs-views-manager-pages-status-action-button-label = أدِر
|
||||
pdfjs-views-manager-pages-status-copy-button-label = انسخ
|
||||
pdfjs-views-manager-pages-status-cut-button-label = قصّ
|
||||
pdfjs-views-manager-pages-status-delete-button-label = احذف
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = حُدِّد التصدير…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[zero] لا صفحات قُصت
|
||||
[one] صفحة قُصت
|
||||
[two] { $count } صفحتان قُصت
|
||||
[few] { $count } صفحات قُصت
|
||||
[many] { $count } صفحةً قُصت
|
||||
*[other] { $count } صفحة قُصت
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[zero] لا صفحة منسوخة
|
||||
[one] صفحة منسوخة
|
||||
[two] صفحتان منسوختان
|
||||
[few] { $count } صفحات منسوخة
|
||||
[many] { $count } صفحةً منسوخةً
|
||||
*[other] { $count } صفحة منسوخة
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[zero] لا صفحات محذوفة
|
||||
[one] حُذف صفحة
|
||||
[two] حُذف صفحتان
|
||||
[few] حُذف { $count } صفحات
|
||||
[many] حُذف { $count } صفحةً
|
||||
*[other] حُذف { $count } صفحة
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = يجهز ملفك…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = يرفع ملف…
|
||||
pdfjs-views-manager-status-warning-cut-label = تعذّر القص. أنعش الصفحة وحاول مجددًا.
|
||||
pdfjs-views-manager-status-warning-copy-label = تعذّر النسخ. أنعش الصفحة وحاول مجددًا.
|
||||
pdfjs-views-manager-status-warning-delete-label = تعذّر الحذف. حدِّث الصفحة وحاول مجددًا.
|
||||
pdfjs-views-manager-status-warning-save-label = تعذّر الحفظ. أنعش الصفحة وحاول مجددًا.
|
||||
pdfjs-views-manager-status-undo-button-label = تراجع
|
||||
pdfjs-views-manager-status-done-button-label = تمّ
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = أغلق
|
||||
pdfjs-views-manager-status-close-button-label = أغلق
|
||||
pdfjs-views-manager-paste-button-label = ألصق
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = ألصق قبل الصفحة الأولى
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = ألصق بعد الصفحة { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = جديد
|
||||
pdfjs-views-manager-waiting-for-file = يرفع ملف…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = أدِر الصفحات
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = خصائص التوقيع الرقمي
|
||||
.aria-label = خصائص التوقيع الرقمي
|
||||
pdfjs-digital-signature-properties-button-label = خصائص التوقيع الرقمي
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = وقِّع المستند بتوقيع رقمي صالح
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = الحالة: تحققَ من التوقيع
|
||||
pdfjs-digital-signature-properties-status-invalid = الحالة: التوقيع غير صالح
|
||||
pdfjs-digital-signature-properties-status-unknown = الحالة: تعذّر التحقق (غير مدعوم)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = الشهادة: موثوقة ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = الشهادة: غير متوفرة
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = الشهادة: غير موثوقة
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = الشهادة: جهة إصدار مجهولة ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = الشهادة: موقعّة ذاتيًا ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = الشهادة: جهة إصدار مجهولة ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = الشهادة: منتهية الصلاحية
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = الشهادة: منتهية الصلاحية ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = الشهادة: مُلغاة
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,28 +153,6 @@ pdfjs-document-properties-linearized = Хуткі прагляд у Інтэрн
|
||||
pdfjs-document-properties-linearized-yes = Так
|
||||
pdfjs-document-properties-linearized-no = Не
|
||||
pdfjs-document-properties-close-button = Закрыць
|
||||
pdfjs-digital-signature-properties-view-certificate = Паказаць сертыфікат
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Прычына: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Адзнака часу: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Дадатковы подпіс ({ $count })
|
||||
[few] Дадатковыя подпісы ({ $count })
|
||||
*[many] Дадатковыя подпісы ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -223,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Мініяцюра старонкі { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Выбраць старонку { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Старонка { $page } з { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -568,7 +537,6 @@ pdfjs-editor-undo-bar-message-freetext = Тэкст выдалены
|
||||
pdfjs-editor-undo-bar-message-ink = Малюнак выдалены
|
||||
pdfjs-editor-undo-bar-message-stamp = Відарыс выдалены
|
||||
pdfjs-editor-undo-bar-message-signature = Подпіс выдалены
|
||||
pdfjs-editor-undo-bar-message-comment = Каментарый выдалены
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -669,172 +637,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Скасаваць
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Дадаць каментарый
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Паказаць/схаваць бакавую панэль (дакумент мае мініяцюры/змест/далучэнні/пласты)
|
||||
pdfjs-toggle-views-manager-button1-label = Кіраванне старонкамі
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Бакавая панэль
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Змена памеру бакавой панэлі
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Выгляд
|
||||
pdfjs-views-manager-view-selector-button-label = Выгляд
|
||||
pdfjs-views-manager-pages-title = Старонкі
|
||||
pdfjs-views-manager-outlines-title1 = Структура дакумента
|
||||
.title = Структура дакумента (націсніце двойчы, каб разгарнуць/згарнуць усе элементы)
|
||||
pdfjs-views-manager-attachments-title = Далучэнні
|
||||
pdfjs-views-manager-layers-title1 = Пласты
|
||||
.title = Пласты (націсніце двойчы каб скінуць у прадвызначаны стан)
|
||||
pdfjs-views-manager-pages-option-label = Старонкі
|
||||
pdfjs-views-manager-outlines-option-label = Структура дакумента
|
||||
pdfjs-views-manager-attachments-option-label = Далучэнні
|
||||
pdfjs-views-manager-layers-option-label = Пласты
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Дадаць файл
|
||||
pdfjs-views-manager-add-file-button-label = Дадаць файл
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] Вылучана { $count }
|
||||
[few] Вылучаны { $count }
|
||||
*[many] Вылучана { $count }
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Выбраць старонкі
|
||||
pdfjs-views-manager-pages-status-action-button-label = Кіраваць
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Капіяваць
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Выразаць
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Выдаліць
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Экспартаваць выбранае…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] Выразана { $count } старонка
|
||||
[few] Выразана { $count } старонкі
|
||||
*[many] Выразана { $count } старонак
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] Скапіравана { $count } старонка
|
||||
[few] Скапіравана { $count } старонкі
|
||||
*[many] Скапіравана { $count } старонак
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] Выдалена { $count } старонка
|
||||
[few] Выдалена { $count } старонкі
|
||||
*[many] Выдалена { $count } старонак
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Рыхтуецца ваш файл…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Зацягваецца файл…
|
||||
pdfjs-views-manager-status-warning-cut-label = Не ўдалося выразаць. Абнавіце старонку і паспрабуйце зноў.
|
||||
pdfjs-views-manager-status-warning-copy-label = Не ўдалося скапіяваць. Абнавіце старонку і паспрабуйце зноў.
|
||||
pdfjs-views-manager-status-warning-delete-label = Не ўдалося выдаліць. Абнавіце старонку і паспрабуйце зноў.
|
||||
pdfjs-views-manager-status-warning-save-label = Не ўдалося захаваць. Абнавіце старонку і паспрабуйце зноў.
|
||||
pdfjs-views-manager-status-undo-button-label = Адмяніць
|
||||
pdfjs-views-manager-status-done-button-label = Гатова
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Закрыць
|
||||
pdfjs-views-manager-status-close-button-label = Закрыць
|
||||
pdfjs-views-manager-paste-button-label = Уставіць
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Уставіць перад першай старонкай
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Уставіць пасля старонкі { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = НОВАЕ
|
||||
pdfjs-views-manager-waiting-for-file = Зацягваецца файл…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Кіраванне старонкамі
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Уласцівасці лічбавага подпісу
|
||||
.aria-label = Уласцівасці лічбавага подпісу
|
||||
pdfjs-digital-signature-properties-button-label = Уласцівасці лічбавага подпісу
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Дакумент быў падпісаны сапраўдным лічбавым подпісам
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Дакумент падпісаны, але { $count } лічбавы подпіс не ўдалося праверыць
|
||||
[few] Дакумент падпісаны, але { $count } лічбавыя подпісы не ўдалося праверыць
|
||||
*[many] Дакумент падпісаны, але { $count } лічбавых подпісаў не ўдалося праверыць
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Дакумент падпісаны { $count } недавераным сертыфікатам
|
||||
[few] Дакумент падпісаны { $count } недаверанымі сертыфікатамі
|
||||
*[many] Дакумент падпісаны { $count } недаверанымі сертыфікатамі
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Дакумент падпісаны { $count } пратэрмінаваным сертыфікатам
|
||||
[few] Дакумент падпісаны { $count } пратэрмінаванымі сертыфікатамі
|
||||
*[many] Дакумент падпісаны { $count } пратэрмінаванымі сертыфікатамі
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Дакумент мае { $count } нядзейсны лічбавы подпіс
|
||||
[few] Дакумент мае { $count } нядзейсныя лічбавыя подпісы
|
||||
*[many] Дакумент мае { $count } нядзейсных лічбавых подпісаў
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Дакумент падпісаны { $count } адкліканым сертыфікатам
|
||||
[few] Дакумент падпісаны { $count } адкліканымі сертыфікатамі
|
||||
*[many] Дакумент падпісаны { $count } адкліканымі сертыфікатамі
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Статус: Подпіс правераны
|
||||
pdfjs-digital-signature-properties-status-invalid = Статус: Подпіс нядзейсны
|
||||
pdfjs-digital-signature-properties-status-unknown = Статус: Немагчыма праверыць (не падтрымліваецца)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Сертыфікат: Давераны ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Сертыфікат: Недаступны
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Сертыфікат: Недавераны
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Сертыфікат: Невядомы выдавец ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Сертыфікат: Самападпісаны ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Сертыфікат: Недавераны выдавец ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Сертыфікат: Пратэрмінаваны
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Сертыфікат: Пратэрмінаваны ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Сертыфікат: Адкліканы
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -386,16 +386,3 @@ pdfjs-editor-new-alt-text-not-now-button = Не сега
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Изтриване
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-image-upload-error-description = Проверете мрежовата си връзка или опитайте с друго изображение.
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-expired = Сертификат: с изтекъл срок на валидност
|
||||
|
||||
@ -1,325 +0,0 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
## Main toolbar buttons (tooltips and alt text for images)
|
||||
|
||||
pdfjs-previous-button =
|
||||
.title = بلگه دیندایی
|
||||
pdfjs-previous-button-label = دیندایی
|
||||
pdfjs-next-button =
|
||||
.title = بلگه نیایی
|
||||
pdfjs-next-button-label = بئڌی
|
||||
# .title: Tooltip for the pageNumber input.
|
||||
pdfjs-page-input =
|
||||
.title = بلگه
|
||||
# Variables:
|
||||
# $pagesCount (Number) - the total number of pages in the document
|
||||
# This string follows an input field with the number of the page currently displayed.
|
||||
pdfjs-of-pages = ز { $pagesCount }
|
||||
# Variables:
|
||||
# $pageNumber (Number) - the currently visible page
|
||||
# $pagesCount (Number) - the total number of pages in the document
|
||||
pdfjs-page-of-pages = ({ $pageNumber } ز { $pagesCount })
|
||||
pdfjs-zoom-out-button =
|
||||
.title = کۊچیر نمایی
|
||||
pdfjs-zoom-out-button-label = کۊچیر نمایی
|
||||
pdfjs-zoom-in-button =
|
||||
.title = گپ نمایی
|
||||
pdfjs-zoom-in-button-label = گپ نمایی
|
||||
pdfjs-zoom-select =
|
||||
.title = زۊم کردن
|
||||
pdfjs-open-file-button =
|
||||
.title = گۊشیڌن فایل
|
||||
pdfjs-open-file-button-label = گۊشیڌن
|
||||
pdfjs-print-button =
|
||||
.title = چاپ
|
||||
pdfjs-print-button-label = چاپ
|
||||
pdfjs-save-button =
|
||||
.title = زفت
|
||||
pdfjs-save-button-label = زفت
|
||||
# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
|
||||
pdfjs-download-button =
|
||||
.title = دانلود
|
||||
# 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 = دانلود
|
||||
pdfjs-bookmark-button-label = بلگه هیم سکویی
|
||||
|
||||
## Secondary toolbar and context menu
|
||||
|
||||
pdfjs-tools-button =
|
||||
.title = ٱوزارا
|
||||
pdfjs-tools-button-label = ٱوزارا
|
||||
pdfjs-first-page-button =
|
||||
.title = رئڌن و بلگه نیایی
|
||||
pdfjs-first-page-button-label = رئڌن و بلگه نیایی
|
||||
pdfjs-last-page-button =
|
||||
.title = رئڌن و بلگه دیندایی
|
||||
pdfjs-last-page-button-label = رئڌن و بلگه دیندایی
|
||||
pdfjs-page-rotate-cw-button =
|
||||
.title = لر خردن ساعتگرد
|
||||
pdfjs-page-rotate-cw-button-label = لر خردن ساعتگرد
|
||||
pdfjs-page-rotate-ccw-button =
|
||||
.title = لر خردن پاد ساعتگرد
|
||||
pdfjs-page-rotate-ccw-button-label = لر خردن پاد ساعتگرد
|
||||
pdfjs-cursor-text-select-tool-button =
|
||||
.title = فعال کردن ٱوزار پسند هؽل
|
||||
pdfjs-cursor-text-select-tool-button-label = ٱوزار پسند هؽل
|
||||
pdfjs-cursor-hand-tool-button =
|
||||
.title = فعال کردن ٱوزار دست
|
||||
pdfjs-cursor-hand-tool-button-label = ٱوزار دست
|
||||
pdfjs-scroll-page-button =
|
||||
.title = و کار گرؽڌن اسکرۊل بلگه
|
||||
pdfjs-scroll-page-button-label = اسکرۊل بلگه
|
||||
pdfjs-scroll-vertical-button =
|
||||
.title = و کار گرؽڌن اسکرۊل عمۊدی
|
||||
pdfjs-scroll-vertical-button-label = اسکرۊل عمۊدی
|
||||
pdfjs-scroll-horizontal-button =
|
||||
.title = و کار گرؽڌن اسکرۊل اوفوقی
|
||||
pdfjs-scroll-horizontal-button-label = اسکرۊل اوفوقی
|
||||
pdfjs-scroll-wrapped-button =
|
||||
.title = و کار گرؽڌن اسکرۊل پؽچسته
|
||||
pdfjs-scroll-wrapped-button-label = اسکرۊل پؽچسته
|
||||
|
||||
## Document properties dialog
|
||||
|
||||
pdfjs-document-properties-button =
|
||||
.title = خۊسۊسیات سند…
|
||||
pdfjs-document-properties-button-label = خۊسۊسیات سند…
|
||||
pdfjs-document-properties-file-name = نوم فایل:
|
||||
pdfjs-document-properties-file-size = هندا فایل:
|
||||
pdfjs-document-properties-title = عونوان:
|
||||
pdfjs-document-properties-author = هؽل کوݩ:
|
||||
pdfjs-document-properties-subject = سرتال:
|
||||
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") }
|
||||
pdfjs-document-properties-creator = وورکل کون:
|
||||
pdfjs-document-properties-producer = وورکل کون PDF:
|
||||
pdfjs-document-properties-version = نوسخه PDF:
|
||||
pdfjs-document-properties-page-count = تئداد بلگه یل:
|
||||
pdfjs-document-properties-page-size = هندا بلگه:
|
||||
pdfjs-document-properties-page-size-unit-inches = اینچ
|
||||
pdfjs-document-properties-page-size-unit-millimeters = میلی متر
|
||||
pdfjs-document-properties-page-size-orientation-portrait = portrait
|
||||
pdfjs-document-properties-page-size-orientation-landscape = landscape
|
||||
pdfjs-document-properties-page-size-name-a-three = A3
|
||||
pdfjs-document-properties-page-size-name-a-four = A4
|
||||
pdfjs-document-properties-page-size-name-letter = نامه
|
||||
pdfjs-document-properties-page-size-name-legal = هۊقۊقی
|
||||
|
||||
## 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-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
|
||||
pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
|
||||
|
||||
##
|
||||
|
||||
# The linearization status of the document; usually called "Fast Web View" in
|
||||
# English locales of Adobe software.
|
||||
pdfjs-document-properties-linearized = نیشتن زل وب:
|
||||
pdfjs-document-properties-linearized-yes = هری
|
||||
pdfjs-document-properties-linearized-no = ن
|
||||
pdfjs-document-properties-close-button = بستن
|
||||
|
||||
## Print
|
||||
|
||||
pdfjs-print-progress-message = ٱماڌه کردن سند سی چاپ کردن…
|
||||
# Variables:
|
||||
# $progress (Number) - percent value
|
||||
pdfjs-print-progress-percent = { $progress }%
|
||||
pdfjs-print-progress-close-button = لقو
|
||||
|
||||
## Tooltips and alt text for side panel toolbar buttons
|
||||
|
||||
pdfjs-toggle-sidebar-button =
|
||||
.title = آلشت هالت نوار کلی
|
||||
pdfjs-toggle-sidebar-button-label = آلشت هالت نوار کلی
|
||||
pdfjs-document-outline-button-label = تئر سند
|
||||
pdfjs-attachments-button =
|
||||
.title = نشووݩ داڌن پیوستا
|
||||
pdfjs-attachments-button-label = پیوستا
|
||||
pdfjs-layers-button-label = لایه یل
|
||||
pdfjs-thumbs-button =
|
||||
.title = نشووݩ داڌن شؽواتا کۊچیر
|
||||
pdfjs-thumbs-button-label = شؽواتا کۊچیر
|
||||
pdfjs-findbar-button =
|
||||
.title = جوستن من سند
|
||||
pdfjs-findbar-button-label = جوستن
|
||||
pdfjs-additional-layers = لایه یل ازافه
|
||||
|
||||
## Thumbnails panel item (tooltip and alt text for images)
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-title =
|
||||
.title = بلگه { $page }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
pdfjs-find-previous-button-label = دیندایی
|
||||
pdfjs-find-next-button-label = بئڌی
|
||||
pdfjs-find-highlight-checkbox = هایلایت کردن پوی
|
||||
|
||||
## Predefined zoom values
|
||||
|
||||
pdfjs-page-scale-width = پئنا بلگه
|
||||
pdfjs-page-scale-fit = هندا کردن بلگه
|
||||
pdfjs-page-scale-auto = زۊم کردن خوتکار
|
||||
pdfjs-page-scale-actual = هندا واقعی
|
||||
# Variables:
|
||||
# $scale (Number) - percent value for page scale
|
||||
pdfjs-page-scale-percent = { $scale }%
|
||||
|
||||
## PDF page
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-page-landmark =
|
||||
.aria-label = بلگه { $page }
|
||||
|
||||
## Annotations
|
||||
|
||||
# Variables:
|
||||
# $dateObj (Date) - the modification date and time of the annotation
|
||||
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
|
||||
## Password
|
||||
|
||||
pdfjs-password-ok-button = خا
|
||||
pdfjs-password-cancel-button = لقو
|
||||
|
||||
## Editing
|
||||
|
||||
pdfjs-editor-free-text-button =
|
||||
.title = هؽل
|
||||
pdfjs-editor-free-text-button-label = هؽل
|
||||
pdfjs-editor-ink-button =
|
||||
.title = کشیڌن
|
||||
pdfjs-editor-ink-button-label = کشیڌن
|
||||
pdfjs-editor-stamp-button =
|
||||
.title = ٱووردن یا آلشت شؽواتا
|
||||
pdfjs-editor-stamp-button-label = ٱووردن یا آلشت شؽواتا
|
||||
|
||||
## Default editor aria labels
|
||||
|
||||
pdfjs-editor-stamp-editor =
|
||||
.aria-label = آلشتگر شؽوات
|
||||
|
||||
##
|
||||
|
||||
# Editor Parameters
|
||||
pdfjs-editor-free-text-color-input = رنگ
|
||||
pdfjs-editor-free-text-size-input = هندا
|
||||
pdfjs-editor-ink-color-input = رنگ
|
||||
pdfjs-editor-ink-thickness-input = کۊلۊفتی
|
||||
pdfjs-editor-ink-opacity-input = کر بیڌن
|
||||
# This refers to the thickness of the line used for free highlighting (not bound to text)
|
||||
pdfjs-editor-free-highlight-thickness-input = کۊلۊفتی
|
||||
# .default-content is used as a placeholder in an empty text editor.
|
||||
pdfjs-free-text2 =
|
||||
.aria-label = آلشتگر هؽل
|
||||
.default-content = ناهاڌن پا هؽل کردن...
|
||||
pdfjs-editor-comments-sidebar-no-comments-link = قلوه دووسته بۊین
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
pdfjs-editor-alt-text-cancel-button = لقو
|
||||
pdfjs-editor-alt-text-save-button = زفت
|
||||
|
||||
## Color picker
|
||||
|
||||
pdfjs-editor-colorpicker-yellow =
|
||||
.title = هیل
|
||||
pdfjs-editor-colorpicker-green =
|
||||
.title = ساوز
|
||||
pdfjs-editor-colorpicker-blue =
|
||||
.title = کوۊ
|
||||
pdfjs-editor-colorpicker-pink =
|
||||
.title = آل
|
||||
pdfjs-editor-colorpicker-red =
|
||||
.title = سوئر
|
||||
|
||||
## Show all highlights
|
||||
## This is a toggle button to show/hide all the highlights.
|
||||
|
||||
pdfjs-editor-highlight-show-all-button-label = نشووݩ داڌن پوی
|
||||
pdfjs-editor-highlight-show-all-button =
|
||||
.title = نشووݩ داڌن پوی
|
||||
|
||||
## 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 = سکو ن
|
||||
pdfjs-editor-new-alt-text-error-close-button = بستن
|
||||
|
||||
## "Annotations removed" bar
|
||||
|
||||
pdfjs-editor-undo-bar-undo-button-label = وورگندن
|
||||
pdfjs-editor-undo-bar-close-button =
|
||||
.title = بستن
|
||||
pdfjs-editor-undo-bar-close-button-label = بستن
|
||||
|
||||
## Tab panels
|
||||
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = کۊلۊفتی
|
||||
|
||||
## Controls
|
||||
|
||||
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 = آلشت منشڌ
|
||||
|
||||
## 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 = ورۊ رسۊوی
|
||||
pdfjs-editor-edit-comment-dialog-save-button-when-adding = ٱووردن
|
||||
pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = ناهاڌن پا هؽل کردن…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = لقو
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = نوار کلی
|
||||
pdfjs-views-manager-layers-option-label = لایه یل
|
||||
pdfjs-views-manager-pages-status-action-button-label = دؽوۉداری
|
||||
pdfjs-views-manager-pages-status-copy-button-label = لف گیری
|
||||
pdfjs-views-manager-pages-status-cut-button-label = بۊریڌن
|
||||
pdfjs-views-manager-pages-status-delete-button-label = پاک کردن
|
||||
pdfjs-views-manager-status-undo-button-label = وورگندن
|
||||
pdfjs-views-manager-status-done-button-label = ٱنجوم وابی
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = بستن
|
||||
pdfjs-views-manager-status-close-button-label = بستن
|
||||
pdfjs-views-manager-paste-button-label = جا وندن
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = نۊ
|
||||
@ -153,29 +153,6 @@ pdfjs-document-properties-linearized = Rychlé zobrazování z webu:
|
||||
pdfjs-document-properties-linearized-yes = Ano
|
||||
pdfjs-document-properties-linearized-no = Ne
|
||||
pdfjs-document-properties-close-button = Zavřít
|
||||
pdfjs-digital-signature-properties-view-certificate = Zobrazit certifikát
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Důvod: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Časové razítko: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Podpis ({ $count })
|
||||
[few] Podpisy ({ $count })
|
||||
[many] Podpisy ({ $count })
|
||||
*[other] Podpisy ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -224,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Náhled strany { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Vybrat stranu { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Strana { $page } z { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -572,7 +540,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Komentář odebrán
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -674,181 +641,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Zrušit
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Přidání komentáře
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Přepnout postranní lištu (dokument obsahuje náhledy/osnovu/přílohy/vrstvy)
|
||||
pdfjs-toggle-views-manager-button1-label = Spravovat strany
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Postranní lišta
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Změna velikosti v postranní liště
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Zobrazení
|
||||
pdfjs-views-manager-view-selector-button-label = Zobrazení
|
||||
pdfjs-views-manager-pages-title = Stránky
|
||||
pdfjs-views-manager-outlines-title1 = Osnova dokumentu
|
||||
.title = Osnova dokumentu (dvojité klepnutí rozbalí/sbalí všechny položky)
|
||||
pdfjs-views-manager-attachments-title = Přílohy
|
||||
pdfjs-views-manager-layers-title1 = Vrstvy
|
||||
.title = Vrstvy (dvojité klepnutí obnoví všechny vrstvy do výchozího stavu)
|
||||
pdfjs-views-manager-pages-option-label = Stránky
|
||||
pdfjs-views-manager-outlines-option-label = Osnova dokumentu
|
||||
pdfjs-views-manager-attachments-option-label = Přílohy
|
||||
pdfjs-views-manager-layers-option-label = Vrstvy
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Přidat soubor
|
||||
pdfjs-views-manager-add-file-button-label = Přidat soubor
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } vybrána
|
||||
[few] { $count } vybrány
|
||||
[many] { $count } vybráno
|
||||
*[other] { $count } vybráno
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Výběr stránek
|
||||
pdfjs-views-manager-pages-status-action-button-label = Správa
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopírovat
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Vyjmout
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Smazat
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exportovat vybrané…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 stránka vyjmuta
|
||||
[few] { $count } stránky vyjmuty
|
||||
[many] { $count } stránek vyjmuto
|
||||
*[other] { $count } stránek vyjmuto
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 stránka zkopírována
|
||||
[few] { $count } stránky zkopírovány
|
||||
[many] { $count } stránek zkopírováno
|
||||
*[other] { $count } stránek zkopírováno
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 stránka smazána
|
||||
[few] { $count } stránky smazány
|
||||
[many] { $count } stránek smazáno
|
||||
*[other] { $count } stránek smazáno
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Příprava vašeho souboru…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Nahrávání souboru…
|
||||
pdfjs-views-manager-status-warning-cut-label = Nelze vyjmout. Obnovte stránku a zkuste to znovu.
|
||||
pdfjs-views-manager-status-warning-copy-label = Kopírování se nezdařilo. Obnovte stránku a zkuste to znovu.
|
||||
pdfjs-views-manager-status-warning-delete-label = Smazání se nezdařilo. Obnovte stránku a zkuste to znovu.
|
||||
pdfjs-views-manager-status-warning-save-label = Nepodařilo se uložit. Obnovte stránku a zkuste to znovu.
|
||||
pdfjs-views-manager-status-undo-button-label = Zpět
|
||||
pdfjs-views-manager-status-done-button-label = Hotovo
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Zavřít
|
||||
pdfjs-views-manager-status-close-button-label = Zavřít
|
||||
pdfjs-views-manager-paste-button-label = Vložit
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Vloží před první stránku
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Vložit za stránku { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOVÉ
|
||||
pdfjs-views-manager-waiting-for-file = Nahrávání souboru…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Spravovat strany
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Vlastnosti digitálního podpisu
|
||||
.aria-label = Vlastnosti digitálního podpisu
|
||||
pdfjs-digital-signature-properties-button-label = Vlastnosti digitálního podpisu
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokument byl podepsán platným digitálním podpisem
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokument je podepsán, ale { $count } elektronický podpis se nepodařilo ověřit
|
||||
[few] Dokument je podepsán, ale { $count } elektronické podpisy se nepodařilo ověřit
|
||||
[many] Dokument je podepsán, ale { $count } elektronických podpisů se nepodařilo ověřit
|
||||
*[other] Dokument je podepsán, ale { $count } elektronických podpisů se nepodařilo ověřit
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokument podepsaný { $count } certifikátem, který není důvěryhodný
|
||||
[few] Dokument podepsaný { $count } certifikáty, které nejsou důvěryhodné
|
||||
[many] Dokument podepsaný { $count } certifikáty, které nejsou důvěryhodné
|
||||
*[other] Dokument podepsaný { $count } certifikáty, které nejsou důvěryhodné
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokument je podepsaný { $count } prošlým certifikátem
|
||||
[few] Dokument je podepsaný { $count } prošlými certifikáty
|
||||
[many] Dokument je podepsaný { $count } prošlými certifikáty
|
||||
*[other] Dokument je podepsaný { $count } prošlými certifikáty
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokument má { $count } neplatný elektronický podpis
|
||||
[few] Dokument má { $count } neplatné elektronické podpisy
|
||||
[many] Dokument má { $count } neplatných elektronických podpisů
|
||||
*[other] Dokument má { $count } neplatných elektronických podpisů
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokument je podepsaný { $count } zneplatněným certifikátem
|
||||
[few] Dokument je podepsaný { $count } zneplatněnými certifikáty
|
||||
[many] Dokument je podepsaný { $count } zneplatněnými certifikáty
|
||||
*[other] Dokument je podepsaný { $count } zneplatněnými certifikáty
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Stav: Podpis ověřen
|
||||
pdfjs-digital-signature-properties-status-invalid = Stav: Podpis je neplatný
|
||||
pdfjs-digital-signature-properties-status-unknown = Stav: Nelze ověřit (nepodporováno)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certifikát: Důvěryhodný ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certifikát: nedostupný
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certifikát: nedůvěryhodný
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certifikát: Neznámý vydavatel ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certifikát: Self-signed ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certifikát: Nedůvěryhodný vydavatel ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certifikát: vypršel
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certifikát: Vypršel ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certifikát: zneplatněn
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,31 +153,6 @@ pdfjs-document-properties-linearized = Golwg Gwe Cyflym:
|
||||
pdfjs-document-properties-linearized-yes = Iawn
|
||||
pdfjs-document-properties-linearized-no = Na
|
||||
pdfjs-document-properties-close-button = Cau
|
||||
pdfjs-digital-signature-properties-view-certificate = Gweld tystysgrif
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Rheswm: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Stamp amser: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[zero] Is-lofnodion ( { $count } )
|
||||
[one] Is-lofnodion ( { $count } )
|
||||
[two] Is-lofnodion ( { $count } )
|
||||
[few] Is-lofnodion ( { $count } )
|
||||
[many] Is-lofnodion ( { $count } )
|
||||
*[other] Is-lofnodion ( { $count } )
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -226,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Llun Bach Tudalen { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Dewis tudalen { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Tudalen { $page } o { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -580,7 +546,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Sylw wedi'i dynnu
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -684,199 +649,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Diddymu
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Ychwanegu sylw
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Togl y Bar Ochr (dogfen yn cynnwys lluniau bach/amlinelliad/atodiadau/haenau)
|
||||
pdfjs-toggle-views-manager-button1-label = Rheoli tudalennau
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Bar Ochr
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Newid maint bar ochr
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Golygon
|
||||
pdfjs-views-manager-view-selector-button-label = Golygon
|
||||
pdfjs-views-manager-pages-title = Tudalennau
|
||||
pdfjs-views-manager-outlines-title1 = Amlinelliad Dogfen
|
||||
.title = Amlinelliad dogfen (clic dwbl i ehangu/leihau pob eitem)
|
||||
pdfjs-views-manager-attachments-title = Atodiadau
|
||||
pdfjs-views-manager-layers-title1 = Haenau
|
||||
.title = Haenau clic dwbl i ailosod pob haen i'r cyflwr ragosodedig)
|
||||
pdfjs-views-manager-pages-option-label = Tudalennau
|
||||
pdfjs-views-manager-outlines-option-label = Amlinelliad dogfen
|
||||
pdfjs-views-manager-attachments-option-label = Atodiadau
|
||||
pdfjs-views-manager-layers-option-label = Haenau
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Ychwanegu ffeil
|
||||
pdfjs-views-manager-add-file-button-label = Ychwanegu ffeil
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[zero] { $count } wedi'u dewis
|
||||
[one] { $count } wedi'i dewis
|
||||
[two] { $count } wedi'u dewis
|
||||
[few] { $count } wedi'u dewis
|
||||
[many] { $count } wedi'u dewis
|
||||
*[other] { $count } wedi'u dewis
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Dewiswch dudalennau
|
||||
pdfjs-views-manager-pages-status-action-button-label = Rheoli
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copïo
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Torri
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Dileu
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Wedi dewis allforio…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[zero] { $count } tudalennau wedi'u torri
|
||||
[one] { $count } dudalen wedi'i thorri
|
||||
[two] { $count } dudalen wedi'u torri
|
||||
[few] { $count } tudalen wedi'u torri
|
||||
[many] { $count } tudalen wedi'u torri
|
||||
*[other] { $count } tudalen wedi'u torri
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[zero] { $count } tudalennau wedi'u copïo
|
||||
[one] { $count } tudalen wedi'i chopïo
|
||||
[two] { $count } tudalen wedi'u copïo
|
||||
[few] { $count } tudalen wedi'u copïo
|
||||
[many] { $count } tudalen wedi'u copïo
|
||||
*[other] { $count } tudalen wedi'u copïo
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[zero] { $count } tudalennau wedi'u dileu
|
||||
[one] { $count } tudalen wedi'i dileu
|
||||
[two] { $count } dudalen wedi'u dileu
|
||||
[few] { $count } tudalen wedi'u dileu
|
||||
[many] { $count } tudalen wedi'u dileu
|
||||
*[other] { $count } tudalen wedi'u dileu
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Yn paratoi eich ffeil…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Yn llwytho ffeil i fyny…
|
||||
pdfjs-views-manager-status-warning-cut-label = Methu torri. Adnewyddwch y dudalen a cheisio eto.
|
||||
pdfjs-views-manager-status-warning-copy-label = Methu copïo. Adnewyddwch y dudalen a cheisio eto.
|
||||
pdfjs-views-manager-status-warning-delete-label = Methu dileu. Adnewyddwch y dudalen a cheisio eto.
|
||||
pdfjs-views-manager-status-warning-save-label = Methu cadw. Adnewyddwch y dudalen a cheisio eto.
|
||||
pdfjs-views-manager-status-undo-button-label = Dadwneud
|
||||
pdfjs-views-manager-status-done-button-label = Gorffen
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Cau
|
||||
pdfjs-views-manager-status-close-button-label = Cau
|
||||
pdfjs-views-manager-paste-button-label = Gludo
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Gludo cyn y dudalen gyntaf
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Gludo ar ôl tudalen { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NEWYDD
|
||||
pdfjs-views-manager-waiting-for-file = Yn llwytho ffeil i fyny…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Rheoli tudalennau
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Priodweddau llofnod digidol
|
||||
.aria-label = Priodweddau llofnod digidol
|
||||
pdfjs-digital-signature-properties-button-label = Priodweddau llofnod digidol
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Llofnodwyd y ddogfen gyda llofnod digidol dilys
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[zero] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
[one] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
[two] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
[few] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
[many] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
*[other] Llofnodwyd y ddogfen ond doedd dim modd dilysu { $count } llofnod digidol
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[zero] Dogfen wedi'i llofnodi â { $count } thystysgrif does dim modd ymddiried ynddyn nhw
|
||||
[one] Dogfen wedi'i llofnodi â { $count } thystysgrif does dim modd ymddiried ynddi
|
||||
[two] Dogfen wedi'i llofnodi â { $count } thystysgrifau does dim modd ymddiried ynddyn nhw
|
||||
[few] Dogfen wedi'i llofnodi â { $count } thystysgrifau does dim modd ymddiried ynddyn nhw
|
||||
[many] Dogfen wedi'i llofnodi â { $count } thystysgrifau does dim modd ymddiried ynddyn nhw
|
||||
*[other] Dogfen wedi'i llofnodi â { $count } thystysgrifau does dim modd ymddiried ynddyn nhw
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[zero] Dogfen wedi'i llofnodi gyda { $count } tystysgrifau sydd wedi dod i ben
|
||||
[one] Dogfen wedi'i llofnodi gydag { $count } dystysgrif sydd wedi dod i ben
|
||||
[two] Dogfen wedi'i llofnodi gyda { $count } dystysgrif sydd wedi dod i ben
|
||||
[few] Dogfen wedi'i llofnodi gyda { $count } tystysgrif sydd wedi dod i ben
|
||||
[many] Dogfen wedi'i llofnodi gyda { $count } thystysgrif sydd wedi dod i ben
|
||||
*[other] Dogfen wedi'i llofnodi gyda { $count } tystysgrif sydd wedi dod i ben
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[zero] Mae gan y ddogfen { $count } llofnodion digidol annilys
|
||||
[one] Mae gan y ddogfen { $count } llofnod digidol annilys
|
||||
[two] Mae gan y ddogfen { $count } llofnod digidol annilys
|
||||
[few] Mae gan y ddogfen { $count } llofnod digidol annilys
|
||||
[many] Mae gan y ddogfen { $count } llofnod digidol annilys
|
||||
*[other] Mae gan y ddogfen { $count } llofnod digidol annilys
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[zero] Dogfen wedi'i llofnodi gyda { $count } tystysgrifau wedi'u dirymu
|
||||
[one] Dogfen wedi'i llofnodi gyda { $count } tystysgrif wedi'u dirymu
|
||||
[two] Dogfen wedi'i llofnodi gyda { $count } tystysgrif wedi'u dirymu
|
||||
[few] Dogfen wedi'i llofnodi gyda { $count } tystysgrif wedi'u dirymu
|
||||
[many] Dogfen wedi'i llofnodi gyda { $count } thystysgrif wedi'u dirymu
|
||||
*[other] Dogfen wedi'i llofnodi gyda { $count } tystysgrif wedi'u dirymu
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Statws: Llofnod wedi'i ddilysu
|
||||
pdfjs-digital-signature-properties-status-invalid = Statws: Llofnod annilys
|
||||
pdfjs-digital-signature-properties-status-unknown = Statws: Methu dilysu (heb ei gefnogi)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Tystysgrif: Wedi ymddiried ( { $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Tystysgrif: Ddim ar gael
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Tystysgrif: Dim ymddiriedaeth
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Tystysgrif: Cyhoeddwr anhysbys ( { $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Tystysgrif: Hunan-lofnod ( { $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Tystysgrif: Cyhoeddwr heb ymddiriedaeth ( { $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Tystysgrif: Wedi dod i ben
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Tystysgrif: Wedi dod i ben ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Tystysgrif: Wedi'i ddirymu
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -201,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniature af side { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Vælg side { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Side { $page } af { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -543,7 +534,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Kommentar fjernet
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -643,87 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Annuller
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Tilføj kommentar
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Slå sidepanel til eller fra (dokumentet indeholder miniaturer/disposition/vedhæftede filer/lag)
|
||||
pdfjs-toggle-views-manager-button1-label = Håndter sider
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidepanel
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Visninger
|
||||
pdfjs-views-manager-view-selector-button-label = Visninger
|
||||
pdfjs-views-manager-pages-title = Sider
|
||||
pdfjs-views-manager-attachments-title = Vedhæftede filer
|
||||
pdfjs-views-manager-layers-title1 = Lag
|
||||
.title = Lag (dobbeltklik for at nulstille alle lag til standard-tilstanden)
|
||||
pdfjs-views-manager-pages-option-label = Sider
|
||||
pdfjs-views-manager-outlines-option-label = Dokument-disposition
|
||||
pdfjs-views-manager-attachments-option-label = Vedhæftede filer
|
||||
pdfjs-views-manager-layers-option-label = Lag
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Tilføj fil
|
||||
pdfjs-views-manager-add-file-button-label = Tilføj fil
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } valgt
|
||||
*[other] { $count } valgt
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Vælg sider
|
||||
pdfjs-views-manager-pages-status-action-button-label = Håndter
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopier
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Klip
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Slet
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Eksporter valgte…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 side klippet
|
||||
*[other] { $count } sider klippet
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 side kopieret
|
||||
*[other] { $count } sider kopieret
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 side slettet
|
||||
*[other] { $count } sider slettet
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Gør din fil klar…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Uploader fil…
|
||||
pdfjs-views-manager-status-undo-button-label = Fortryd
|
||||
pdfjs-views-manager-status-done-button-label = Færdig
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Luk
|
||||
pdfjs-views-manager-status-close-button-label = Luk
|
||||
pdfjs-views-manager-paste-button-label = Indsæt
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Indsæt før første side
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Indsæt efter side { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NY
|
||||
pdfjs-views-manager-waiting-for-file = Uploader fil…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Håndter sider
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -67,8 +67,8 @@ pdfjs-page-rotate-cw-button =
|
||||
.title = Im Uhrzeigersinn drehen
|
||||
pdfjs-page-rotate-cw-button-label = Im Uhrzeigersinn drehen
|
||||
pdfjs-page-rotate-ccw-button =
|
||||
.title = Gegen den Uhrzeigersinn drehen
|
||||
pdfjs-page-rotate-ccw-button-label = Gegen den Uhrzeigersinn drehen
|
||||
.title = Gegen Uhrzeigersinn drehen
|
||||
pdfjs-page-rotate-ccw-button-label = Gegen Uhrzeigersinn drehen
|
||||
pdfjs-cursor-text-select-tool-button =
|
||||
.title = Textauswahl-Werkzeug aktivieren
|
||||
pdfjs-cursor-text-select-tool-button-label = Textauswahl-Werkzeug
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Schnelle Webanzeige:
|
||||
pdfjs-document-properties-linearized-yes = Ja
|
||||
pdfjs-document-properties-linearized-no = Nein
|
||||
pdfjs-document-properties-close-button = Schließen
|
||||
pdfjs-digital-signature-properties-view-certificate = Zertifikat ansehen
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Grund: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Zeitstempel: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] ({ $count }) Untersignatur
|
||||
*[other] ({ $count }) Untersignaturen
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniaturansicht von Seite { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Seite { $page } auswählen
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Seite { $page } von { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -299,7 +269,7 @@ pdfjs-rendering-error = Beim Darstellen der Seite trat ein Fehler auf.
|
||||
# (32000-1:2008 Table 169 – Annotation types).
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
pdfjs-text-annotation-type =
|
||||
.alt = [{ $type } Anmerkung]
|
||||
.alt = [Anlage: { $type }]
|
||||
# Variables:
|
||||
# $dateObj (Date) - the modification date and time of the annotation
|
||||
pdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
@ -564,7 +534,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Kommentar entfernt
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -626,7 +595,7 @@ 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 Unterschrift umwandeln
|
||||
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
|
||||
|
||||
@ -664,168 +633,11 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Abbrechen
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Kommentar hinzufügen
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Sidebar umschalten (Dokument enthält Miniaturansichten/Dokumentstruktur/Anhänge/Ebenen)
|
||||
pdfjs-toggle-views-manager-button1-label = Seiten verwalten
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidebar
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Größenanpassung der Sidebar
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Ansichten
|
||||
pdfjs-views-manager-view-selector-button-label = Ansichten
|
||||
pdfjs-views-manager-pages-title = Seiten
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentstruktur
|
||||
.title = Dokumentstruktur (Doppelklick zum Ein- bzw. Ausblenden aller Einträge)
|
||||
pdfjs-views-manager-attachments-title = Anhänge
|
||||
pdfjs-views-manager-layers-title1 = Ebenen
|
||||
.title = Ebenen (Doppelklick, um alle Ebenen auf den Standard-Zustand zurückzusetzen)
|
||||
pdfjs-views-manager-pages-option-label = Seiten
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentstruktur
|
||||
pdfjs-views-manager-attachments-option-label = Anhänge
|
||||
pdfjs-views-manager-layers-option-label = Ebenen
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Datei hinzufügen
|
||||
pdfjs-views-manager-add-file-button-label = Datei hinzufügen
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } ausgewählt
|
||||
*[other] { $count } ausgewählt
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Seiten auswählen
|
||||
pdfjs-views-manager-pages-status-action-button-label = Verwalten
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopieren
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Ausschneiden
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Löschen
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Ausgewählte exportieren…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 Seite ausgeschnitten
|
||||
*[other] { $count } Seiten ausgeschnitten
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 Seite kopiert
|
||||
*[other] { $count } Seiten kopiert
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 Seite gelöscht
|
||||
*[other] { $count } Seiten gelöscht
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Ihre Datei wird vorbereitet…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Datei wird hochgeladen…
|
||||
pdfjs-views-manager-status-warning-cut-label = Ausschneiden nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
|
||||
pdfjs-views-manager-status-warning-copy-label = Kopieren nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
|
||||
pdfjs-views-manager-status-warning-delete-label = Löschen nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
|
||||
pdfjs-views-manager-status-warning-save-label = Speichern nicht möglich. Aktualisieren Sie die Seite und versuchen Sie es erneut.
|
||||
pdfjs-views-manager-status-undo-button-label = Rückgängig
|
||||
pdfjs-views-manager-status-done-button-label = Fertig
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Schließen
|
||||
pdfjs-views-manager-status-close-button-label = Schließen
|
||||
pdfjs-views-manager-paste-button-label = Einfügen
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Vor der ersten Seite einfügen
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Nach Seite { $page } einfügen
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NEU
|
||||
pdfjs-views-manager-waiting-for-file = Datei wird hochgeladen…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Seiten verwalten
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Eigenschaften digitaler Signatur
|
||||
.aria-label = Eigenschaften digitaler Signatur
|
||||
pdfjs-digital-signature-properties-button-label = Eigenschaften digitaler Signatur
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokument wurde mit einer gültigen digitalen Signatur signiert
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokument signiert, aber { $count } digitale Signatur konnte nicht verifiziert werden
|
||||
*[other] Dokument signiert, aber { $count } digitale Signaturen konnten nicht verifiziert werden
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokument mit { $count } Zertifikat signiert, das nicht vertrauenswürdig ist
|
||||
*[other] Dokument mit { $count } Zertifikaten signiert, die nicht vertrauenswürdig sind
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokument mit { $count } abgelaufenen Zertifikat signiert
|
||||
*[other] Dokument mit { $count } abgelaufenen Zertifikaten signiert
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokument hat { $count } ungültige digitale Signatur
|
||||
*[other] Dokument hat { $count } ungültige digitale Signaturen
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokument mit { $count } gesperrten Zertifikat signiert
|
||||
*[other] Dokument mit { $count } gesperrten Zertifikaten signiert
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: Signatur überprüft
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: Signatur ungültig
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: Verifizieren nicht möglich (nicht unterstützt)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Zertifikat: Vertrauenswürdig ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Zertifikat: Nicht verfügbar
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Zertifikat: Nicht vertrauenswürdig
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Zertifikat: Unbekannter Aussteller ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Zertifikat: Selbstsigniert ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Zertifikat: Nicht vertrauenswürdiger Aussteller ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Zertifikat: Abgelaufen
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Zertifikat: Abgelaufen ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Zertifikat: Widerrufen
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
.title = Gespeicherte Unterschrift entfernen
|
||||
pdfjs-editor-delete-signature-button-label1 = Gespeicherte Unterschrift entfernen
|
||||
.title = Gespeicherte Signatur entfernen
|
||||
pdfjs-editor-delete-signature-button-label1 = Gespeicherte Signatur entfernen
|
||||
|
||||
## Editor toolbar
|
||||
|
||||
|
||||
@ -153,29 +153,6 @@ pdfjs-document-properties-linearized = Fast Web View:
|
||||
pdfjs-document-properties-linearized-yes = Jo
|
||||
pdfjs-document-properties-linearized-no = Ně
|
||||
pdfjs-document-properties-close-button = Zacyniś
|
||||
pdfjs-digital-signature-properties-view-certificate = Certifikat pokazaś
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Pśicyna: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Casowy kołk: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] { $count } pódsignatura
|
||||
[two] { $count } pódsignaturje
|
||||
[few] { $count } pódsignatury
|
||||
*[other] { $count } pódsignaturow
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -190,10 +167,10 @@ pdfjs-printing-not-ready = Warnowanje: PDF njejo se za śišćanje dopołnje zac
|
||||
## Tooltips and alt text for side panel toolbar buttons
|
||||
|
||||
pdfjs-toggle-sidebar-button =
|
||||
.title = Bocnicu pokazaś/schowaś
|
||||
.title = Bócnicu pokazaś/schowaś
|
||||
pdfjs-toggle-sidebar-notification-button =
|
||||
.title = Bocnicu pśešaltowaś (dokument rozrědowanje/pśipiski/warstwy wopśimujo)
|
||||
pdfjs-toggle-sidebar-button-label = Bocnicu pokazaś/schowaś
|
||||
pdfjs-toggle-sidebar-button-label = Bócnicu pokazaś/schowaś
|
||||
pdfjs-document-outline-button =
|
||||
.title = Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali)
|
||||
pdfjs-document-outline-button-label = Dokumentowa struktura
|
||||
@ -224,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura boka { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Bok { $page } wubraś
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Bok { $page } z { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -421,9 +389,9 @@ pdfjs-editor-comments-sidebar-title =
|
||||
*[other] { $count } komentarow
|
||||
}
|
||||
pdfjs-editor-comments-sidebar-close-button =
|
||||
.title = Bocnicu zacyniś
|
||||
.aria-label = Bocnicu zacyniś
|
||||
pdfjs-editor-comments-sidebar-close-button-label = Bocnicu zacyniś
|
||||
.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
|
||||
@ -572,7 +540,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Komentar jo se wótwónoźeł
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -674,181 +641,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Pśetergnuś
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Komentar pśidaś
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Bocnicu pśešaltowaś (dokument miniatury/rozrědowanje/pśipiski/warstwy wopśimujo)
|
||||
pdfjs-toggle-views-manager-button1-label = Boki zastojaś
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Bocnica
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Pśiměrjenje wjelikosći bocnice
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Naglědy
|
||||
pdfjs-views-manager-view-selector-button-label = Naglědy
|
||||
pdfjs-views-manager-pages-title = Boki
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentowa struktura
|
||||
.title = Dokumentowa struktura (klikniśo dwójcy, aby wšykne zapiski pokazał/schował)
|
||||
pdfjs-views-manager-attachments-title = Pśidanki
|
||||
pdfjs-views-manager-layers-title1 = Rowniny
|
||||
.title = Rowniny (klikniśo dwójcy, aby wšykne rowniny na standardny status slědk stajił)
|
||||
pdfjs-views-manager-pages-option-label = Boki
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentowa struktura
|
||||
pdfjs-views-manager-attachments-option-label = Pśidanki
|
||||
pdfjs-views-manager-layers-option-label = Rowniny
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Dataju pśidaś
|
||||
pdfjs-views-manager-add-file-button-label = Dataju pśidaś
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } wubrany
|
||||
[two] { $count } wubranej
|
||||
[few] { $count } wubrane
|
||||
*[other] { $count } wubrane
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Boki wubraś
|
||||
pdfjs-views-manager-pages-status-action-button-label = Zastojaś
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopěrowaś
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Wurězaś
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Lašowaś
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Wubrane eksportěrowaś…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] { $count } bok wurězany
|
||||
[two] { $count } boka wurězanej
|
||||
[few] { $count } boki wurězane
|
||||
*[other] { $count } bokow wurězane
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] { $count } bok kopěrowany
|
||||
[two] { $count } boka kopěrowanej
|
||||
[few] { $count } boki kopěrowane
|
||||
*[other] { $count } bokow kopěrowane
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] { $count } bok wulašowany
|
||||
[two] { $count } boka wulašowanej
|
||||
[few] { $count } boki wulašowane
|
||||
*[other] { $count } bokow wulašowane
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Waša dataja se pśigótujo…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Dataja se nagrawa…
|
||||
pdfjs-views-manager-status-warning-cut-label = Njedajo se wurězaś. Aktualizěrujśo bok a wopytajśo hyšći raz.
|
||||
pdfjs-views-manager-status-warning-copy-label = Njedajo se kopěrowaś. Aktualizěrujśo bok a wopytajśo hyšći raz.
|
||||
pdfjs-views-manager-status-warning-delete-label = Njedajo se lašowaś. Aktualizěrujśo bok a wopytajśo hyšći raz.
|
||||
pdfjs-views-manager-status-warning-save-label = Njedajo se składowaś. Aktualizěrujśo bok a wopytajśo hyšći raz.
|
||||
pdfjs-views-manager-status-undo-button-label = Anulěrowaś
|
||||
pdfjs-views-manager-status-done-button-label = Dokóńcony
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Zacyniś
|
||||
pdfjs-views-manager-status-close-button-label = Zacyniś
|
||||
pdfjs-views-manager-paste-button-label = Zasajźiś
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Pśed prědnym bokom zasajźiś
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Za bokom { $page } zasajźiś
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOWY
|
||||
pdfjs-views-manager-waiting-for-file = Dataja se nagrawa…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Boki zastojaś
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Kakosći digitalneje signatury
|
||||
.aria-label = Kakosći digitalneje signatury
|
||||
pdfjs-digital-signature-properties-button-label = Kakosći digitalneje signatury
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokument jo se signěrował z płaśiweju digitalneju signaturu
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokument jo se signěrował, ale { $count } digitalna signatura njedajo se wobkšuśiś
|
||||
[two] Dokument jo se signěrował, ale { $count } digitalnej signaturje njedajotej se wobkšuśiś
|
||||
[few] Dokument jo se signěrował, ale { $count } digitalne signatury njedaju se wobkšuśiś
|
||||
*[other] Dokument jo se signěrował, ale { $count } digitalnych signaturow njedajo se wobkšuśiś
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokument jo z { $count } certifikatom signěrowany, kótaryž njejo dowěry gódny
|
||||
[two] Dokument jo z { $count } certifikatoma signěrowany, kótarejž njejstej dowěry gódnej
|
||||
[few] Dokument jo z { $count } certifikatami signěrowany, kótarež njejsu dowěry gódne
|
||||
*[other] Dokument jo z { $count } certifikatami signěrowany, kótarež njejsu dowěry gódne
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokument jo z { $count } spadnjonym certifikatom signěrowany
|
||||
[two] Dokument jo z { $count } spadnjonyma certifikatoma signěrowany
|
||||
[few] Dokument jo z { $count } spadnjonymi certifikatami signěrowany
|
||||
*[other] Dokument jo z { $count } spadnjonymi certifikatami signěrowany
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokument ma { $count } njepłaśiwu digitalnu signaturu
|
||||
[two] Dokument ma { $count } njepłaśiwej digitalnej signaturje
|
||||
[few] Dokument ma { $count } njepłaśiwe digitalne signatury
|
||||
*[other] Dokument ma { $count } njepłaśiwych digitalnych signaturow
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokument jo z { $count } wótwołanym certifikatom signěrowany
|
||||
[two] Dokument jo z { $count } wótwołanyma certifikatoma signěrowany
|
||||
[few] Dokument jo z { $count } wótwołanymi certifikatami signěrowany
|
||||
*[other] Dokument jo z { $count } wótwołanymi certifikatami signěrowany
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: Signatura jo wobkšuśona
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: Signatura jo njepłaśiwa
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: Njedajo se wobkšuśiś (njepódpěra se)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certifikat: Dowěry gódny ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certifikat: Nic k dispoziciji
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certifikat: Dowěry njegódny
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certifikat: Njeznaty wudawaŕ ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certifikat: Samsigněrowany ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certifikat: Dowěry njegódny wudawaŕ ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certifikat: Spadnjony
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certifikat: Spadnjony ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certifikat: Wótwołany
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Ταχεία προβολή ιστού:
|
||||
pdfjs-document-properties-linearized-yes = Ναι
|
||||
pdfjs-document-properties-linearized-no = Όχι
|
||||
pdfjs-document-properties-close-button = Κλείσιμο
|
||||
pdfjs-digital-signature-properties-view-certificate = Προβολή πιστοποιητικού
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Αιτία: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Χρονοσήμανση: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Δευτερεύουσα υπογραφή ({ $count })
|
||||
*[other] Δευτερεύουσες υπογραφές ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Μικρογραφία σελίδας { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Επιλογή σελίδας { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Σελίδα { $page } από { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Το κείμενο αφαιρέθηκ
|
||||
pdfjs-editor-undo-bar-message-ink = Το σχέδιο αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-stamp = Η εικόνα αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-signature = Η υπογραφή αφαιρέθηκε
|
||||
pdfjs-editor-undo-bar-message-comment = Το σχόλιο αφαιρέθηκε
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Ακύρωση
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Προσθήκη σχολίου
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = (Απ)ενεργοποίηση πλαϊνής γραμμής (το έγγραφο περιέχει μικρογραφίες/περίγραμμα/συνημμένα/επίπεδα)
|
||||
pdfjs-toggle-views-manager-button1-label = Διαχείριση σελίδων
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Πλαϊνή γραμμή
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Αλλαγή μεγέθους πλαϊνής γραμμής
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Προβολές
|
||||
pdfjs-views-manager-view-selector-button-label = Προβολές
|
||||
pdfjs-views-manager-pages-title = Σελίδες
|
||||
pdfjs-views-manager-outlines-title1 = Διάρθρωση εγγράφου
|
||||
.title = Διάρθρωση εγγράφου (διπλό κλικ για ανάπτυξη/σύμπτυξη όλων των στοιχείων)
|
||||
pdfjs-views-manager-attachments-title = Συνημμένα
|
||||
pdfjs-views-manager-layers-title1 = Επίπεδα
|
||||
.title = Επίπεδα (διπλό κλικ για επαναφορά όλων των επιπέδων στην προεπιλεγμένη κατάσταση)
|
||||
pdfjs-views-manager-pages-option-label = Σελίδες
|
||||
pdfjs-views-manager-outlines-option-label = Διάρθρωση εγγράφου
|
||||
pdfjs-views-manager-attachments-option-label = Συνημμένα
|
||||
pdfjs-views-manager-layers-option-label = Επίπεδα
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Προσθήκη αρχείου
|
||||
pdfjs-views-manager-add-file-button-label = Προσθήκη αρχείου
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } επιλεγμένη
|
||||
*[other] { $count } επιλεγμένες
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Επιλογή σελίδων
|
||||
pdfjs-views-manager-pages-status-action-button-label = Διαχείριση
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Αντιγραφή
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Αποκοπή
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Διαγραφή
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Εξαγωγή επιλεγμένων…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] Αποκόπηκε 1 σελίδα
|
||||
*[other] Αποκόπηκαν { $count } σελίδες
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] Αντιγράφηκε 1 σελίδα
|
||||
*[other] Αντιγράφηκαν { $count } σελίδες
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] Διαγράφηκε 1 σελίδα
|
||||
*[other] Διαγράφηκαν { $count } σελίδες
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Προετοιμασία αρχείου…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Μεταφόρτωση αρχείου…
|
||||
pdfjs-views-manager-status-warning-cut-label = Δεν ήταν δυνατή η αποκοπή. Ανανεώστε τη σελίδα και δοκιμάστε ξανά.
|
||||
pdfjs-views-manager-status-warning-copy-label = Δεν ήταν δυνατή η αντιγραφή. Ανανεώστε τη σελίδα και δοκιμάστε ξανά.
|
||||
pdfjs-views-manager-status-warning-delete-label = Δεν ήταν δυνατή η διαγραφή. Ανανεώστε τη σελίδα και δοκιμάστε ξανά.
|
||||
pdfjs-views-manager-status-warning-save-label = Δεν ήταν δυνατή η αποθήκευση. Ανανεώστε τη σελίδα και δοκιμάστε ξανά.
|
||||
pdfjs-views-manager-status-undo-button-label = Αναίρεση
|
||||
pdfjs-views-manager-status-done-button-label = Τέλος
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Κλείσιμο
|
||||
pdfjs-views-manager-status-close-button-label = Κλείσιμο
|
||||
pdfjs-views-manager-paste-button-label = Επικόλληση
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Επικόλληση πριν από την πρώτη σελίδα
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Επικόλληση μετά τη σελίδα { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = ΝΕΟ
|
||||
pdfjs-views-manager-waiting-for-file = Μεταφόρτωση αρχείου…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Διαχείριση σελίδων
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Ιδιότητες ψηφιακής υπογραφής
|
||||
.aria-label = Ιδιότητες ψηφιακής υπογραφής
|
||||
pdfjs-digital-signature-properties-button-label = Ιδιότητες ψηφιακής υπογραφής
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Το έγγραφο έχει υπογραφεί με έγκυρη ψηφιακή υπογραφή
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Το έγγραφο έχει υπογραφεί, αλλά δεν ήταν δυνατή η επαλήθευση { $count } ψηφιακής υπογραφής
|
||||
*[other] Το έγγραφο έχει υπογραφεί, αλλά δεν ήταν δυνατή η επαλήθευση { $count } ψηφιακών υπογραφών
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Το έγγραφο έχει υπογραφεί με { $count } πιστοποιητικό που δεν είναι αξιόπιστο
|
||||
*[other] Το έγγραφο έχει υπογραφεί με { $count } πιστοποιητικά που δεν είναι αξιόπιστα
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Το έγγραφο έχει υπογραφεί με { $count } ληγμένο πιστοποιητικό
|
||||
*[other] Το έγγραφο έχει υπογραφεί με { $count } ληγμένα πιστοποιητικά
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Το έγγραφο διαθέτει { $count } μη έγκυρη ψηφιακή υπογραφή
|
||||
*[other] Το έγγραφο διαθέτει { $count } μη έγκυρες ψηφιακές υπογραφές
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Το έγγραφο έχει υπογραφεί με { $count } ανακληθέν πιστοποιητικό
|
||||
*[other] Το έγγραφο έχει υπογραφεί με { $count } ανακληθέντα πιστοποιητικά
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Κατάσταση: Επαληθευμένη υπογραφή
|
||||
pdfjs-digital-signature-properties-status-invalid = Κατάσταση: Μη έγκυρη υπογραφή
|
||||
pdfjs-digital-signature-properties-status-unknown = Κατάσταση: Αδυναμία επαλήθευσης (δεν υποστηρίζεται)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Πιστοποιητικό: Έμπιστο ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Πιστοποιητικό: Μη διαθέσιμο
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Πιστοποιητικό: Μη αξιόπιστο
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Πιστοποιητικό: Άγνωστος εκδότης ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Πιστοποιητικό: Αυτοϋπογεγραμμένο ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Πιστοποιητικό: Μη αξιόπιστος εκδότης ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Πιστοποιητικό: Έχει λήξει
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Πιστοποιητικό: Έχει λήξει ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Πιστοποιητικό: Έχει ανακληθεί
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -201,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Thumbnail of Page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Select page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Page { $page } of { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -543,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Text removed
|
||||
pdfjs-editor-undo-bar-message-ink = Drawing removed
|
||||
pdfjs-editor-undo-bar-message-stamp = Image removed
|
||||
pdfjs-editor-undo-bar-message-signature = Signature removed
|
||||
pdfjs-editor-undo-bar-message-comment = Comment removed
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -643,95 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancel
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Add comment
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Toggle Sidebar (document contains thumbnails/outline/attachments/layers)
|
||||
pdfjs-toggle-views-manager-button1-label = Manage pages
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidebar
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Sidebar resizer
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Views
|
||||
pdfjs-views-manager-view-selector-button-label = Views
|
||||
pdfjs-views-manager-pages-title = Pages
|
||||
pdfjs-views-manager-outlines-title1 = Document outline
|
||||
.title = Document outline (double-click to expand/collapse all items)
|
||||
pdfjs-views-manager-attachments-title = Attachments
|
||||
pdfjs-views-manager-layers-title1 = Layers
|
||||
.title = Layers (double-click to reset all layers to the default state)
|
||||
pdfjs-views-manager-pages-option-label = Pages
|
||||
pdfjs-views-manager-outlines-option-label = Document outline
|
||||
pdfjs-views-manager-attachments-option-label = Attachments
|
||||
pdfjs-views-manager-layers-option-label = Layers
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Add file
|
||||
pdfjs-views-manager-add-file-button-label = Add file
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } selected
|
||||
*[other] { $count } selected
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Select pages
|
||||
pdfjs-views-manager-pages-status-action-button-label = Manage
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copy
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cut
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Delete
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Export selected…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 page cut
|
||||
*[other] { $count } pages cut
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 page copied
|
||||
*[other] { $count } pages copied
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 page deleted
|
||||
*[other] { $count } pages deleted
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Getting your file ready…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Uploading file…
|
||||
pdfjs-views-manager-status-warning-cut-label = Couldn’t cut. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-copy-label = Couldn’t copy. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-delete-label = Couldn’t delete. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-save-label = Couldn’t save. Refresh page and try again.
|
||||
pdfjs-views-manager-status-undo-button-label = Undo
|
||||
pdfjs-views-manager-status-done-button-label = Done
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Close
|
||||
pdfjs-views-manager-status-close-button-label = Close
|
||||
pdfjs-views-manager-paste-button-label = Paste
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Paste before the first page
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Paste after page { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NEW
|
||||
pdfjs-views-manager-waiting-for-file = Uploading file…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Manage pages
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Fast Web View:
|
||||
pdfjs-document-properties-linearized-yes = Yes
|
||||
pdfjs-document-properties-linearized-no = No
|
||||
pdfjs-document-properties-close-button = Close
|
||||
pdfjs-digital-signature-properties-view-certificate = View certificate
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Reason: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Timestamp: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Sub-signature ({ $count })
|
||||
*[other] Sub-signatures ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Thumbnail of Page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Select page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Page { $page } of { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Text removed
|
||||
pdfjs-editor-undo-bar-message-ink = Drawing removed
|
||||
pdfjs-editor-undo-bar-message-stamp = Image removed
|
||||
pdfjs-editor-undo-bar-message-signature = Signature removed
|
||||
pdfjs-editor-undo-bar-message-comment = Comment removed
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancel
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Add comment
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Toggle Sidebar (document contains thumbnails/outline/attachments/layers)
|
||||
pdfjs-toggle-views-manager-button1-label = Manage pages
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidebar
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Sidebar resizer
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Views
|
||||
pdfjs-views-manager-view-selector-button-label = Views
|
||||
pdfjs-views-manager-pages-title = Pages
|
||||
pdfjs-views-manager-outlines-title1 = Document outline
|
||||
.title = Document outline (double-click to expand/collapse all items)
|
||||
pdfjs-views-manager-attachments-title = Attachments
|
||||
pdfjs-views-manager-layers-title1 = Layers
|
||||
.title = Layers (double-click to reset all layers to the default state)
|
||||
pdfjs-views-manager-pages-option-label = Pages
|
||||
pdfjs-views-manager-outlines-option-label = Document outline
|
||||
pdfjs-views-manager-attachments-option-label = Attachments
|
||||
pdfjs-views-manager-layers-option-label = Layers
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Add file
|
||||
pdfjs-views-manager-add-file-button-label = Add file
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } selected
|
||||
*[other] { $count } selected
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Select pages
|
||||
pdfjs-views-manager-pages-status-action-button-label = Manage
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copy
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cut
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Delete
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Export selected…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 page cut
|
||||
*[other] { $count } pages cut
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 page copied
|
||||
*[other] { $count } pages copied
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 page deleted
|
||||
*[other] { $count } pages deleted
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Getting your file ready…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Uploading file…
|
||||
pdfjs-views-manager-status-warning-cut-label = Couldn’t cut. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-copy-label = Couldn’t copy. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-delete-label = Couldn’t delete. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-save-label = Couldn’t save. Refresh page and try again.
|
||||
pdfjs-views-manager-status-undo-button-label = Undo
|
||||
pdfjs-views-manager-status-done-button-label = Done
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Close
|
||||
pdfjs-views-manager-status-close-button-label = Close
|
||||
pdfjs-views-manager-paste-button-label = Paste
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Paste before the first page
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Paste after page { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NEW
|
||||
pdfjs-views-manager-waiting-for-file = Uploading file…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Manage pages
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Digital signature properties
|
||||
.aria-label = Digital signature properties
|
||||
pdfjs-digital-signature-properties-button-label = Digital signature properties
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Document was signed with a valid digital signature
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Document signed but { $count } digital signature could not be verified
|
||||
*[other] Document signed but { $count } digital signatures could not be verified
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } certificate that is not trusted
|
||||
*[other] Document signed with { $count } certificates that are not trusted
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } expired certificate
|
||||
*[other] Document signed with { $count } expired certificates
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Document has { $count } invalid digital signature
|
||||
*[other] Document has { $count } invalid digital signatures
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } revoked certificate
|
||||
*[other] Document signed with { $count } revoked certificates
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: Signature verified
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: Signature invalid
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: Unable to verify (unsupported)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certificate: Trusted ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certificate: Unavailable
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certificate: Untrusted
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificate: Unknown issuer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificate: Self-signed ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificate: Untrusted issuer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certificate: Expired
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certificate: Expired ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certificate: Revoked
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -192,20 +192,14 @@ pdfjs-additional-layers = Additional Layers
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Page { $page } of { $total }
|
||||
pdfjs-thumb-page-title =
|
||||
.title = Page { $page }
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Thumbnail of Page { $page }
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Select page { $page }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
pdfjs-find-input =
|
||||
@ -538,6 +532,15 @@ pdfjs-editor-alt-text-settings-automatic-title = Automatic alt text
|
||||
pdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically
|
||||
pdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.
|
||||
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)
|
||||
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Delete
|
||||
pdfjs-editor-alt-text-settings-download-model-button = Download
|
||||
pdfjs-editor-alt-text-settings-downloading-model-button = Downloading…
|
||||
|
||||
pdfjs-editor-alt-text-settings-editor-title = Alt text editor
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.
|
||||
@ -558,7 +561,6 @@ pdfjs-editor-undo-bar-message-freetext = Text removed
|
||||
pdfjs-editor-undo-bar-message-ink = Drawing removed
|
||||
pdfjs-editor-undo-bar-message-stamp = Image removed
|
||||
pdfjs-editor-undo-bar-message-signature = Signature removed
|
||||
pdfjs-editor-undo-bar-message-comment = Comment removed
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -691,25 +693,21 @@ pdfjs-editor-add-comment-button =
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Manage pages
|
||||
pdfjs-toggle-views-manager-button =
|
||||
.title = Toggle Sidebar
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Toggle Sidebar (document contains thumbnails/outline/attachments/layers)
|
||||
pdfjs-toggle-views-manager-button1-label = Manage pages
|
||||
pdfjs-toggle-views-manager-button-label = Toggle Sidebar
|
||||
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidebar
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Sidebar resizer
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Views
|
||||
pdfjs-views-manager-view-selector-button-label = Views
|
||||
pdfjs-views-manager-pages-title = Pages
|
||||
pdfjs-views-manager-outlines-title1 = Document outline
|
||||
.title = Document outline (double-click to expand/collapse all items)
|
||||
pdfjs-views-manager-outlines-title = Document outline
|
||||
pdfjs-views-manager-attachments-title = Attachments
|
||||
pdfjs-views-manager-layers-title1 = Layers
|
||||
.title = Layers (double-click to reset all layers to the default state)
|
||||
pdfjs-views-manager-layers-title = Layers
|
||||
|
||||
pdfjs-views-manager-pages-option-label = Pages
|
||||
pdfjs-views-manager-outlines-option-label = Document outline
|
||||
@ -732,7 +730,7 @@ pdfjs-views-manager-pages-status-action-button-label = Manage
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copy
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cut
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Delete
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Export selected…
|
||||
pdfjs-views-manager-pages-status-save-as-button-label = Save as…
|
||||
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
@ -766,115 +764,6 @@ pdfjs-views-manager-status-warning-copy-label = Couldn’t copy. Refresh page an
|
||||
pdfjs-views-manager-status-warning-delete-label = Couldn’t delete. Refresh page and try again.
|
||||
pdfjs-views-manager-status-warning-save-label = Couldn’t save. Refresh page and try again.
|
||||
pdfjs-views-manager-status-undo-button-label = Undo
|
||||
pdfjs-views-manager-status-done-button-label = Done
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Close
|
||||
pdfjs-views-manager-status-close-button-label = Close
|
||||
|
||||
pdfjs-views-manager-paste-button-label = Paste
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Paste before the first page
|
||||
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Paste after page { $page }
|
||||
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NEW
|
||||
|
||||
pdfjs-views-manager-waiting-for-file = Uploading file…
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Digital signature properties
|
||||
.aria-label = Digital signature properties
|
||||
pdfjs-digital-signature-properties-button-label = Digital signature properties
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Document was signed with a valid digital signature
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Document signed but { $count } digital signature could not be verified
|
||||
*[other] Document signed but { $count } digital signatures could not be verified
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } certificate that is not trusted
|
||||
*[other] Document signed with { $count } certificates that are not trusted
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } expired certificate
|
||||
*[other] Document signed with { $count } expired certificates
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Document has { $count } invalid digital signature
|
||||
*[other] Document has { $count } invalid digital signatures
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Document signed with { $count } revoked certificate
|
||||
*[other] Document signed with { $count } revoked certificates
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: Signature verified
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: Signature invalid
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: Unable to verify (unsupported)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certificate: Trusted ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certificate: Unavailable
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certificate: Untrusted
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificate: Unknown issuer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificate: Self-signed ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificate: Untrusted issuer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certificate: Expired
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certificate: Expired ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certificate: Revoked
|
||||
|
||||
##
|
||||
|
||||
pdfjs-digital-signature-properties-view-certificate = View certificate
|
||||
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Reason: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Timestamp: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Sub-signature ({ $count })
|
||||
*[other] Sub-signatures ({ $count })
|
||||
}
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Rapida tekstaĵa vido:
|
||||
pdfjs-document-properties-linearized-yes = Jes
|
||||
pdfjs-document-properties-linearized-no = Ne
|
||||
pdfjs-document-properties-close-button = Fermi
|
||||
pdfjs-digital-signature-properties-view-certificate = Vidi atestilon
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Kialo: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Tempindiko: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Duaranga subskribo ({ $count })
|
||||
*[other] Duarangaj subskriboj ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniaturo de paĝo { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Elekti paĝon { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Paĝo { $page } el { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -244,7 +214,7 @@ pdfjs-find-next-button =
|
||||
.title = Serĉi la venontan aperon de la frazo
|
||||
pdfjs-find-next-button-label = Antaŭen
|
||||
pdfjs-find-highlight-checkbox = Elstarigi ĉiujn
|
||||
pdfjs-find-match-case-checkbox-label = Distingi usklecon
|
||||
pdfjs-find-match-case-checkbox-label = Distingi inter majuskloj kaj minuskloj
|
||||
pdfjs-find-match-diacritics-checkbox-label = Respekti supersignojn
|
||||
pdfjs-find-entire-word-checkbox-label = Tutaj vortoj
|
||||
pdfjs-find-reached-top = Komenco de la dokumento atingita, daŭrigado ekde la fino
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Teksto forigita
|
||||
pdfjs-editor-undo-bar-message-ink = Desegno forigita
|
||||
pdfjs-editor-undo-bar-message-stamp = Bildo forigita
|
||||
pdfjs-editor-undo-bar-message-signature = Subskribo forigita
|
||||
pdfjs-editor-undo-bar-message-comment = Komento forigita
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Nuligi
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Aldoni komenton
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Montri/kaŝi flankan strion (la dokumento enhavas miniaturojn/konturon/kunsendaĵojn/tavolojn)
|
||||
pdfjs-toggle-views-manager-button1-label = Administri paĝojn
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Flanka strio
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Dimensiigilo por la flanka strio
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vidoj
|
||||
pdfjs-views-manager-view-selector-button-label = Vidoj
|
||||
pdfjs-views-manager-pages-title = Paĝoj
|
||||
pdfjs-views-manager-outlines-title1 = Konturo de dokumento
|
||||
.title = Konturo de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn)
|
||||
pdfjs-views-manager-attachments-title = Kunsendaĵoj
|
||||
pdfjs-views-manager-layers-title1 = Tavoloj
|
||||
.title = Tavoloj (alklaku duoble por ke ĉiuj tavoloj reiru al la norma stato)
|
||||
pdfjs-views-manager-pages-option-label = Paĝoj
|
||||
pdfjs-views-manager-outlines-option-label = Konturo de dokumento
|
||||
pdfjs-views-manager-attachments-option-label = Kunsendaĵoj
|
||||
pdfjs-views-manager-layers-option-label = Tavoloj
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Aldoni dosieron
|
||||
pdfjs-views-manager-add-file-button-label = Aldoni dosieron
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } elektita
|
||||
*[other] { $count } elektitaj
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Elekti paĝojn
|
||||
pdfjs-views-manager-pages-status-action-button-label = Administri
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopii
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Eltondi
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Forigi
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Eksporti elektitajn…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 paĝo eltondita
|
||||
*[other] { $count } paĝoj eltonditaj
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 paĝo kopiita
|
||||
*[other] { $count } paĝoj kopiitaj
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 paĝo forigita
|
||||
*[other] { $count } paĝoj forigitaj
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Pretigo de via dosiero…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Dosiero alŝutata…
|
||||
pdfjs-views-manager-status-warning-cut-label = Ne eblis eltondi. Refreŝigu la paĝon kaj provu denove.
|
||||
pdfjs-views-manager-status-warning-copy-label = Ne eblis kopii. Refreŝigu la paĝon kaj provu denove.
|
||||
pdfjs-views-manager-status-warning-delete-label = Ne eblis forigi. Refreŝigu la paĝon kaj provu denove.
|
||||
pdfjs-views-manager-status-warning-save-label = Ne eblis konservi. Refreŝigu la paĝon kaj provu denove.
|
||||
pdfjs-views-manager-status-undo-button-label = Malfari
|
||||
pdfjs-views-manager-status-done-button-label = Farita
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Fermi
|
||||
pdfjs-views-manager-status-close-button-label = Fermi
|
||||
pdfjs-views-manager-paste-button-label = Alglui
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Alglui antaŭ la unua paĝo
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Alglui post la paĝo { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOVA
|
||||
pdfjs-views-manager-waiting-for-file = Dosiero alŝutata…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Administri paĝojn
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Atributoj de cifereca subskribo
|
||||
.aria-label = Atributoj de cifereca subskribo
|
||||
pdfjs-digital-signature-properties-button-label = Atributoj de cifereca subskribo
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = La dokumento estis subskribita de valida cifereca subskribo
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokumento subskribita, tamen { $count } cifereca subskribo ne povis esti kontrolita
|
||||
*[other] Dokumento subskribita, tamen { $count } ciferecaj subskriboj ne povis esti kontrolita
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokumento subskribita de { $count } nefidata atestilo
|
||||
*[other] Dokumento subskribita de { $count } nefidataj atestiloj
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokumento subskribita de { $count } senvalidiĝinta atestilo
|
||||
*[other] Dokumento subskribita de { $count } senvalidiĝintaj atestiloj
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] La dokumento havas { $count } nevalidan ciferecan subskribon
|
||||
*[other] La dokumento havas { $count } nevalidajn ciferecajn subskribojn
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokumento subskribita de { $count } senvalidigita atestilo
|
||||
*[other] Dokumento subskribita de { $count } senvalidigitaj atestiloj
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Stato: Subskribo kontrolita
|
||||
pdfjs-digital-signature-properties-status-invalid = Stato: Subskribo nevalida
|
||||
pdfjs-digital-signature-properties-status-unknown = Stato: Ne eblas kontroli (nesubtenata)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Atestilo: Fidata ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Atestilo: Nedisponebla
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Atestilo: Ne fidata
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Atestilo: Nekonata eldoninto ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Atestilo: Memsubskribita ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Atestilo: Nefidata eldoninto ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Atestilo: Senvalidiĝinta
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Atestilo: Senvalidiĝinta ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Atestilo: Senvalidigita
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Vista rápida de la Web:
|
||||
pdfjs-document-properties-linearized-yes = Sí
|
||||
pdfjs-document-properties-linearized-no = No
|
||||
pdfjs-document-properties-close-button = Cerrar
|
||||
pdfjs-digital-signature-properties-view-certificate = Ver certificado
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Razón: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Fecha: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Subfirma ({ $count })
|
||||
*[other] Subfirmas ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura de página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Seleccionar página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Página { $page } de { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Texto eliminado
|
||||
pdfjs-editor-undo-bar-message-ink = Dibujo eliminado
|
||||
pdfjs-editor-undo-bar-message-stamp = Imagen eliminado
|
||||
pdfjs-editor-undo-bar-message-signature = Firma eliminada
|
||||
pdfjs-editor-undo-bar-message-comment = Comentario eliminado
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancelar
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Agregar comentario
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Alternar barra lateral (el documento contiene miniaturas/esquemas/adjuntos/capas)
|
||||
pdfjs-toggle-views-manager-button1-label = Administrar páginas
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Barra lateral
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Redimensionador de barra lateral
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vistas
|
||||
pdfjs-views-manager-view-selector-button-label = Vistas
|
||||
pdfjs-views-manager-pages-title = Páginas
|
||||
pdfjs-views-manager-outlines-title1 = Esquema del documento
|
||||
.title = Esquema del documento (doble clic para expandir/colapsar todos los ítems)
|
||||
pdfjs-views-manager-attachments-title = Adjuntos
|
||||
pdfjs-views-manager-layers-title1 = Capas
|
||||
.title = Capas (doble clic para restablecer todas las cañas al estado predeterminado)
|
||||
pdfjs-views-manager-pages-option-label = Páginas
|
||||
pdfjs-views-manager-outlines-option-label = Esquema del documento
|
||||
pdfjs-views-manager-attachments-option-label = Adjuntos
|
||||
pdfjs-views-manager-layers-option-label = Capas
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Agregar archivo
|
||||
pdfjs-views-manager-add-file-button-label = Agregar archivo
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } seleccionada
|
||||
*[other] { $count } seleccionadas
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Seleccionar páginas
|
||||
pdfjs-views-manager-pages-status-action-button-label = Administrar
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copiar
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cortar
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Borrar
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exportar seleccionado…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 página cortada
|
||||
*[other] { $count } páginas cortadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 página copiada
|
||||
*[other] { $count } páginas copiadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 página borrada
|
||||
*[other] { $count } páginas borradas
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Preparando el archivo…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo el archivo…
|
||||
pdfjs-views-manager-status-warning-cut-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-copy-label = No se pudo copiar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-delete-label = No se pudo borrar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-save-label = No se pudo guardar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-undo-button-label = Deshacer
|
||||
pdfjs-views-manager-status-done-button-label = Listo
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Cerrar
|
||||
pdfjs-views-manager-status-close-button-label = Cerrar
|
||||
pdfjs-views-manager-paste-button-label = Pegar
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Pegar antes de la primera página
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Pegar después de la página { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NUEVO
|
||||
pdfjs-views-manager-waiting-for-file = Subiendo archivo…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Administrar páginas
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Propiedades de firma digital
|
||||
.aria-label = Propiedades de firma digital
|
||||
pdfjs-digital-signature-properties-button-label = Propiedades de firma digital
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = El documento fue firmado con una firma digital válida
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Documento firmado pero { $count } firma digital no pudo ser verificada
|
||||
*[other] Documento firmado pero { $count } firmas digitales no pudieron ser verificadas
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado que no es confiable
|
||||
*[other] Documento firmado con { $count } certificados que no son confiables
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado expirado
|
||||
*[other] Documento firmado con { $count } certificado expirado
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] El documento tiene { $count } firmas digital inválida
|
||||
*[other] El documento tiene { $count } firmas digitales inválidas
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado revocado
|
||||
*[other] Documento firmado con { $count } certificados revocados
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Estado: Firma verificada
|
||||
pdfjs-digital-signature-properties-status-invalid = Estado: Firma inválida
|
||||
pdfjs-digital-signature-properties-status-unknown = Estado: No se puede verificar (no soportada)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certificado: Confiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certificado: No disponible
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certificado: No confiable
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificado: Emisor desconocido ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificado: Autofirmado ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificado: Emisor no confiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certificado: Vencido
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certificado: Vencido ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certificado: Revocado
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Vista rápida en Web:
|
||||
pdfjs-document-properties-linearized-yes = Sí
|
||||
pdfjs-document-properties-linearized-no = No
|
||||
pdfjs-document-properties-close-button = Cerrar
|
||||
pdfjs-digital-signature-properties-view-certificate = Ver certificado
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Motivo: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Marca de tiempo: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Subfirma ({ $count })
|
||||
*[other] Subfirmas ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura de la página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Selecciona la página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Página { $page } de { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Texto eliminado
|
||||
pdfjs-editor-undo-bar-message-ink = Dibujo eliminado
|
||||
pdfjs-editor-undo-bar-message-stamp = Imagen eliminada
|
||||
pdfjs-editor-undo-bar-message-signature = Firma eliminada
|
||||
pdfjs-editor-undo-bar-message-comment = Comentario eliminado
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancelar
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Añadir comentario
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Cambiar barra lateral (índice de contenidos del documento/miniaturas/adjuntos/capas)
|
||||
pdfjs-toggle-views-manager-button1-label = Gestionar páginas
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Barra lateral
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Redimensionador de la barra lateral
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vistas
|
||||
pdfjs-views-manager-view-selector-button-label = Vistas
|
||||
pdfjs-views-manager-pages-title = Páginas
|
||||
pdfjs-views-manager-outlines-title1 = Esquema del documento
|
||||
.title = Esquema del documento (doble clic para expandir/contraer todos los elementos)
|
||||
pdfjs-views-manager-attachments-title = Adjuntos
|
||||
pdfjs-views-manager-layers-title1 = Capas
|
||||
.title = Capas (doble clic para restablecer todas las capas a su estado predeterminado)
|
||||
pdfjs-views-manager-pages-option-label = Páginas
|
||||
pdfjs-views-manager-outlines-option-label = Esquema del documento
|
||||
pdfjs-views-manager-attachments-option-label = Adjuntos
|
||||
pdfjs-views-manager-layers-option-label = Capas
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Añadir archivo
|
||||
pdfjs-views-manager-add-file-button-label = Añadir archivo
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } seleccionado
|
||||
*[other] { $count } seleccionados
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Seleccionar páginas
|
||||
pdfjs-views-manager-pages-status-action-button-label = Administrar
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copiar
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cortar
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Eliminar
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exportar selección…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 página cortada
|
||||
*[other] { $count } páginas cortadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 página copiada
|
||||
*[other] { $count } páginas copiadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 página eliminada
|
||||
*[other] { $count } páginas eliminadas
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Preparando tu archivo…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo archivo…
|
||||
pdfjs-views-manager-status-warning-cut-label = No se pudo cortar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-copy-label = No se pudo copiar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-delete-label = No se pudo eliminar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-save-label = No se pudo guardar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-undo-button-label = Deshacer
|
||||
pdfjs-views-manager-status-done-button-label = Hecho
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Cerrar
|
||||
pdfjs-views-manager-status-close-button-label = Cerrar
|
||||
pdfjs-views-manager-paste-button-label = Pegar
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Pegar antes de la primera página
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Pegar después de la página { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NUEVO
|
||||
pdfjs-views-manager-waiting-for-file = Subiendo archivo…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Gestionar páginas
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Propiedades de firma digital
|
||||
.aria-label = Propiedades de firma digital
|
||||
pdfjs-digital-signature-properties-button-label = Propiedades de firma digital
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = El documento fue firmado con una firma digital válida
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Documento firmado, pero no se pudo verificar la firma digital
|
||||
*[other] Documento firmado, pero no se pudieron verificar las { $count } firmas digitales
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado que no es de confianza
|
||||
*[other] Documento firmado con { $count } certificados que no son de confianza
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado expirado
|
||||
*[other] Documento firmado con { $count } certificados expirados
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] El documento tiene { $count } firma digital no válida
|
||||
*[other] El documento tiene { $count } firmas digitales no válidas
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Documento firmado con { $count } certificado revocado
|
||||
*[other] Documento firmado con { $count } certificados revocados
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Estado: Firma verificada
|
||||
pdfjs-digital-signature-properties-status-invalid = Estado: Firma inválida
|
||||
pdfjs-digital-signature-properties-status-unknown = Estado: No se puede verificar (no compatible)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certificado: Confiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certificado: No disponible
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certificado: No confiable
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificado: Emisor desconocido ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificado: Autofirmado ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificado: Emisor no confiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certificado: Expirado
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certificado: Expirado ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certificado: Revocado
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -201,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura de la página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Seleccionar página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Página { $page } de { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -543,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Texto eliminado
|
||||
pdfjs-editor-undo-bar-message-ink = Dibujo eliminado
|
||||
pdfjs-editor-undo-bar-message-stamp = Imagen eliminada
|
||||
pdfjs-editor-undo-bar-message-signature = Firma eliminada
|
||||
pdfjs-editor-undo-bar-message-comment = Comentario eliminado
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -643,95 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancelar
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Añadir comentario
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Alternar barra lateral (el documento contiene miniaturas/esquemas/adjuntos/capas)
|
||||
pdfjs-toggle-views-manager-button1-label = Administrar páginas
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Barra lateral
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Redimensionador de la barra lateral
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vistas
|
||||
pdfjs-views-manager-view-selector-button-label = Vistas
|
||||
pdfjs-views-manager-pages-title = Páginas
|
||||
pdfjs-views-manager-outlines-title1 = Esquema del documento
|
||||
.title = Esquema del documento (doble-clic para expandir/contraer todos los elementos)
|
||||
pdfjs-views-manager-attachments-title = Adjuntos
|
||||
pdfjs-views-manager-layers-title1 = Capas
|
||||
.title = Capas (doble clic para restablecer todas las capas a su estado predeterminado)
|
||||
pdfjs-views-manager-pages-option-label = Páginas
|
||||
pdfjs-views-manager-outlines-option-label = Esquema del documento
|
||||
pdfjs-views-manager-attachments-option-label = Adjuntos
|
||||
pdfjs-views-manager-layers-option-label = Capas
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Añadir archivo
|
||||
pdfjs-views-manager-add-file-button-label = Añadir archivo
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } seleccionado
|
||||
*[other] { $count } seleccionados
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Seleccionar páginas
|
||||
pdfjs-views-manager-pages-status-action-button-label = Administrar
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copiar
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cortar
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Eliminar
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exportar selección…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 página cortada
|
||||
*[other] { $count } páginas cortadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 página copiada
|
||||
*[other] { $count } páginas cortadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 página eliminada
|
||||
*[other] { $count } páginas eliminadas
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Preparando su archivo…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo el archivo…
|
||||
pdfjs-views-manager-status-warning-cut-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-copy-label = No se pudo copiar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-delete-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-warning-save-label = No se pudo cortar. Refresque la página y pruebe de nuevo.
|
||||
pdfjs-views-manager-status-undo-button-label = Deshacer
|
||||
pdfjs-views-manager-status-done-button-label = Hecho
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Cerrar
|
||||
pdfjs-views-manager-status-close-button-label = Cerrar
|
||||
pdfjs-views-manager-paste-button-label = Pegar
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Pegar antes de la primera página
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Pegar después de la página { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NUEVO
|
||||
pdfjs-views-manager-waiting-for-file = Subiendo el archivo…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Administrar páginas
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,7 +153,6 @@ pdfjs-document-properties-linearized = Vista rápida de la web:
|
||||
pdfjs-document-properties-linearized-yes = Sí
|
||||
pdfjs-document-properties-linearized-no = No
|
||||
pdfjs-document-properties-close-button = Cerrar
|
||||
pdfjs-digital-signature-properties-view-certificate = Ver certificado
|
||||
|
||||
## Print
|
||||
|
||||
@ -162,8 +161,8 @@ pdfjs-print-progress-message = Preparando documento para impresión…
|
||||
# $progress (Number) - percent value
|
||||
pdfjs-print-progress-percent = { $progress }%
|
||||
pdfjs-print-progress-close-button = Cancelar
|
||||
pdfjs-printing-not-supported = Advertencia: La impresión no está completamente soportada por este navegador.
|
||||
pdfjs-printing-not-ready = Advertencia: El PDF no cargó completamente para impresión.
|
||||
pdfjs-printing-not-supported = Advertencia: La impresión no esta completamente soportada por este navegador.
|
||||
pdfjs-printing-not-ready = Advertencia: El PDF no cargo completamente para impresión.
|
||||
|
||||
## Tooltips and alt text for side panel toolbar buttons
|
||||
|
||||
@ -202,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura de la página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Seleccionar página { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Página { $page } de { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -266,7 +256,7 @@ pdfjs-page-landmark =
|
||||
## Loading indicator messages
|
||||
|
||||
pdfjs-loading-error = Un error ocurrió al cargar el PDF.
|
||||
pdfjs-invalid-file-error = Archivo PDF inválido o dañado.
|
||||
pdfjs-invalid-file-error = Archivo PDF invalido o dañado.
|
||||
pdfjs-missing-file-error = Archivo PDF no encontrado.
|
||||
pdfjs-unexpected-response-error = Respuesta inesperada del servidor.
|
||||
pdfjs-rendering-error = Un error ocurrió al renderizar la página.
|
||||
@ -361,7 +351,7 @@ pdfjs-editor-remove-signature-button =
|
||||
pdfjs-editor-free-text-color-input = Color
|
||||
pdfjs-editor-free-text-size-input = Tamaño
|
||||
pdfjs-editor-ink-color-input = Color
|
||||
pdfjs-editor-ink-thickness-input = Grosor
|
||||
pdfjs-editor-ink-thickness-input = Grossor
|
||||
pdfjs-editor-ink-opacity-input = Opacidad
|
||||
pdfjs-editor-stamp-add-image-button =
|
||||
.title = Agregar imagen
|
||||
@ -544,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Texto eliminado
|
||||
pdfjs-editor-undo-bar-message-ink = Dibujo eliminado
|
||||
pdfjs-editor-undo-bar-message-stamp = Imagen eliminada
|
||||
pdfjs-editor-undo-bar-message-signature = Firma eliminada
|
||||
pdfjs-editor-undo-bar-message-comment = Comentario eliminado
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -581,7 +570,7 @@ pdfjs-editor-add-signature-type-input =
|
||||
.aria-label = Escribe tu firma
|
||||
.placeholder = Escribe tu firma
|
||||
pdfjs-editor-add-signature-draw-placeholder = Dibuja tu firma
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Grosor
|
||||
pdfjs-editor-add-signature-draw-thickness-range-label = Grossor
|
||||
# Variables:
|
||||
# $thickness (Number) - the thickness (in pixels) of the line used to draw a signature.
|
||||
pdfjs-editor-add-signature-draw-thickness-range =
|
||||
@ -644,95 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Cancelar
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Añadir comentario
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Cambiar barra lateral (índice de contenidos del documento/miniaturas/adjuntos/capas)
|
||||
pdfjs-toggle-views-manager-button1-label = Administrar páginas
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Barra lateral
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Cambiar tamaño de la barra lateral
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vistas
|
||||
pdfjs-views-manager-view-selector-button-label = Vistas
|
||||
pdfjs-views-manager-pages-title = Páginas
|
||||
pdfjs-views-manager-outlines-title1 = Esquema del documento
|
||||
.title = Esquema del documento (haz doble clic para expandir/contraer todos los elementos)
|
||||
pdfjs-views-manager-attachments-title = Adjuntos
|
||||
pdfjs-views-manager-layers-title1 = Capas
|
||||
.title = Capas (haz doble clic para restablecer todas las capas a su estado predeterminado)
|
||||
pdfjs-views-manager-pages-option-label = Páginas
|
||||
pdfjs-views-manager-outlines-option-label = Esquema del documento
|
||||
pdfjs-views-manager-attachments-option-label = Adjuntos
|
||||
pdfjs-views-manager-layers-option-label = Capas
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Agregar archivo
|
||||
pdfjs-views-manager-add-file-button-label = Agregar archivo
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } seleccionado
|
||||
*[other] { $count } seleccionados
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Seleccionar páginas
|
||||
pdfjs-views-manager-pages-status-action-button-label = Administrar
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copiar
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Cortar
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Eliminar
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exportar seleccionado…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 página cortada
|
||||
*[other] { $count } páginas cortadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 página copiada
|
||||
*[other] { $count } páginas copiadas
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 página eliminada
|
||||
*[other] { $count } páginas eliminadas
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Preparando tu archivo…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Subiendo archivo…
|
||||
pdfjs-views-manager-status-warning-cut-label = No se pudo cortar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-copy-label = No se pudo pegar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-delete-label = No se pudo eliminar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-warning-save-label = No se pudo guardar. Actualiza la página y vuelve a intentarlo.
|
||||
pdfjs-views-manager-status-undo-button-label = Deshacer
|
||||
pdfjs-views-manager-status-done-button-label = Hecho
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Cerrar
|
||||
pdfjs-views-manager-status-close-button-label = Cerrar
|
||||
pdfjs-views-manager-paste-button-label = Pegar
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Pegar antes de la primera página
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Pegar después de la página { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NUEVO
|
||||
pdfjs-views-manager-waiting-for-file = Subiendo archivo…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Administrar páginas
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -21,7 +21,7 @@ pdfjs-of-pages = / { $pagesCount }
|
||||
# Variables:
|
||||
# $pageNumber (Number) - the currently visible page
|
||||
# $pagesCount (Number) - the total number of pages in the document
|
||||
pdfjs-page-of-pages = ({ $pageNumber } / { $pagesCount })
|
||||
pdfjs-page-of-pages = { $pagesCount }/{ $pageNumber }
|
||||
pdfjs-zoom-out-button =
|
||||
.title = Urrundu zooma
|
||||
pdfjs-zoom-out-button-label = Urrundu zooma
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Webeko ikuspegi bizkorra:
|
||||
pdfjs-document-properties-linearized-yes = Bai
|
||||
pdfjs-document-properties-linearized-no = Ez
|
||||
pdfjs-document-properties-close-button = Itxi
|
||||
pdfjs-digital-signature-properties-view-certificate = Ikusi ziurtagiria
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Arrazoia: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Denbora-marka: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Azpi-sinadura ({ $count })
|
||||
*[other] Azpi-sinadurak ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = { $page }. orriaren koadro txikia
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Hautatu { $page } orria
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = { $page } / { $total } orria
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -254,8 +224,8 @@ pdfjs-find-reached-bottom = Dokumentuaren bukaerara heldu da, hasieratik jarrait
|
||||
# $total (Number) - the total number of matches in the document
|
||||
pdfjs-find-match-count =
|
||||
{ $total ->
|
||||
[one] { $current }/{ $total } bat-etortzea
|
||||
*[other] { $current }/{ $total } bat-etortzea
|
||||
[one] { $total }/{ $current }. bat-etortzea
|
||||
*[other] { $total }/{ $current }. bat-etortzea
|
||||
}
|
||||
# Variables:
|
||||
# $limit (Number) - the maximum number of matches
|
||||
@ -422,11 +392,11 @@ pdfjs-editor-comments-sidebar-no-comments-link = Argibide gehiago
|
||||
|
||||
## Alt-text dialog
|
||||
|
||||
pdfjs-editor-alt-text-button-label = Ordezko testua
|
||||
pdfjs-editor-alt-text-button-label = Testu alternatiboa
|
||||
pdfjs-editor-alt-text-edit-button =
|
||||
.aria-label = Editatu ordezko testua
|
||||
.aria-label = Editatu testu alternatiboa
|
||||
pdfjs-editor-alt-text-dialog-label = Aukeratu aukera
|
||||
pdfjs-editor-alt-text-dialog-description = Ordezko testuak laguntzen du jendeak ezin duenean irudia ikusi edo ez denean kargatzen.
|
||||
pdfjs-editor-alt-text-dialog-description = Testu alternatiboak laguntzen du jendeak ezin duenean irudia ikusi edo ez denean kargatzen.
|
||||
pdfjs-editor-alt-text-add-description-label = Gehitu azalpena
|
||||
pdfjs-editor-alt-text-add-description-description = Saiatu idazten gaia, ezarpena edo ekintzak deskribatzen dituen esaldi 1 edo 2.
|
||||
pdfjs-editor-alt-text-mark-decorative-label = Markatu apaingarri gisa
|
||||
@ -439,7 +409,7 @@ pdfjs-editor-alt-text-textarea =
|
||||
.placeholder = Adibidez, "gizon gaztea mahaian eserita dago bazkaltzeko"
|
||||
# Alternative text (alt text) helps when people can't see the image.
|
||||
pdfjs-editor-alt-text-button =
|
||||
.aria-label = Ordezko testua
|
||||
.aria-label = Testu alternatiboa
|
||||
|
||||
## Editor resizers
|
||||
## This is used in an aria label to help to understand the role of the resizer.
|
||||
@ -491,38 +461,38 @@ pdfjs-editor-highlight-show-all-button =
|
||||
## 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 = Editatu ordezko testua (irudiaren azalpena)
|
||||
pdfjs-editor-new-alt-text-dialog-edit-label = Editatu testu alternatiboa (irudiaren azalpena)
|
||||
# Modal header positioned above a text box where users can add the alt text.
|
||||
pdfjs-editor-new-alt-text-dialog-add-label = Gehitu ordezko testua (irudiaren azalpena)
|
||||
pdfjs-editor-new-alt-text-dialog-add-label = Gehitu testu alternatiboa (irudiaren azalpena)
|
||||
pdfjs-editor-new-alt-text-textarea =
|
||||
.placeholder = Idatzi zure azalpena hemen…
|
||||
# This text refers to the alt text box above this description. It offers a definition of alt text.
|
||||
pdfjs-editor-new-alt-text-description = Azalpen laburra irudia ikusi ezin duen jendearentzat edo irudia kargatu ezin denerako.
|
||||
# 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 = Ordezko testu hau automatikoki sortu da eta okerra izan liteke.
|
||||
pdfjs-editor-new-alt-text-disclaimer1 = Testu alternatibo hau automatikoki sortu da eta okerra izan liteke.
|
||||
pdfjs-editor-new-alt-text-disclaimer-learn-more-url = Argibide gehiago
|
||||
pdfjs-editor-new-alt-text-create-automatically-button-label = Sortu ordezko testua automatikoki
|
||||
pdfjs-editor-new-alt-text-create-automatically-button-label = Sortu testu alternatiboa automatikoki
|
||||
pdfjs-editor-new-alt-text-not-now-button = Une honetan ez
|
||||
pdfjs-editor-new-alt-text-error-title = Ezin da ordezko testua automatikoki sortu
|
||||
pdfjs-editor-new-alt-text-error-description = Idatzi zure ordezko testu propioa edo saiatu berriro geroago.
|
||||
pdfjs-editor-new-alt-text-error-title = Ezin da testu alternatiboa automatikoki sortu
|
||||
pdfjs-editor-new-alt-text-error-description = Idatzi zure testu alternatibo propioa edo saiatu berriro geroago.
|
||||
pdfjs-editor-new-alt-text-error-close-button = Itxi
|
||||
# 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 = Ordezko testuaren AA modeloa deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
|
||||
.aria-valuetext = Ordezko testuaren AA modeloa deskargatzen ({ $downloadedSize }/{ $totalSize } MB)
|
||||
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Testu alternatiboaren AA modeloa deskargatzen ({ $totalSize }/{ $downloadedSize } MB)
|
||||
.aria-valuetext = Testu alternatiboaren AA modeloa deskargatzen ({ $totalSize }/{ $downloadedSize } 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 = Ordezko testua gehituta
|
||||
pdfjs-editor-new-alt-text-added-button-label = Ordezko testua gehituta
|
||||
.aria-label = Testu alternatiboa gehituta
|
||||
pdfjs-editor-new-alt-text-added-button-label = Testu alternatiboa gehituta
|
||||
# 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 = Ordezko testua falta da
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Ordezko testua falta da
|
||||
.aria-label = Testu alternatiboa falta da
|
||||
pdfjs-editor-new-alt-text-missing-button-label = Testu alternatiboa falta da
|
||||
# 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 = Berrikusi ordezko testua
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Berrikusi ordezko testua
|
||||
.aria-label = Berrikusi testu alternatiboa
|
||||
pdfjs-editor-new-alt-text-to-review-button-label = Berrikusi testu alternatiboa
|
||||
# "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.
|
||||
@ -531,22 +501,22 @@ pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Automatikoki sort
|
||||
## Image alt-text settings
|
||||
|
||||
pdfjs-image-alt-text-settings-button =
|
||||
.title = Irudien ordezko testuaren ezarpenak
|
||||
pdfjs-image-alt-text-settings-button-label = Irudien ordezko testuaren ezarpenak
|
||||
pdfjs-editor-alt-text-settings-dialog-label = Irudien ordezko testuaren ezarpenak
|
||||
pdfjs-editor-alt-text-settings-automatic-title = Ordezko testu automatikoa
|
||||
pdfjs-editor-alt-text-settings-create-model-button-label = Sortu ordezko testua automatikoki
|
||||
.title = Irudiaren testu alternatiboaren ezarpenak
|
||||
pdfjs-image-alt-text-settings-button-label = Irudiaren testu alternatiboaren ezarpenak
|
||||
pdfjs-editor-alt-text-settings-dialog-label = Irudiaren testu alternatiboaren ezarpenak
|
||||
pdfjs-editor-alt-text-settings-automatic-title = Testu alternatibo automatikoa
|
||||
pdfjs-editor-alt-text-settings-create-model-button-label = Sortu testu alternatiboa automatikoki
|
||||
pdfjs-editor-alt-text-settings-create-model-description = Azalpenak iradokitzen ditu irudia ikusi ezin duen jendearentzat edo irudia kargatu ezin denerako.
|
||||
# Variables:
|
||||
# $totalSize (Number) - the total size (in MB) of the AI model.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Ordezko testuaren AA modeloa ({ $totalSize } MB)
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = Zure gailuan modu lokalean exekutatzen da eta zure datuak pribatu mantentzen dira. Ordezko testu automatikorako beharrezkoa.
|
||||
pdfjs-editor-alt-text-settings-download-model-label = Testu alternatiboaren AA modeloa ({ $totalSize } MB)
|
||||
pdfjs-editor-alt-text-settings-ai-model-description = Zure gailuan modu lokalean exekutatzen da eta zure datuak pribatu mantentzen dira. Testu alternatibo automatikorako beharrezkoa.
|
||||
pdfjs-editor-alt-text-settings-delete-model-button = Ezabatu
|
||||
pdfjs-editor-alt-text-settings-download-model-button = Deskargatu
|
||||
pdfjs-editor-alt-text-settings-downloading-model-button = Deskargatzen…
|
||||
pdfjs-editor-alt-text-settings-editor-title = Ordezko testuaren editorea
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Erakutsi ordezko testua irudi bat gehitzean berehala
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Zure irudi guztiek ordezko testua dutela ziurtatzen laguntzen dizu.
|
||||
pdfjs-editor-alt-text-settings-editor-title = Testu alternatiboaren editorea
|
||||
pdfjs-editor-alt-text-settings-show-dialog-button-label = Erakutsi testu alternatiboa irudi bat gehitzean berehala
|
||||
pdfjs-editor-alt-text-settings-show-dialog-description = Zure irudiek testu alternatiboa duela ziurtatzen laguntzen dizu.
|
||||
pdfjs-editor-alt-text-settings-close-button = Itxi
|
||||
|
||||
## Accessibility labels (announced by screen readers) for objects added to the editor.
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Testua kenduta
|
||||
pdfjs-editor-undo-bar-message-ink = Marrazkia kenduta
|
||||
pdfjs-editor-undo-bar-message-stamp = Irudia kenduta
|
||||
pdfjs-editor-undo-bar-message-signature = Sinadura kenduta
|
||||
pdfjs-editor-undo-bar-message-comment = Iruzkina kenduta
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -584,7 +553,7 @@ pdfjs-editor-undo-bar-close-button-label = Itxi
|
||||
pdfjs-editor-add-signature-dialog-label =
|
||||
Leiho modal honek PDF dokumentu batera gehitzeko sinadurak
|
||||
sortzea ahalbidetzen dio erabiltzaileari. Erabiltzaileak izena edita
|
||||
dezake (ordezko testu modura ere erabiltzen dena) eta sinadura
|
||||
dezake (testu alternatibo modura ere erabiltzen dena) eta sinadura
|
||||
gordetzeko aukera du gehiagotan erabili ahal izateko.
|
||||
pdfjs-editor-add-signature-dialog-title = Gehitu sinadura
|
||||
|
||||
@ -619,9 +588,9 @@ pdfjs-editor-add-signature-image-browse-link =
|
||||
|
||||
## Controls
|
||||
|
||||
pdfjs-editor-add-signature-description-label = Azalpena (ordezko testua)
|
||||
pdfjs-editor-add-signature-description-label = Azalpena (testu alternatiboa)
|
||||
pdfjs-editor-add-signature-description-input =
|
||||
.title = Azalpena (ordezko testua)
|
||||
.title = Azalpena (testu alternatiboa)
|
||||
pdfjs-editor-add-signature-description-default-when-drawing = Sinadura
|
||||
pdfjs-editor-add-signature-clear-button-label = Garbitu sinadura
|
||||
pdfjs-editor-add-signature-clear-button =
|
||||
@ -668,163 +637,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Utzi
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Gehitu iruzkina
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Txandakatu alboko barra (dokumentuak koadro txikiak/eskema/eranskinak/geruzak ditu)
|
||||
pdfjs-toggle-views-manager-button1-label = Kudeatu orriak
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Alboko barra
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Alboko barra neurriz aldatzekoa
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Ikuspegiak
|
||||
pdfjs-views-manager-view-selector-button-label = Ikuspegiak
|
||||
pdfjs-views-manager-pages-title = Orriak
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentuaren eskema
|
||||
.title = Dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko)
|
||||
pdfjs-views-manager-attachments-title = Eranskinak
|
||||
pdfjs-views-manager-layers-title1 = Geruzak
|
||||
.title = Geruzak (klik bikoitza geruza guztiak egoera lehenetsira berrezartzeko)
|
||||
pdfjs-views-manager-pages-option-label = Orriak
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentuaren eskema
|
||||
pdfjs-views-manager-attachments-option-label = Eranskinak
|
||||
pdfjs-views-manager-layers-option-label = Geruzak
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Gehitu fitxategia
|
||||
pdfjs-views-manager-add-file-button-label = Gehitu fitxategia
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } hautatuta
|
||||
*[other] { $count } hautatuta
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Hautatu orriak
|
||||
pdfjs-views-manager-pages-status-action-button-label = Kudeatu
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopiatu
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Ebaki
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Ezabatu
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Esportatu hautatutakoa…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] Orri bat moztuta
|
||||
*[other] { $count } orri moztuta
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] Orri bat kopiatuta
|
||||
*[other] { $count } orri kopiatuta
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] Orri bat ezabatuta
|
||||
*[other] { $count } orri ezabatuta
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Zuee fitxategia prestatzen…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Fitxategia igotzen…
|
||||
pdfjs-views-manager-status-warning-cut-label = Ezin da moztu. Berritu orria eta saiatu berriro.
|
||||
pdfjs-views-manager-status-warning-copy-label = Ezin da kopiatu. Berritu orria eta saiatu berriro.
|
||||
pdfjs-views-manager-status-warning-delete-label = Ezin da ezabatu. Berritu orria eta saiatu berriro.
|
||||
pdfjs-views-manager-status-warning-save-label = Ezin da gorde. Berritu orria eta saiatu berriro.
|
||||
pdfjs-views-manager-status-undo-button-label = Desegin
|
||||
pdfjs-views-manager-status-done-button-label = Eginda
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Itxi
|
||||
pdfjs-views-manager-status-close-button-label = Itxi
|
||||
pdfjs-views-manager-paste-button-label = Itsatsi
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Itsatsi lehen orriaren aurretik
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Itsatsi { $page }. orriaren aurretik
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = BERRIA
|
||||
pdfjs-views-manager-waiting-for-file = Fitxategia igotzen…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Kudeatu orriak
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Sinadura digitalaren propietateak
|
||||
.aria-label = Sinadura digitalaren propietateak
|
||||
pdfjs-digital-signature-properties-button-label = Sinadura digitalaren propietateak
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokumentua baliozko sinadura digitalarekin sinatuta dago
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokumentua sinatuta dago baina sinadura digital bat ezin izan da egiaztatu
|
||||
*[other] Dokumentua sinatuta dago baina { $count } sinadura digital ezin izan dira egiaztatu
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Document ziurtagiri fidagaitz batekin sinatuta dago
|
||||
*[other] Document { $count } ziurtagiri fidagaitzekin sinatuta dago
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokumentua iraungitako ziurtagiri batekin sinatuta dago
|
||||
*[other] Dokumentua iraungitako { $count } ziurtagirirekin sinatuta dago
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokumentuak sinadura digital baliogabe bat du
|
||||
*[other] Dokumentuak { $count } sinadura digital baliogabe ditu
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokumentua baliogabetutako ziurtagiri batekin sinatuta dago
|
||||
*[other] Dokumentua baliogabetutako { $count } ziurtagirirekin sinatuta dago
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Egoera: sinadura egiaztatuta
|
||||
pdfjs-digital-signature-properties-status-invalid = Egoera: sinadura baliogabea
|
||||
pdfjs-digital-signature-properties-status-unknown = Egoera: ezin da egiaztatu (euskarririk ez)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Ziurtagiria: fidagarria ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Ziurtagiria: ez dago erabilgarri
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Ziurtagiria: fidagaitza
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Ziurtagiria: jaulkitzaile ezezaguna ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Ziurtagiria: bere buruak sinatutakoa ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Ziurtagiria: jaulkitzaile fidagaitza ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Ziurtagiria: iraungita
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Ziurtagiria: iraungita ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Ziurtagiria: baliogabetuta
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Nopea web-katselu:
|
||||
pdfjs-document-properties-linearized-yes = Kyllä
|
||||
pdfjs-document-properties-linearized-no = Ei
|
||||
pdfjs-document-properties-close-button = Sulje
|
||||
pdfjs-digital-signature-properties-view-certificate = Näytä varmenne
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Syy: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Aikaleima: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Aliallekirjoitus ({ $count })
|
||||
*[other] Aliallekirjoitukset ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Pienoiskuva sivusta { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Valitse sivu { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Sivu { $page }/{ $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Teksti poistettu
|
||||
pdfjs-editor-undo-bar-message-ink = Piirustus poistettu
|
||||
pdfjs-editor-undo-bar-message-stamp = Kuva poistettu
|
||||
pdfjs-editor-undo-bar-message-signature = Allekirjoitus poistettu
|
||||
pdfjs-editor-undo-bar-message-comment = Kommentti poistettu
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Peruuta
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Lisää kommentti
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Näytä/piilota sivupaneeli (dokumentissa on pienoiskuvat/sisällys/liitteitä/tasoja)
|
||||
pdfjs-toggle-views-manager-button1-label = Hallitse sivuja
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sivupaneeli
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Sivupaneelin koon muuttaja
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Näkymät
|
||||
pdfjs-views-manager-view-selector-button-label = Näkymät
|
||||
pdfjs-views-manager-pages-title = Sivut
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentin sisällys
|
||||
.title = Dokumentin sisällys (napsauta kahdesti laajentaaksesi/supistaaksesi kohteet)
|
||||
pdfjs-views-manager-attachments-title = Liitteet
|
||||
pdfjs-views-manager-layers-title1 = Tasot
|
||||
.title = Tasot (napsauta kahdesti nollataksesi tasot niiden oletustilaan)
|
||||
pdfjs-views-manager-pages-option-label = Sivut
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentin sisällys
|
||||
pdfjs-views-manager-attachments-option-label = Liitteet
|
||||
pdfjs-views-manager-layers-option-label = Tasot
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Lisää tiedosto
|
||||
pdfjs-views-manager-add-file-button-label = Lisää tiedosto
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } valittu
|
||||
*[other] { $count } valittu
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Valitse sivut
|
||||
pdfjs-views-manager-pages-status-action-button-label = Hallitse
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopioi
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Leikkaa
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Poista
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Vie valitut…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 sivu leikattu
|
||||
*[other] { $count } sivua leikattu
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 sivu kopioitu
|
||||
*[other] { $count } sivua kopioitu
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 sivu poistettu
|
||||
*[other] { $count } sivua poistettu
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Tiedostoa valmistellaan…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Lähetetään tiedostoa…
|
||||
pdfjs-views-manager-status-warning-cut-label = Leikkaaminen epäonnistui. Päivitä sivu ja yritä uudelleen.
|
||||
pdfjs-views-manager-status-warning-copy-label = Kopiointi epäonnistui. Päivitä sivu ja yritä uudelleen.
|
||||
pdfjs-views-manager-status-warning-delete-label = Poisto epäonnistui. Päivitä sivu ja yritä uudelleen.
|
||||
pdfjs-views-manager-status-warning-save-label = Tallentaminen epäonnistui. Päivitä sivu ja yritä uudelleen.
|
||||
pdfjs-views-manager-status-undo-button-label = Kumoa
|
||||
pdfjs-views-manager-status-done-button-label = Valmis
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Sulje
|
||||
pdfjs-views-manager-status-close-button-label = Sulje
|
||||
pdfjs-views-manager-paste-button-label = Liitä
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Liitä ennen ensimmäistä sivua
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Liitä sivun { $page } jälkeen
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = UUTTA
|
||||
pdfjs-views-manager-waiting-for-file = Lähetetään tiedostoa…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Hallitse sivuja
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Digitaalisen allekirjoituksen ominaisuudet
|
||||
.aria-label = Digitaalisen allekirjoituksen ominaisuudet
|
||||
pdfjs-digital-signature-properties-button-label = Digitaalisen allekirjoituksen ominaisuudet
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Asiakirja allekirjoitettiin kelvollisella digitaalisella allekirjoituksella
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Asiakirja allekirjoitettu, mutta { $count } digitaalista allekirjoitusta ei voitu vahvistaa
|
||||
*[other] Asiakirja allekirjoitettu, mutta { $count } digitaalista allekirjoitusta ei voitu vahvistaa
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Asiakirja on allekirjoitettu { $count } varmenteella, johon ei luoteta
|
||||
*[other] Asiakirja on allekirjoitettu { $count } varmenteella, joihin ei luoteta
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Asiakirja allekirjoitettu { $count } vanhentuneella varmenteella
|
||||
*[other] Asiakirja allekirjoitettu { $count } vanhentuneella varmenteella
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Asiakirjassa on { $count } virheellinen digitaalinen allekirjoitus
|
||||
*[other] Asiakirjassa on { $count } virheellistä digitaalista allekirjoitusta
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Asiakirja allekirjoitettu { $count } kumotulla varmenteella
|
||||
*[other] Asiakirja allekirjoitettu { $count } kumotulla varmenteella
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Tila: Allekirjoitus vahvistettu
|
||||
pdfjs-digital-signature-properties-status-invalid = Tila: Allekirjoitus virheellinen
|
||||
pdfjs-digital-signature-properties-status-unknown = Tila: Vahvistus epäonnistui (ei tuettu)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Varmenne: Luotettu ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Varmenne: Ei saatavilla
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Varmenne: Ei-luotettu
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Varmenne: Tuntematon myöntäjä ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Varmenne: Itse allekirjoitettu ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Varmenne: Ei-luotettu myöntäjä ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Varmenne: Vanhentunut
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Varmenne: Vanhentunut ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Varmenne: Kumottu
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Affichage rapide des pages web :
|
||||
pdfjs-document-properties-linearized-yes = Oui
|
||||
pdfjs-document-properties-linearized-no = Non
|
||||
pdfjs-document-properties-close-button = Fermer
|
||||
pdfjs-digital-signature-properties-view-certificate = Afficher le certificat
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Raison : { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Horodatage : { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Sous-signature ({ $count })
|
||||
*[other] Sous-signatures ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Vignette de la page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Sélectionner la page { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Page { $page } sur { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -257,7 +227,7 @@ pdfjs-find-match-count = Occurrence { $current } sur { $total }
|
||||
# $limit (Number) - the maximum number of matches
|
||||
pdfjs-find-match-count-limit =
|
||||
{ $limit ->
|
||||
[1] Plus d’une occurrence
|
||||
[one] Plus d’{ $limit } occurrence
|
||||
*[other] Plus de { $limit } occurrences
|
||||
}
|
||||
pdfjs-find-not-found = Expression non trouvée
|
||||
@ -560,7 +530,6 @@ pdfjs-editor-undo-bar-message-freetext = Texte supprimé
|
||||
pdfjs-editor-undo-bar-message-ink = Dessin supprimé
|
||||
pdfjs-editor-undo-bar-message-stamp = Image supprimée
|
||||
pdfjs-editor-undo-bar-message-signature = Signature retirée
|
||||
pdfjs-editor-undo-bar-message-comment = Commentaire supprimé
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -660,163 +629,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Annuler
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Ajouter un commentaire
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Afficher/Masquer le panneau latéral (le document contient des vignettes/plan/pièces jointes/calques)
|
||||
pdfjs-toggle-views-manager-button1-label = Gérer les pages
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Panneau latéral
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Redimensionner le panneau latéral
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Vues
|
||||
pdfjs-views-manager-view-selector-button-label = Vues
|
||||
pdfjs-views-manager-pages-title = Pages
|
||||
pdfjs-views-manager-outlines-title1 = Structure du document
|
||||
.title = Structure du document (double-cliquer pour développer/réduire tous les éléments)
|
||||
pdfjs-views-manager-attachments-title = Pièces jointes
|
||||
pdfjs-views-manager-layers-title1 = Calques
|
||||
.title = Calques (double-cliquer pour réinitialiser tous les calques à leur état par défaut)
|
||||
pdfjs-views-manager-pages-option-label = Pages
|
||||
pdfjs-views-manager-outlines-option-label = Signets du document
|
||||
pdfjs-views-manager-attachments-option-label = Pièces jointes
|
||||
pdfjs-views-manager-layers-option-label = Calques
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Ajouter un fichier
|
||||
pdfjs-views-manager-add-file-button-label = Ajouter un fichier
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } page sélectionnée
|
||||
*[other] { $count } pages sélectionnées
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Sélectionner des pages
|
||||
pdfjs-views-manager-pages-status-action-button-label = Gérer
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Copier
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Couper
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Supprimer
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Exporter la sélection…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 page coupée
|
||||
*[other] { $count } pages coupées
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 page copiée
|
||||
*[other] { $count } pages copiées
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 page supprimée
|
||||
*[other] { $count } pages supprimées
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Préparation de votre fichier…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Envoi du fichier…
|
||||
pdfjs-views-manager-status-warning-cut-label = Impossible de couper. Actualisez la page et essayez à nouveau.
|
||||
pdfjs-views-manager-status-warning-copy-label = Copie impossible. Actualisez la page et essayez à nouveau.
|
||||
pdfjs-views-manager-status-warning-delete-label = Suppression impossible. Actualisez la page et essayez à nouveau.
|
||||
pdfjs-views-manager-status-warning-save-label = Enregistrement impossible. Actualisez la page et essayez à nouveau.
|
||||
pdfjs-views-manager-status-undo-button-label = Annuler
|
||||
pdfjs-views-manager-status-done-button-label = Terminer
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Fermer
|
||||
pdfjs-views-manager-status-close-button-label = Fermer
|
||||
pdfjs-views-manager-paste-button-label = Coller
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Coller avant la première page
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Coller après la page { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOUVEAU
|
||||
pdfjs-views-manager-waiting-for-file = Envoi du fichier…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Gérer les pages
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Propriétés de la signature numérique
|
||||
.aria-label = Propriétés de la signature numérique
|
||||
pdfjs-digital-signature-properties-button-label = Propriétés de la signature numérique
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Le document a été signé avec une signature numérique valide
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Document signé mais { $count } signature numérique n’a pas pu être vérifiée
|
||||
*[other] Document signé mais { $count } signatures numériques n’ont pas pu être vérifiées
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[1] Document signé avec un certificat non digne de confiance
|
||||
*[other] Document signé avec { $count } certificats non dignes de confiance
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[1] Document signé avec un certificat expiré
|
||||
*[other] Document signé avec { $count } certificats expirés
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[1] Le document contient une signature numérique non valide
|
||||
*[other] Le document contient { $count } signatures numériques non valides
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[1] Document signé avec un certificat révoqué
|
||||
*[other] Document signé avec { $count } certificats révoqués
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = État : signature vérifiée
|
||||
pdfjs-digital-signature-properties-status-invalid = État : signature invalide
|
||||
pdfjs-digital-signature-properties-status-unknown = État : impossible à vérifier (non pris en charge)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certificat : fiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certificat : indisponible
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certificat : non fiable
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certificat : émetteur inconnu ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certificat : auto-signé ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certificat : émetteur non fiable ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certificat : expiré
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certificat : expiré ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certificat : révoqué
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -628,11 +628,6 @@ pdfjs-editor-edit-comment-dialog-text-input =
|
||||
.placeholder = Scomence a scrivi…
|
||||
pdfjs-editor-edit-comment-dialog-cancel-button = Anule
|
||||
|
||||
## Edit a comment button in the editor toolbar
|
||||
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Zonte coment
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Flugge webwerjefte:
|
||||
pdfjs-document-properties-linearized-yes = Ja
|
||||
pdfjs-document-properties-linearized-no = Nee
|
||||
pdfjs-document-properties-close-button = Slute
|
||||
pdfjs-digital-signature-properties-view-certificate = Sertifikaat besjen
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Reden: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Tiidstimpel: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Undertekening ({ $count })
|
||||
*[other] Undertekeningen ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatuer fan side { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Side { $page } selektearje
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Side { $page } fan { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Tekst fuortsmiten
|
||||
pdfjs-editor-undo-bar-message-ink = Tekening fuortsmiten
|
||||
pdfjs-editor-undo-bar-message-stamp = Ofbylding fuortsmiten
|
||||
pdfjs-editor-undo-bar-message-signature = Hantekening fuortsmiten
|
||||
pdfjs-editor-undo-bar-message-comment = Opmerking fuortsmiten
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Annulearje
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Opmerking tafoegje
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Sidebalke yn-/útskeakelje (dokumint befettet miniatueren/oersjoch/bylagen/lagen)
|
||||
pdfjs-toggle-views-manager-button1-label = Siden beheare
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Sidebalke
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Gruttewiziging sydbalke
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Werjeften
|
||||
pdfjs-views-manager-view-selector-button-label = Werjeften
|
||||
pdfjs-views-manager-pages-title = Siden
|
||||
pdfjs-views-manager-outlines-title1 = Dokumintoersjoch
|
||||
.title = Dokumintoersjoch (dûbelklik om alle items út/yn te klappen)
|
||||
pdfjs-views-manager-attachments-title = Bylagen
|
||||
pdfjs-views-manager-layers-title1 = Lagen
|
||||
.title = Lagen (dûbelklik om alle lagen nei de standertstatus werom te setten)
|
||||
pdfjs-views-manager-pages-option-label = Siden
|
||||
pdfjs-views-manager-outlines-option-label = Dokumintoersjoch
|
||||
pdfjs-views-manager-attachments-option-label = Bylagen
|
||||
pdfjs-views-manager-layers-option-label = Lagen
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Bestân tafoegje
|
||||
pdfjs-views-manager-add-file-button-label = Bestân tafoegje
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } selektearre
|
||||
*[other] { $count } selektearre
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Siden selektearje
|
||||
pdfjs-views-manager-pages-status-action-button-label = Beheare
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopiearje
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Knippe
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Fuortsmite
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Selektearre eksportearje…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 side knipt
|
||||
*[other] { $count } siden knipt
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 side kopiearre
|
||||
*[other] { $count } siden kopiearre
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 side fuortsmiten
|
||||
*[other] { $count } siden fuortsmiten
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Jo bestân tariede…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Bestân oplade…
|
||||
pdfjs-views-manager-status-warning-cut-label = Kin net knippe. Ferfarskje de side en probearje it opnij.
|
||||
pdfjs-views-manager-status-warning-copy-label = Kin net kopiearje. Ferfarskje de side en probearje it opnij.
|
||||
pdfjs-views-manager-status-warning-delete-label = Kin net fuortsmite. Ferfarskje de side en probearje it opnij.
|
||||
pdfjs-views-manager-status-warning-save-label = Kin net bewarje. Ferfarskje de side en probearje it opnij.
|
||||
pdfjs-views-manager-status-undo-button-label = Ungedien meitsje
|
||||
pdfjs-views-manager-status-done-button-label = Dien
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Slute
|
||||
pdfjs-views-manager-status-close-button-label = Slute
|
||||
pdfjs-views-manager-paste-button-label = Plakke
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Plakke foar de earste side
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Plakke nei side { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NIJ
|
||||
pdfjs-views-manager-waiting-for-file = Bestân oplade…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Siden beheare
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Eigenskippen fan digitale hantekening
|
||||
.aria-label = Eigenskippen fan digitale hantekening
|
||||
pdfjs-digital-signature-properties-button-label = Eigenskippen fan digitale hantekening
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokumint is ûndertekene mei in jildige digitale hantekening
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokumint ûndertekene, mar { $count } digitale hantekening koe net ferifiearre wurde
|
||||
*[other] Dokumint ûndertekene, mar { $count } digitale hantekeningen koene net ferifiearre wurde
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokumint ûndertekene mei { $count } sertifikaat dat net fertroud wurdt
|
||||
*[other] Dokumint ûndertekene mei { $count } sertifikaten dy’t net fertroud wurde
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokumint ûndertekene mei { $count } ferrûne sertifikaat
|
||||
*[other] Dokumint ûndertekene mei { $count } ferrûne sertifikaten
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokumint hat { $count } ûnjildige digitale hantekening
|
||||
*[other] Dokumint hat { $count } ûnjildige digitale hantekeningen
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokumint ûndertekene mei { $count } ynlutsen sertifikaat
|
||||
*[other] Dokumint ûndertekene mei { $count } ynlutsen sertifikaten
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: hantekening ferifiearre
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: hantekening ûnjildich
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: kin net ferifiearje wurde (net stipe)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Sertifikaat: fertroud ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Sertifikaat: net beskikber
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Sertifikaat: net fertroud
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Sertifikaat: Unbekende útjouwer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Sertifikaat: selsûndertekene ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Sertifikaat: net-fertroude útjouwer ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Sertifikaat: ferrûn
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Sertifikaat: ferrûn ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Sertifikaat: ynlutsen
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Ñanduti jahecha pya’e:
|
||||
pdfjs-document-properties-linearized-yes = Añete
|
||||
pdfjs-document-properties-linearized-no = Ahániri
|
||||
pdfjs-document-properties-close-button = Mboty
|
||||
pdfjs-digital-signature-properties-view-certificate = Mboajapyre jehecha
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Mba’ére: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Ára: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Mboheraguapy’i ({ $count })
|
||||
*[other] Mboheraguapy’ieta ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Kuatiarogue mba’emirĩ { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Eiporavo kuatiarogue { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Kuatiarogue { $page } { $total } mba’e
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Moñe’ẽrã mboguepyre
|
||||
pdfjs-editor-undo-bar-message-ink = Ta’ãnga mboguepyre
|
||||
pdfjs-editor-undo-bar-message-stamp = Ta’ãnga mboguepyre
|
||||
pdfjs-editor-undo-bar-message-signature = Teraguapy mboguepyre
|
||||
pdfjs-editor-undo-bar-message-comment = Je’epy mboguepyre
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -581,7 +550,6 @@ pdfjs-editor-undo-bar-close-button-label = Mboty
|
||||
|
||||
## Add a signature dialog
|
||||
|
||||
pdfjs-editor-add-signature-dialog-label = Ko modal omoneĩ poruhárape omoheñóivo mboheraguapy ombojuaju hag̃ua PDF rehe. Upe poruhára ombosako’ikuaa téra (oikóva avei moñe’ẽrã mokõihávarõ) ha, ejaposérõ, eñongatu mboheraguapy eiporujey hag̃ua.
|
||||
pdfjs-editor-add-signature-dialog-title = Embojuaju teraguapy
|
||||
|
||||
## Tab names
|
||||
@ -664,138 +632,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Eheja
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Je’erei mbojuaju
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Embojopyru tenda ykegua (kuatia oguereko mba’e’i, kuaakaha/moirũha/ñuãha)
|
||||
pdfjs-toggle-views-manager-button1-label = Eñangareko kuotiarogue
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Ta’ãngarupa yke
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Tuichakue mongu’eha tenda yképe
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Hechaha
|
||||
pdfjs-views-manager-view-selector-button-label = Hechaha
|
||||
pdfjs-views-manager-pages-title = Kuatiarogue
|
||||
pdfjs-views-manager-outlines-title1 = Kuatiaite jejapopy
|
||||
.title = Kuatiaite jejapopy (eikutu jo’a emyasãi hag̃ua/emomichĩmbaite mba’eporuita)
|
||||
pdfjs-views-manager-attachments-title = Moirũha
|
||||
pdfjs-views-manager-layers-title1 = Ñuãhaita
|
||||
.title = Ñuãhaita (eikutu jo’a erupaite jey hag̃ua ñuãhaita oĩ haguepevoi)
|
||||
pdfjs-views-manager-pages-option-label = Kuatiarogueita
|
||||
pdfjs-views-manager-outlines-option-label = Kuatiaite jejapopy
|
||||
pdfjs-views-manager-attachments-option-label = Moirũhaita
|
||||
pdfjs-views-manager-layers-option-label = Ñuãhaita
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Embojuaju marandurenda
|
||||
pdfjs-views-manager-add-file-button-label = Embojuaju marandurenda
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } poravopyre
|
||||
*[other] { $count } poravopyre
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Eiporavo kuatiarogue
|
||||
pdfjs-views-manager-pages-status-action-button-label = Ñangareko
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Monguatia
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Kytĩ
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Mboguete
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Eguerahauka poravopyre…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 kuatiarogue kytĩmbyre
|
||||
*[other] { $count } kuatiarogue kytĩmbyre
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 kuatiarogue monguatiapyre
|
||||
*[other] { $count } kuatiarogue monguatiapyre
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 kuatiarogue mboguepyre
|
||||
*[other] { $count } kuatiarogue mboguepyre
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Embosako’ihína ne marandurenda…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Ehupihína marandurenda…
|
||||
pdfjs-views-manager-status-warning-cut-label = Ndaikatúi oñekytĩ. Embopyahu kuatiarogue ha eha’ã jey.
|
||||
pdfjs-views-manager-status-warning-copy-label = Ndaikatúi oñembokuatia. Embopyahu kuatiarogue ha eha’ã jey.
|
||||
pdfjs-views-manager-status-warning-delete-label = Ndaikatúi embogue. Embopyahu kuatiarogue ha eha’ã jey.
|
||||
pdfjs-views-manager-status-warning-save-label = Ndaikatúi eñongatu. Embopyahu kuatiarogue ha eha’ã jey.
|
||||
pdfjs-views-manager-status-undo-button-label = Mboguevi
|
||||
pdfjs-views-manager-status-done-button-label = Oĩma
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Mboty
|
||||
pdfjs-views-manager-status-close-button-label = Mboty
|
||||
pdfjs-views-manager-paste-button-label = Mboja
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Emboja togue peteĩha mboyve
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Emboja kuatiarogue { $page } rire
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = PYAHU
|
||||
pdfjs-views-manager-waiting-for-file = Ehupihína marandurenda…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Eñangareko kuotiarogue
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Firma digital oguerekóva
|
||||
.aria-label = Firma digital oguerekóva
|
||||
pdfjs-digital-signature-properties-button-label = Firma digital oguerekóva
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Pe kuatia oñemboheraguapy firma digital oikóvape
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Heko: Mboheraguapy hechajeypyre
|
||||
pdfjs-digital-signature-properties-status-invalid = Heko: Mboheraguapy oiko’ỹva
|
||||
pdfjs-digital-signature-properties-status-unknown = Heko: Ndojehechajeykuaái (ndojokupytýi)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Mboajapyre: Jeroviaha ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Mboajapyre: Oĩ’ỹva
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Mboajapyre: Jerovia’ỹha
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Mboajapyre: Guenohẽha jekuaa’ỹva ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Mboajapyre: Heraguapejeheguíva { $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Mboajapyre: Guenohẽha jerovia’ỹha ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Mboajapyre: Oikove’ỹmava
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Mboajapyre: Oikove’ỹmava ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Mboajapyre: Mbojevypyre
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = תצוגת דף מהירה:
|
||||
pdfjs-document-properties-linearized-yes = כן
|
||||
pdfjs-document-properties-linearized-no = לא
|
||||
pdfjs-document-properties-close-button = סגירה
|
||||
pdfjs-digital-signature-properties-view-certificate = הצגת אישור
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = סיבה: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = חותמת זמן: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] חתימת משנה ({ $count })
|
||||
*[other] חתימות משנה ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = תצוגה מקדימה של עמוד { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = בחירת עמוד { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = עמוד { $page } מתוך { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = הטקסט הוסר
|
||||
pdfjs-editor-undo-bar-message-ink = הציור הוסר
|
||||
pdfjs-editor-undo-bar-message-stamp = התמונה הוסרה
|
||||
pdfjs-editor-undo-bar-message-signature = החתימה הוסרה
|
||||
pdfjs-editor-undo-bar-message-comment = ההערה הוסרה
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = ביטול
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = הוספת הערה
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = החלפת תצוגת סרגל צד (מסמך שמכיל תמונות ממוזערות/תוכן עניינים/קבצים מצורפים/שכבות)
|
||||
pdfjs-toggle-views-manager-button1-label = ניהול עמודים
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = סרגל צד
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = שינוי גודל סרגל הצד
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = תצוגות
|
||||
pdfjs-views-manager-view-selector-button-label = תצוגות
|
||||
pdfjs-views-manager-pages-title = עמודים
|
||||
pdfjs-views-manager-outlines-title1 = תוכן העניינים של המסמך
|
||||
.title = הצגת תוכן העניינים של המסמך (יש ללחוץ לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים)
|
||||
pdfjs-views-manager-attachments-title = קבצים מצורפים
|
||||
pdfjs-views-manager-layers-title1 = שכבות
|
||||
.title = הצגת שכבות (יש ללחוץ לחיצה כפולה כדי לאפס את כל השכבות למצב ברירת המחדל)
|
||||
pdfjs-views-manager-pages-option-label = עמודים
|
||||
pdfjs-views-manager-outlines-option-label = תוכן העניינים של המסמך
|
||||
pdfjs-views-manager-attachments-option-label = קבצים מצורפים
|
||||
pdfjs-views-manager-layers-option-label = שכבות
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = הוספת קובץ
|
||||
pdfjs-views-manager-add-file-button-label = הוספת קובץ
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] אחד נבחר
|
||||
*[other] { $count } נבחרו
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = בחירת עמודים
|
||||
pdfjs-views-manager-pages-status-action-button-label = ניהול
|
||||
pdfjs-views-manager-pages-status-copy-button-label = העתקה
|
||||
pdfjs-views-manager-pages-status-cut-button-label = גזירה
|
||||
pdfjs-views-manager-pages-status-delete-button-label = מחיקה
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = ייצוא הפריטים שנבחרו…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] עמוד אחד נגזר
|
||||
*[other] { $count } עמודים נגזרו
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] עמוד אחד הועתק
|
||||
*[other] { $count } עמודים הועתקו
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] עמוד אחד נמחק
|
||||
*[other] { $count } עמודים נמחקו
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = בתהליך הכנת הקובץ שלך…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = בתהליך העלאת הקובץ…
|
||||
pdfjs-views-manager-status-warning-cut-label = לא ניתן היה לגזור. נא לרענן את הדף ולנסות שוב.
|
||||
pdfjs-views-manager-status-warning-copy-label = לא ניתן היה להעתיק. נא לרענן את הדף ולנסות שוב.
|
||||
pdfjs-views-manager-status-warning-delete-label = לא ניתן היה למחוק. נא לרענן את הדף ולנסות שוב.
|
||||
pdfjs-views-manager-status-warning-save-label = לא ניתן היה לשמור. נא לרענן את הדף ולנסות שוב.
|
||||
pdfjs-views-manager-status-undo-button-label = ביטול פעולה
|
||||
pdfjs-views-manager-status-done-button-label = סיום
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = סגירה
|
||||
pdfjs-views-manager-status-close-button-label = סגירה
|
||||
pdfjs-views-manager-paste-button-label = הדבקה
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = להדביק לפני העמוד הראשון
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = להדביק אחרי עמוד { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = חדש
|
||||
pdfjs-views-manager-waiting-for-file = בתהליך העלאת הקובץ…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = ניהול עמודים
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = מאפייני חתימה דיגיטלית
|
||||
.aria-label = מאפייני חתימה דיגיטלית
|
||||
pdfjs-digital-signature-properties-button-label = מאפייני חתימה דיגיטלית
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = המסמך נחתם בחתימה דיגיטלית תקפה
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] המסמך חתום אך לא ניתן היה לאמת חתימה דיגיטלית אחת
|
||||
*[other] המסמך חתום אך לא ניתן היה לאמת { $count } חתימות דיגיטליות
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] המסמך חתום עם אישור אחד שאינו מהימן
|
||||
*[other] המסמך חתום עם { $count } אישורים שאינם מהימנים
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] המסמך חתום עם אישור אחד שפג תוקפו
|
||||
*[other] המסמך חתום עם { $count } אישורים שפג תוקפם
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] למסמך יש חתימה דיגיטלית אחת שאינה תקינה
|
||||
*[other] למסמך יש { $count } חתימות דיגיטליות שאינן תקינות
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] המסמך חתום עם אישור אחד שנשלל
|
||||
*[other] המסמך חתום עם { $count } אישורים שנשללו
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = מצב: החתימה מאומתת
|
||||
pdfjs-digital-signature-properties-status-invalid = מצב: החתימה לא תקינה
|
||||
pdfjs-digital-signature-properties-status-unknown = מצב: לא ניתן לאמת (לא נתמך)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = אישור אבטחה: מהימן ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = אישור אבטחה: לא זמין
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = אישור אבטחה: לא מהימן
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = אישור אבטחה: מנפיק לא ידוע ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = אישור אבטחה: נחתם עצמית ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = אישור אבטחה: מנפיק לא מהימן ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = אישור אבטחה: פג תוקפו
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = אישור אבטחה: פג תוקפו ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = אישור אבטחה: נשלל
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -201,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Minijatura stranice { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Odaberi stranicu { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Stranica { $page } od { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -546,7 +537,6 @@ 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
|
||||
pdfjs-editor-undo-bar-message-comment = Komentar je uklonjen
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -647,67 +637,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Odustani
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Dodaj komentar
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-button1-label = Upravljaj stranicama
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Bočna traka
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Prikazi
|
||||
pdfjs-views-manager-view-selector-button-label = Prikazi
|
||||
pdfjs-views-manager-pages-title = Stranice
|
||||
pdfjs-views-manager-outlines-title1 = Struktura dokumenta
|
||||
.title = Struktura dokumenta (sažmi/proširi sve stavke dvostrukim klikom)
|
||||
pdfjs-views-manager-attachments-title = Privici
|
||||
pdfjs-views-manager-layers-title1 = Slojevi
|
||||
.title = Slojevi (ponovo postavi sve slojeve na zadano stanje dvostrukim klikom)
|
||||
pdfjs-views-manager-pages-option-label = Stranice
|
||||
pdfjs-views-manager-outlines-option-label = Struktura dokumenta
|
||||
pdfjs-views-manager-attachments-option-label = Privici
|
||||
pdfjs-views-manager-layers-option-label = Slojevi
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Dodaj datoteku
|
||||
pdfjs-views-manager-add-file-button-label = Dodaj datoteku
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } odabrana
|
||||
[few] { $count } odabrane
|
||||
*[other] { $count } odabranih
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Odaberi stranice
|
||||
pdfjs-views-manager-pages-status-action-button-label = Upravljaj
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopiraj
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Izreži
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Izbriši
|
||||
pdfjs-views-manager-status-warning-cut-label = Nije moguće izrezati. Osvježi stranicu i pokušaj ponovo.
|
||||
pdfjs-views-manager-status-warning-copy-label = Nije moguće kopirati. Osvježi stranicu i pokušaj ponovo.
|
||||
pdfjs-views-manager-status-warning-delete-label = Nije moguće izbrisati. Osvježi stranicu i pokušaj ponovo.
|
||||
pdfjs-views-manager-status-warning-save-label = Nije moguće spremiti. Osvježi stranicu i pokušaj ponovo.
|
||||
pdfjs-views-manager-status-undo-button-label = Poništi
|
||||
pdfjs-views-manager-status-done-button-label = Gotovo
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Zatvori
|
||||
pdfjs-views-manager-status-close-button-label = Zatvori
|
||||
pdfjs-views-manager-paste-button-label = Umetni
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Umetni prije prve stranice
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Umetni nakon stranice { $page }
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOVO
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Upravljaj stranicama
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,29 +153,6 @@ pdfjs-document-properties-linearized = Fast Web View:
|
||||
pdfjs-document-properties-linearized-yes = Haj
|
||||
pdfjs-document-properties-linearized-no = Ně
|
||||
pdfjs-document-properties-close-button = Začinić
|
||||
pdfjs-digital-signature-properties-view-certificate = Certifikat pokazać
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Přičina: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Časowy kołk: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] { $count } podsignatura
|
||||
[two] { $count } podsignaturje
|
||||
[few] { $count } podsignatury
|
||||
*[other] { $count } podsignaturow
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -224,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = Miniatura strony { $page }
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = Stronu { $page } wubrać
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = Strona { $page } z { $total }
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -572,7 +540,6 @@ pdfjs-editor-undo-bar-message-freetext = Tekst je so wotstronił
|
||||
pdfjs-editor-undo-bar-message-ink = Rysowanka je so wotstroniła
|
||||
pdfjs-editor-undo-bar-message-stamp = Wobraz je so wotstronił
|
||||
pdfjs-editor-undo-bar-message-signature = Signatura je so wotstroniła
|
||||
pdfjs-editor-undo-bar-message-comment = Komentar je so wotstronił
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -674,181 +641,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Přetorhnyć
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Komentar přidać
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Bóčnicu přepinać (dokument miniatury/rozrjad/přiwěški/woršty wobsahuje)
|
||||
pdfjs-toggle-views-manager-button1-label = Strony rjadować
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Bóčnica
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Přiměrjenje wulkosće bóčnicy
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Napohlady
|
||||
pdfjs-views-manager-view-selector-button-label = Napohlady
|
||||
pdfjs-views-manager-pages-title = Strony
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentowa struktura
|
||||
.title = Dokumentowa struktura (klikńće dwójce, zo byšće wšě zapiski pokazał/schował)
|
||||
pdfjs-views-manager-attachments-title = Přiwěški
|
||||
pdfjs-views-manager-layers-title1 = Runiny
|
||||
.title = Runiny (klikńće dwójce, zo byšće wšě runiny na standardny status wróćo stajił)
|
||||
pdfjs-views-manager-pages-option-label = Strony
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentowa struktura
|
||||
pdfjs-views-manager-attachments-option-label = Přiwěški
|
||||
pdfjs-views-manager-layers-option-label = Runiny
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Dataju přidać
|
||||
pdfjs-views-manager-add-file-button-label = Dataju přidać
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } wubrany
|
||||
[two] { $count } wubranej
|
||||
[few] { $count } wubrane
|
||||
*[other] { $count } wubranych
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Strony wubrać
|
||||
pdfjs-views-manager-pages-status-action-button-label = Rjadować
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Kopěrować
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Wutřihać
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Zhašeć
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Wubrane eksportować…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] { $count } strona wutřihana
|
||||
[two] { $count } stronje wutřihanej
|
||||
[few] { $count } strony wutřihane
|
||||
*[other] { $count } stronow wutřihane
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] { $count } strona kopěrowana
|
||||
[two] { $count } strona kopěrowanej
|
||||
[few] { $count } strona kopěrowane
|
||||
*[other] { $count } strona kopěrowane
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] { $count } strona zhašana
|
||||
[two] { $count } strona zhašanej
|
||||
[few] { $count } strona zhašane
|
||||
*[other] { $count } strona zhašane
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = Waša dataja so přihotuje…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Dataja so nahrawa…
|
||||
pdfjs-views-manager-status-warning-cut-label = Njeda so wutřihać. Aktualizujće stronu a spytajće hišće raz.
|
||||
pdfjs-views-manager-status-warning-copy-label = Njeda so kopěrować. Aktualizujće stronu a spytajće hišće raz.
|
||||
pdfjs-views-manager-status-warning-delete-label = Njeda so zhašeć. Aktualizujće stronu a spytajće hišće raz.
|
||||
pdfjs-views-manager-status-warning-save-label = Njeda so składować. Aktualizujće stronu a spytajće hišće raz.
|
||||
pdfjs-views-manager-status-undo-button-label = Cofnyć
|
||||
pdfjs-views-manager-status-done-button-label = Dokónčeny
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Začinić
|
||||
pdfjs-views-manager-status-close-button-label = Začinić
|
||||
pdfjs-views-manager-paste-button-label = Zasadźić
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Před prěnjej stronu zasadźić
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Za stronu { $page } zasadźić
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = NOWY
|
||||
pdfjs-views-manager-waiting-for-file = Dataja so nahrawa…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Strony rjadować
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Kajkosće digitalneje signatury
|
||||
.aria-label = Kajkosće digitalneje signatury
|
||||
pdfjs-digital-signature-properties-button-label = Kajkosće digitalneje signatury
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = Dokument je so z płaćiwej digitalnej signaturu signował
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] Dokument je so signował, ale { $count } digitalna signatura njeda so wobkrućić
|
||||
[two] Dokument je so signował, ale { $count } digitalnej signaturje njedatej so wobkrućić
|
||||
[few] Dokument je so signował, ale { $count } digitalne signatury njedachu so wobkrućić
|
||||
*[other] Dokument je so signował, ale { $count } digitalnych signaturow njeda so wobkrućić
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] Dokument je z { $count } certifikatom signowany, kotryž dowěry hódny njeje
|
||||
[two] Dokument je z { $count } certifikatomaj signowany, kotrejž dowěry hódnej njejstej
|
||||
[few] Dokument je z { $count } certifikatami signowany, kotrež dowěry hódne njejsu
|
||||
*[other] Dokument je z { $count } certifikatami signowany, kotrež dowěry hódne njejsu
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] Dokument je z { $count } spadnjenym certifikatom signowany
|
||||
[two] Dokument je z { $count } spadnjenymaj certifikatomaj signowany
|
||||
[few] Dokument je z { $count } spadnjenymi certifikatami signowany
|
||||
*[other] Dokument je z { $count } spadnjenymi certifikatami signowany
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] Dokument ma { $count } njepłaćiwu digitalnu signaturu
|
||||
[two] Dokument ma { $count } njepłaćiwej digitalnej signaturje
|
||||
[few] Dokument ma { $count } njepłaćiwe digitalne signatury
|
||||
*[other] Dokument ma { $count } njepłaćiwych digitalnych signaturow
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] Dokument je z { $count } wotwołanym certifikatom signowany
|
||||
[two] Dokument je z { $count } wotwołanymaj certifikatomaj signowany
|
||||
[few] Dokument je z { $count } wotwołanymi certifikatami signowany
|
||||
*[other] Dokument je z { $count } wotwołanymi certifikatami signowany
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Status: Signatura je wobkrućena
|
||||
pdfjs-digital-signature-properties-status-invalid = Status: Signatura je njepłaćiwa
|
||||
pdfjs-digital-signature-properties-status-unknown = Status: Njeda so wobkrućić (njepodpěruje so)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Certifikat: Dowěry hódny ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Certifikat: Nic k dispoziciji
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Certifikat: Dowěry njehódny
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Certifikat: Njeznaty wudawar ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Certifikat: Samsignowany ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Certifikat: Dowěry njehódny wudawar ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Certifikat: Spadnjeny
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Certifikat: Spadnjeny ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Certifikat: Wotwołany
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
@ -153,27 +153,6 @@ pdfjs-document-properties-linearized = Gyors webes nézet:
|
||||
pdfjs-document-properties-linearized-yes = Igen
|
||||
pdfjs-document-properties-linearized-no = Nem
|
||||
pdfjs-document-properties-close-button = Bezárás
|
||||
pdfjs-digital-signature-properties-view-certificate = Tanúsítvány megtekintése
|
||||
# Shown beneath an invalid signature card to explain why verification
|
||||
# failed. The text comes from NSS (e.g. "Signature integrity has been
|
||||
# compromised", "PKCS#7 signature could not be parsed") and is not
|
||||
# itself localized — it is the underlying error message produced by
|
||||
# the verification backend.
|
||||
# Variables:
|
||||
# $reason (String) - error message describing why the signature
|
||||
# could not be verified.
|
||||
pdfjs-digital-signature-properties-reason = Ok: { $reason }
|
||||
# Variables:
|
||||
# $dateObj (Date) - the signing time from the /Sig dict's /M entry.
|
||||
pdfjs-digital-signature-properties-timestamp = Időbélyeg: { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }
|
||||
# Variables:
|
||||
# $count (Number) - number of nested sub-signatures (one per earlier
|
||||
# incremental revision of the document).
|
||||
pdfjs-digital-signature-properties-sub-signatures =
|
||||
{ $count ->
|
||||
[one] Részaláírás ({ $count })
|
||||
*[other] Részaláírások ({ $count })
|
||||
}
|
||||
|
||||
## Print
|
||||
|
||||
@ -222,15 +201,6 @@ pdfjs-thumb-page-title =
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-canvas =
|
||||
.aria-label = { $page }. oldal bélyegképe
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
pdfjs-thumb-page-checkbox1 =
|
||||
.title = { $page }. oldal kiválasztása
|
||||
# Variables:
|
||||
# $page (Number) - the page number
|
||||
# $total (Number) - the number of pages
|
||||
pdfjs-thumb-page-title1 =
|
||||
.title = { $page }. / { $total } oldal
|
||||
|
||||
## Find panel button title and messages
|
||||
|
||||
@ -564,7 +534,6 @@ pdfjs-editor-undo-bar-message-freetext = Szöveg eltávolítva
|
||||
pdfjs-editor-undo-bar-message-ink = Rajz eltávolítva
|
||||
pdfjs-editor-undo-bar-message-stamp = Kép eltávolítva
|
||||
pdfjs-editor-undo-bar-message-signature = Aláírás eltávolítva
|
||||
pdfjs-editor-undo-bar-message-comment = Megjegyzés eltávolítva
|
||||
# Variables:
|
||||
# $count (Number) - the number of removed annotations.
|
||||
pdfjs-editor-undo-bar-message-multiple =
|
||||
@ -664,163 +633,6 @@ pdfjs-editor-edit-comment-dialog-cancel-button = Mégse
|
||||
pdfjs-editor-add-comment-button =
|
||||
.title = Megjegyzés hozzáadása
|
||||
|
||||
## The view manager is a sidebar displaying different views:
|
||||
## - thumbnails;
|
||||
## - outline;
|
||||
## - attachments;
|
||||
## - layers.
|
||||
## The thumbnails view is used to edit the pdf: remove/insert pages, ...
|
||||
|
||||
pdfjs-toggle-views-manager-notification-button =
|
||||
.title = Oldalsáv be/ki (a dokumentum bélyegképeket/vázlatot/mellékleteket/rétegeket tartalmaz)
|
||||
pdfjs-toggle-views-manager-button1-label = Oldalak kezelése
|
||||
pdfjs-views-manager-sidebar =
|
||||
.aria-label = Oldalsáv
|
||||
pdfjs-views-manager-sidebar-resizer =
|
||||
.aria-label = Oldalsáv-átméretező
|
||||
pdfjs-views-manager-view-selector-button =
|
||||
.title = Nézetek
|
||||
pdfjs-views-manager-view-selector-button-label = Nézetek
|
||||
pdfjs-views-manager-pages-title = Oldalak
|
||||
pdfjs-views-manager-outlines-title1 = Dokumentumvázlat
|
||||
.title = Dokumentumvázlat (dupla kattintás az összes elem kinyitásához/becsukásához)
|
||||
pdfjs-views-manager-attachments-title = Mellékletek
|
||||
pdfjs-views-manager-layers-title1 = Rétegek
|
||||
.title = Rétegek (dupla kattintás az összes réteg eredeti állapotba való visszaállításához)
|
||||
pdfjs-views-manager-pages-option-label = Oldalak
|
||||
pdfjs-views-manager-outlines-option-label = Dokumentumvázlat
|
||||
pdfjs-views-manager-attachments-option-label = Mellékletek
|
||||
pdfjs-views-manager-layers-option-label = Rétegek
|
||||
pdfjs-views-manager-add-file-button =
|
||||
.title = Fájl hozzáadása
|
||||
pdfjs-views-manager-add-file-button-label = Fájl hozzáadása
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages.
|
||||
pdfjs-views-manager-pages-status-action-label =
|
||||
{ $count ->
|
||||
[one] { $count } kiválasztva
|
||||
*[other] { $count } kiválasztva
|
||||
}
|
||||
pdfjs-views-manager-pages-status-none-action-label = Oldalak kiválasztása
|
||||
pdfjs-views-manager-pages-status-action-button-label = Kezelés
|
||||
pdfjs-views-manager-pages-status-copy-button-label = Másolás
|
||||
pdfjs-views-manager-pages-status-cut-button-label = Kivágás
|
||||
pdfjs-views-manager-pages-status-delete-button-label = Törlés
|
||||
pdfjs-views-manager-pages-status-export-selected-button-label = Kiválasztottak exportálása…
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be cut.
|
||||
pdfjs-views-manager-status-undo-cut-label =
|
||||
{ $count ->
|
||||
[one] 1 oldal kivágva
|
||||
*[other] { $count } oldal kivágva
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be copied.
|
||||
pdfjs-views-manager-pages-status-undo-copy-label =
|
||||
{ $count ->
|
||||
[one] 1 oldal másolva
|
||||
*[other] { $count } oldal másolva
|
||||
}
|
||||
# Variables:
|
||||
# $count (Number) - the number of selected pages to be deleted.
|
||||
pdfjs-views-manager-pages-status-undo-delete-label =
|
||||
{ $count ->
|
||||
[one] 1 oldal törölve
|
||||
*[other] { $count } oldal törölve
|
||||
}
|
||||
pdfjs-views-manager-pages-status-waiting-ready-label = A fájl előkészítése…
|
||||
pdfjs-views-manager-pages-status-waiting-uploading-label = Fájl feltöltése…
|
||||
pdfjs-views-manager-status-warning-cut-label = Nem sikerült kivágni. Frissítse az oldalt, és próbálja újra.
|
||||
pdfjs-views-manager-status-warning-copy-label = Nem sikerült másolni. Frissítse az oldalt, és próbálja újra.
|
||||
pdfjs-views-manager-status-warning-delete-label = Nem sikerült törölni. Frissítse az oldalt, és próbálja újra.
|
||||
pdfjs-views-manager-status-warning-save-label = Nem sikerült menteni. Frissítse az oldalt, és próbálja újra.
|
||||
pdfjs-views-manager-status-undo-button-label = Visszavonás
|
||||
pdfjs-views-manager-status-done-button-label = Kész
|
||||
pdfjs-views-manager-status-close-button =
|
||||
.title = Bezárás
|
||||
pdfjs-views-manager-status-close-button-label = Bezárás
|
||||
pdfjs-views-manager-paste-button-label = Beillesztés
|
||||
pdfjs-views-manager-paste-button-before =
|
||||
.title = Beillesztés az első oldal elé
|
||||
# Variables:
|
||||
# $page (Number) - the page number after which the paste button is.
|
||||
pdfjs-views-manager-paste-button-after =
|
||||
.title = Beillesztés a(z) { $page }. oldal után
|
||||
# Badge used to promote a new feature in the UI, keep it as short as possible.
|
||||
# It's spelled uppercase for English, but it can be translated as usual.
|
||||
pdfjs-new-badge-content = ÚJ
|
||||
pdfjs-views-manager-waiting-for-file = Fájl feltöltése…
|
||||
pdfjs-toggle-views-manager-button1 =
|
||||
.title = Oldalak kezelése
|
||||
|
||||
## Digital signature properties (signature verification panel)
|
||||
|
||||
pdfjs-digital-signature-properties-button =
|
||||
.title = Digitális aláírás tulajdonságai
|
||||
.aria-label = Digitális aláírás tulajdonságai
|
||||
pdfjs-digital-signature-properties-button-label = Digitális aláírás tulajdonságai
|
||||
|
||||
## Banner shown above the signature list summarising the overall
|
||||
## verification state of the document. Each variant is selected by the
|
||||
## viewer based on the worst per-signature status; one signature is
|
||||
## enough to lower the banner.
|
||||
##
|
||||
## Variables:
|
||||
## $count (Number) - number of signatures at the worst level.
|
||||
|
||||
pdfjs-digital-signature-properties-banner-verified = A dokumentum érvényes digitális aláírással lett aláírva
|
||||
pdfjs-digital-signature-properties-banner-unknown =
|
||||
{ $count ->
|
||||
[one] A dokumentum alá van írva, de { $count } digitális aláírás nem ellenőrizhető
|
||||
*[other] A dokumentum alá van írva, de { $count } digitális aláírás nem ellenőrizhető
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-untrusted =
|
||||
{ $count ->
|
||||
[one] A dokumentum { $count } nem megbízható tanúsítvánnyal van aláírva
|
||||
*[other] A dokumentum { $count } nem megbízható tanúsítvánnyal van aláírva
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-expired =
|
||||
{ $count ->
|
||||
[one] A dokumentum { $count } lejárt tanúsítvánnyal van aláírva
|
||||
*[other] A dokumentum { $count } lejárt tanúsítvánnyal van aláírva
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-invalid =
|
||||
{ $count ->
|
||||
[one] A dokumentum { $count } érvénytelen aláírással rendelkezik
|
||||
*[other] A dokumentum { $count } érvénytelen aláírással rendelkezik
|
||||
}
|
||||
pdfjs-digital-signature-properties-banner-revoked =
|
||||
{ $count ->
|
||||
[one] A dokumentum { $count } visszavont tanúsítvánnyal van aláírva
|
||||
*[other] A dokumentum { $count } visszavont tanúsítvánnyal van aláírva
|
||||
}
|
||||
|
||||
## Per-signature status row. Only three distinct strings are needed:
|
||||
## the signature crypto either verified (the cert chain may still be
|
||||
## untrusted/expired/revoked, but that's surfaced on the cert row
|
||||
## below), or it failed, or its sub-format isn't supported.
|
||||
|
||||
pdfjs-digital-signature-properties-status-verified = Állapot: az aláírás ellenőrizve
|
||||
pdfjs-digital-signature-properties-status-invalid = Állapot: az aláírás érvénytelen
|
||||
pdfjs-digital-signature-properties-status-unknown = Állapot: nem ellenőrizhető (nem támogatott)
|
||||
|
||||
## Per-signature certificate row. The variants with an issuer / date in
|
||||
## parentheses embed fully-localized context — no English fall-through.
|
||||
##
|
||||
## Variables:
|
||||
## $issuer (String) - issuer or subject common name from the cert.
|
||||
## $dateObj (Date) - notAfter date for the expired-with-date form.
|
||||
|
||||
pdfjs-digital-signature-properties-certificate-trusted = Tanúsítvány: megbízható ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-unknown = Tanúsítvány: nem érhető el
|
||||
pdfjs-digital-signature-properties-certificate-untrusted = Tanúsítvány: nem megbízható
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-unknown-issuer = Tanúsítvány: ismeretlen kibocsátó ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-self-signed = Tanúsítvány: önaláírt ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-untrusted-untrusted-issuer = Tanúsítvány: nem megbízható kibocsátó ({ $issuer })
|
||||
pdfjs-digital-signature-properties-certificate-expired = Tanúsítvány: lejárt
|
||||
pdfjs-digital-signature-properties-certificate-expired-with-date = Tanúsítvány: lejárt ({ DATETIME($dateObj, dateStyle: "medium") })
|
||||
pdfjs-digital-signature-properties-certificate-revoked = Tanúsítvány: visszavonva
|
||||
|
||||
## Main menu for adding/removing signatures
|
||||
|
||||
pdfjs-editor-delete-signature-button1 =
|
||||
|
||||
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