[
  {
    "path": ".github/FUNDING.yml",
    "content": "buy_me_a_coffee: johnfactotum\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\nSteps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Version:**\n - Foliate version:\n - OS/Distribution and version: [e.g. Ubuntu 18.04]\n - Desktop environment: [e.g. GNOME 3.36]\n - Installation method: [e.g. Flatpak]\n\n**Additional context**\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: enhancement\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/question.md",
    "content": "---\nname: Question\nabout: Ask a question\ntitle: ''\nlabels: question\nassignees: ''\n\n---\n\n**Question:**\nA clear and concise statement of your question.\n\n**Version:**\n - Foliate version:\n - OS/Distribution and version: [e.g. Ubuntu 18.04]\n - Desktop environment: [e.g. GNOME 3.36]\n - Installation method: [e.g. Flatpak]\n"
  },
  {
    "path": ".github/workflows/deb.yml",
    "content": "# This is a basic workflow to help you get started with Actions\n\nname: Build Debian Package\n\n# Controls when the action will run. \non:\n  # Triggers the workflow on push or pull request events but only for the master branch\n  push:\n    branches: [ gtk4 ]\n  pull_request:\n    branches: [ gtk4 ]\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\n# A workflow run is made up of one or more jobs that can run sequentially or in parallel\njobs:\n  # This workflow contains a single job called \"build\"\n  build:\n    # The type of runner that the job will run on\n    runs-on: ubuntu-24.04\n\n    # Steps represent a sequence of tasks that will be executed as part of the job\n    steps:\n      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it\n      - uses: actions/checkout@v2\n        with:\n          submodules: 'true'\n\n      - run: sudo apt-get update\n      - run: sudo apt-get install build-essential debhelper meson gettext pkg-config libglib2.0-dev gjs appstream libgjs-dev desktop-file-utils\n      - run: dpkg-buildpackage -us -uc -nc\n      - run: mv ../*.deb .\n      - uses: actions/upload-artifact@v4\n        with:\n          name: Debian Package\n          path: \"*.deb\"\n"
  },
  {
    "path": ".github/workflows/eslint.yml",
    "content": "# This workflow uses actions that are not certified by GitHub.\n# They are provided by a third-party and are governed by\n# separate terms of service, privacy policy, and support\n# documentation.\n# ESLint is a tool for identifying and reporting on patterns\n# found in ECMAScript/JavaScript code.\n# More details at https://github.com/eslint/eslint\n# and https://eslint.org\n\nname: ESLint\n\non:\n  push:\n    branches: [ \"gtk4\" ]\n  pull_request:\n    # The branches below must be a subset of the branches above\n    branches: [ \"gtk4\" ]\n  schedule:\n    - cron: '38 14 * * 6'\n\njobs:\n  eslint:\n    name: Run eslint scanning\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      security-events: write\n      actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v3\n\n      - name: Install ESLint\n        run: |\n          npm install\n          npm install @microsoft/eslint-formatter-sarif@3.0.0\n\n      - name: Run ESLint\n        run: npx eslint .\n          --format @microsoft/eslint-formatter-sarif\n          --output-file eslint-results.sarif\n        continue-on-error: true\n\n      - name: Upload analysis results to GitHub\n        uses: github/codeql-action/upload-sarif@v2\n        with:\n          sarif_file: eslint-results.sarif\n          wait-for-processing: true\n"
  },
  {
    "path": ".github/workflows/snap.yml",
    "content": "name: Build test Foliate Snap\non:\n  push:\n    branches:\n      - gtk4\n  workflow_dispatch:\n\njobs:\n  snap:\n    name: Build snap\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v4\n    - name: Change Source\n      run: yq 'del(.parts.foliate.source-tag) | .parts.foliate.source = \".\"' snapcraft.yaml\n    - uses: canonical/action-build@v1\n      id: snapcraft\n    - uses: actions/upload-artifact@v4\n      if: ${{ github.event_name == 'release' }} #uploads the snap only if it's a release\n      with:\n        name: amber-snap\n        path: ${{ steps.snapcraft.outputs.snap }}\n"
  },
  {
    "path": ".gitignore",
    "content": "_build/\nbuild/\n.flatpak-builder/\n.mo\n__pycache__/\nnode_modules/\n\n#snapcraft specific ignores\n/parts/\n/stage/\n/prime/\n\n*.snap\n\n.snapcraft\n__pycache__\n*.pyc\n*_source.tar.bz2\nsnap/.snapcraft\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"src/foliate-js\"]\n\tpath = src/foliate-js\n\turl = https://github.com/johnfactotum/foliate-js\n"
  },
  {
    "path": "COPYING",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n\n"
  },
  {
    "path": "README.md",
    "content": "<img src=\"data/com.github.johnfactotum.Foliate.svg\" align=\"left\" style=\"margin-right:8px\"> \n<br><br>\n\n# Foliate\n\nRead books in style.\n\n![Screenshot](data/screenshots/screenshot.png)\n\n## Installation\n\n### Run Time Dependencies\n\n- `gjs` (>= 1.82)\n- `gtk4` (>= 4.12)\n- `libadwaita` (>= 1.8; `gir1.2-adw-1` in Debian-based distros)\n- `webkitgtk-6.0` (`webkitgtk6.0` in Fedora; `gir1.2-webkit-6.0` in Debian-based distros)\n\n#### Optional Dependencies\n\nTo enable auto-hyphenation, you will need to install hyphenation rules, e.g., `hyphen-en` for English, `hyphen-fr` for French, etc. (which strictly speaking are optional dependencies for WebkitGTK, not Foliate itself).\n\nFor text-to-speech support, install `speech-dispatcher` and output modules such as `espeak-ng`.\n\nIf installed, `tracker` (>= 3; `gir1.2-tracker-3.0` in Debian-based distros) and `tracker-miners` can be used to track the locations of files.\n\n### Obtaining the Source\n\nThe repo uses git submodules. Before running or installing, make sure you clone the whole thing with `--recurse-submodules`:\n\n```\ngit clone --recurse-submodules https://github.com/johnfactotum/foliate.git \n```\n\nOr download the tarball (the `.tar.xz` file) from the [Releases](https://github.com/johnfactotum/foliate/releases) page.\n\n### Run without Building or Installing\n\nIt's possible to run directly from the source tree without building or installing. Simply run\n\n```\ngjs -m src/main.js\n```\n\nThis can be useful if you just want to quickly try out Foliate or test a change.\n\nBut note that this will run it without using GSettings, so settings will not be saved. To solve this, you can compile the schema by running\n\n```\nglib-compile-schemas data\n```\n\nThen you can set the schema directory when running the app:\n\n```\nGSETTINGS_SCHEMA_DIR=data gjs -m src/main.js\n```\n\n### Building and Installing from Source\n\nThe following dependencies are required for building:\n\n- `meson` (>= 0.59)\n- `pkg-config`\n- `gettext`\n\nTo install, run the following commands:\n\n```\nmeson setup build\nsudo ninja -C build install\n```\n\nTo uninstall, run\n\n```\nsudo ninja -C build uninstall\n```\n\n#### Installing to a Local Directory\n\nBy default Meson installs to `/usr/local`. You can install without root permissions by choosing a local prefix, such as `$PWD/run`:\n\n```\nmeson setup build --prefix $PWD/run\nninja -C build install\n```\n\nYou can then run it with\n\n```\nGSETTINGS_SCHEMA_DIR=run/share/glib-2.0/schemas ./run/bin/foliate\n```\n\n### Flatpak\n\nFoliate is available on [Flathub](https://flathub.org/apps/details/com.github.johnfactotum.Foliate).\n\nFor developement with Flatpak, use [GNOME Builder](https://wiki.gnome.org/Apps/Builder) to open and run the project.\n\n### Snap\n\nFoliate is available on the [Snap Store](https://snapcraft.io/foliate). To install:\n\n```\nsudo snap install foliate\n```\n\n## Screenshots\n\n![Dark mode](data/screenshots/dark.png)\n\n![Wikipedia lookup](data/screenshots/lookup.png)\n\n![Book metadata](data/screenshots/about.png)\n\n![Annotations](data/screenshots/annotations.png)\n\n![Popup footnote](data/screenshots/footnote.png)\n\n![Vertical writing](data/screenshots/vertical.png)\n\n## License\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the [GNU General Public License](https://www.gnu.org/licenses/gpl.html) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThe following JavaScript libraries are bundled in this software:\n\n- [foliate-js](https://github.com/johnfactotum/foliate-js), which is MIT licensed.\n- [zip.js](https://github.com/gildas-lormeau/zip.js), which is licensed under the BSD-3-Clause license.\n- [fflate](https://github.com/101arrowz/fflate), which is MIT licensed.\n- [PDF.js](https://github.com/mozilla/pdf.js), which is licensed under Apache License 2.0.\n\n---\n\n<a href=\"https://www.buymeacoffee.com/johnfactotum\" target=\"_blank\"><img src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" ></a>\n"
  },
  {
    "path": "com.github.johnfactotum.Foliate.json",
    "content": "{\n    \"app-id\" : \"com.github.johnfactotum.Foliate\",\n    \"runtime\" : \"org.gnome.Sdk\",\n    \"runtime-version\" : \"49\",\n    \"sdk\" : \"org.gnome.Sdk\",\n    \"command\" : \"foliate\",\n    \"finish-args\" : [\n        \"--share=network\",\n        \"--share=ipc\",\n        \"--socket=fallback-x11\",\n        \"--device=dri\",\n        \"--socket=wayland\",\n        \"--filesystem=xdg-run/speech-dispatcher:ro\",\n        \"--add-policy=Tracker3.dbus:org.freedesktop.Tracker3.Miner.Files=tracker:Documents\"\n    ],\n    \"modules\" : [\n        {\n            \"name\" : \"foliate\",\n            \"buildsystem\" : \"meson\",\n            \"sources\" : [\n                {\n                    \"type\" : \"git\",\n                    \"branch\": \"gtk4\",\n                    \"url\": \"https://github.com/johnfactotum/foliate.git\"\n                }\n            ]\n        }\n    ]\n}\n"
  },
  {
    "path": "data/com.github.johnfactotum.Foliate.desktop.in",
    "content": "[Desktop Entry]\n# Translators: Do NOT translate! The is the application name!\nName=Foliate\nGenericName=E-Book Viewer\nComment=Read e-books in style\nCategories=Office;Viewer;\nMimeType=application/epub+zip;application/x-mobipocket-ebook;application/vnd.amazon.mobi8-ebook;application/x-fictionbook+xml;application/x-zip-compressed-fb2;application/vnd.comicbook+zip;x-scheme-handler/opds;\nExec=foliate %U\nIcon=com.github.johnfactotum.Foliate\nTerminal=false\nType=Application\n# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\nKeywords=Ebook;Book;EPUB;Viewer;Reader;\n# Translators: Do NOT translate or transliterate this text (these are enum types)!\nX-Purism-FormFactor=Workstation;Mobile;\nStartupNotify=true\n"
  },
  {
    "path": "data/com.github.johnfactotum.Foliate.gschema.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<schemalist gettext-domain=\"com.github.johnfactotum.Foliate\">\n  <schema id=\"com.github.johnfactotum.Foliate\" path=\"/com/github/johnfactotum/Foliate/\">\n    <child schema=\"com.github.johnfactotum.Foliate.window\" name=\"window\"/>\n    <child schema=\"com.github.johnfactotum.Foliate.viewer\" name=\"library\"/>\n    <child schema=\"com.github.johnfactotum.Foliate.viewer\" name=\"viewer\"/>\n    <key name=\"color-scheme\" type=\"i\">\n      <default>0</default>\n    </key>\n  </schema>\n\n  <schema id=\"com.github.johnfactotum.Foliate.window\"\n    path=\"/com/github/johnfactotum/Foliate/window/\">\n    <key name=\"default-width\" type=\"i\">\n      <default>1200</default>\n    </key>\n    <key name=\"default-height\" type=\"i\">\n      <default>750</default>\n    </key>\n    <key name=\"maximized\" type=\"b\">\n      <default>false</default>\n    </key>\n    <key name=\"fullscreened\" type=\"b\">\n      <default>false</default>\n    </key>\n  </schema>\n\n  <schema id=\"com.github.johnfactotum.Foliate.library\"\n    path=\"/com/github/johnfactotum/Foliate/library/\">\n    <key name=\"view-mode\" type=\"s\">\n      <default>'grid'</default>\n    </key>\n    <key name=\"show-covers\" type=\"b\">\n      <default>true</default>\n    </key>\n    <key name=\"cover-size\" type=\"i\">\n      <default>256</default>\n    </key>\n  </schema>\n\n  <schema id=\"com.github.johnfactotum.Foliate.viewer\"\n    path=\"/com/github/johnfactotum/Foliate/viewer/\">\n    <child schema=\"com.github.johnfactotum.Foliate.viewer.view\" name=\"view\"/>\n    <child schema=\"com.github.johnfactotum.Foliate.viewer.font\" name=\"font\"/>\n    <key name=\"fold-sidebar\" type=\"b\">\n      <default>false</default>\n    </key>\n    <key name=\"highlight-color\" type=\"s\">\n      <default>'yellow'</default>\n    </key>\n    <key name=\"translate-target-language\" type=\"s\">\n        <default>''</default>\n    </key>\n  </schema>\n\n  <schema id=\"com.github.johnfactotum.Foliate.viewer.view\"\n    path=\"/com/github/johnfactotum/Foliate/viewer/view/\">\n    <key name=\"brightness\" type=\"d\">\n      <default>1</default>\n    </key>\n    <key name=\"line-height\" type=\"d\">\n      <default>1.5</default>\n    </key>\n    <key name=\"justify\" type=\"b\">\n      <default>true</default>\n    </key>\n    <key name=\"hyphenate\" type=\"b\">\n      <default>true</default>\n    </key>\n    <key name=\"gap\" type=\"d\">\n      <default>0.06</default>\n    </key>\n    <key name=\"max-inline-size\" type=\"u\">\n      <default>720</default>\n    </key>\n    <key name=\"max-block-size\" type=\"u\">\n      <default>1440</default>\n    </key>\n    <key name=\"max-column-count\" type=\"u\">\n      <default>2</default>\n    </key>\n    <key name=\"scrolled\" type=\"b\">\n      <default>false</default>\n    </key>\n    <key name=\"animated\" type=\"b\">\n      <default>true</default>\n    </key>\n    <key name=\"invert\" type=\"b\">\n      <default>false</default>\n    </key>\n    <key name=\"theme\" type=\"s\">\n      <default>'default'</default>\n    </key>\n    <key name=\"autohide-cursor\" type=\"b\">\n      <default>false</default>\n    </key>\n    <key name=\"override-font\" type=\"b\">\n      <default>false</default>\n    </key>\n  </schema>\n\n  <schema id=\"com.github.johnfactotum.Foliate.viewer.font\"\n    path=\"/com/github/johnfactotum/Foliate/viewer/font/\">\n    <key name=\"serif\" type=\"s\">\n      <default>'Serif'</default>\n    </key>\n    <key name=\"sans-serif\" type=\"s\">\n      <default>'Sans'</default>\n    </key>\n    <key name=\"monospace\" type=\"s\">\n      <default>'Monospace'</default>\n    </key>\n    <key name=\"default\" type=\"u\">\n      <default>0</default>\n    </key>\n    <key name=\"default-size\" type=\"u\">\n      <default>16</default>\n    </key>\n    <key name=\"minimum-size\" type=\"u\">\n      <default>0</default>\n    </key>\n  </schema>\n</schemalist>\n"
  },
  {
    "path": "data/com.github.johnfactotum.Foliate.metainfo.xml.in",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component type=\"desktop\">\n    <id>com.github.johnfactotum.Foliate</id>\n    <metadata_license>CC0-1.0</metadata_license>\n    <project_license>GPL-3.0-or-later</project_license>\n    <name translate=\"no\">Foliate</name>\n    <summary>Read e-books in style</summary>\n    <translation type=\"gettext\">com.github.johnfactotum.Foliate</translation>\n    <description>\n        <p>Discover a new chapter in reading with Foliate, the modern e-book reader tailored for GNOME. Immerse yourself in a distraction-free interface, with customization features designed to match your unique preferences.</p>\n        <p>Features include:</p>\n        <ul>\n            <li>Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files</li>\n            <li>Paginated mode and scrolled mode</li>\n            <li>Customize font and line-spacing</li>\n            <li>Light, sepia, dark, and invert mode</li>\n            <li>Reading progress slider with chapter marks</li>\n            <li>Bookmarks and annotations</li>\n            <li>Find in book</li>\n            <li>Quick dictionary lookup</li>\n        </ul>\n    </description>\n    <developer_name translate=\"no\">John Factotum</developer_name>\n    <developer id=\"io.github.johnfactotum\">\n        <name translate=\"no\">John Factotum</name>\n    </developer>\n    <launchable type=\"desktop-id\">com.github.johnfactotum.Foliate.desktop</launchable>\n    <url type=\"homepage\">https://johnfactotum.github.io/foliate/</url>\n    <url type=\"vcs-browser\">https://github.com/johnfactotum/foliate</url>\n    <url type=\"bugtracker\">https://github.com/johnfactotum/foliate/issues</url>\n    <url type=\"translate\">https://github.com/johnfactotum/foliate/tree/gtk4/po</url>\n    <url type=\"faq\">https://github.com/johnfactotum/foliate/blob/gtk4/docs/faq.md</url>\n    <url type=\"donation\">https://www.buymeacoffee.com/johnfactotum</url>\n    <screenshots>\n        <screenshot type=\"default\">\n            <image type=\"source\">https://raw.githubusercontent.com/johnfactotum/foliate/gtk4/data/screenshots/screenshot.png</image>\n        </screenshot>\n        <screenshot>\n            <image type=\"source\">https://raw.githubusercontent.com/johnfactotum/foliate/gtk4/data/screenshots/dark.png</image>\n        </screenshot>\n        <screenshot>\n            <image type=\"source\">https://raw.githubusercontent.com/johnfactotum/foliate/gtk4/data/screenshots/lookup.png</image>\n        </screenshot>\n        <screenshot>\n            <image type=\"source\">https://raw.githubusercontent.com/johnfactotum/foliate/gtk4/data/screenshots/annotations.png</image>\n        </screenshot>\n        <screenshot>\n            <image type=\"source\">https://raw.githubusercontent.com/johnfactotum/foliate/gtk4/data/screenshots/vertical.png</image>\n        </screenshot>\n    </screenshots>\n    <releases>\n        <release version=\"3.3.0\" date=\"2025-04-01\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.3.0</url>\n            <description>\n                <ul>\n                    <li>Updated for GNOME 48</li>\n                    <li>Added support for mouse forward/backward buttons</li>\n                    <li>Improved text wrapping in headings</li>\n                    <li>Improved default link style</li>\n                </ul>\n            </description>\n        </release>\n        <release version=\"3.2.1\" date=\"2024-12-20\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.2.1</url>\n            <description>\n                <ul>\n                    <li>Fixed tables not displayed in FB2 books</li>\n                    <li>Updated translations</li>\n                </ul>\n            </description>\n        </release>\n        <release version=\"3.2.0\" date=\"2024-11-28\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.2.0</url>\n            <description>\n                <p>Various improvments and fixes, including a revamped translation tool, better focus handling, and better PDF rendering, now faster and no longer blurry.</p>\n            </description>\n        </release>\n        <release version=\"3.1.1\" date=\"2024-04-03\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.1.1</url>\n            <description>\n                <ul>\n                    <li>Fixed end of chapter cut off when chapter starts with page break</li>\n                    <li>Fixed incorrect text wrapping in tables</li>\n                    <li>Fixed a performance issue with OPDS catalogs</li>\n                </ul>\n            </description>\n        </release>\n        <release version=\"3.1.0\" date=\"2024-01-05\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.1.0</url>\n            <description>\n                <ul>\n                    <li>Added support for OPDS catalogs, now with support for OPDS 2.0</li>\n                    <li>Added option to override publisher font</li>\n                    <li>Added option to reduce animation</li>\n                    <li>Added support for JPEG XL in CBZ</li>\n                    <li>Fixed getting file from Tracker in Flatpak</li>\n                    <li>Fixed parsing of non-year-only first-century and BCE dates</li>\n                </ul>\n            </description>\n        </release>\n        <release version=\"3.0.1\" date=\"2023-11-20\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.0.1</url>\n        </release>\n        <release version=\"3.0.0\" date=\"2023-11-12\">\n            <url type=\"details\">https://github.com/johnfactotum/foliate/releases/tag/3.0.0</url>\n            <description>\n                <p>Foliate has been rewritten from scratch with a new e-book rendering library and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI and improved performance.</p>\n            </description>\n        </release>\n    </releases>\n    <content_rating type=\"oars-1.1\" />\n    <custom>\n        <value key=\"Purism::form_factor\">mobile</value>\n    </custom>\n    <branding>\n      <color type=\"primary\" scheme_preference=\"light\">#7bf1d9</color>\n      <color type=\"primary\" scheme_preference=\"dark\">#0b6275</color>\n    </branding>\n</component>\n"
  },
  {
    "path": "data/meson.build",
    "content": "desktop_file = i18n.merge_file(\n  input: 'com.github.johnfactotum.Foliate.desktop.in',\n  output: 'com.github.johnfactotum.Foliate.desktop',\n  type: 'desktop',\n  po_dir: '../po',\n  install: true,\n  install_dir: join_paths(get_option('datadir'), 'applications')\n)\n\ndesktop_utils = find_program('desktop-file-validate', required: false)\nif desktop_utils.found()\n  test('Validate desktop file', desktop_utils,\n    args: [desktop_file]\n  )\nendif\n\nappstream_file = i18n.merge_file(\n  input: 'com.github.johnfactotum.Foliate.metainfo.xml.in',\n  output: 'com.github.johnfactotum.Foliate.metainfo.xml',\n  po_dir: '../po',\n  install: true,\n  install_dir: join_paths(get_option('datadir'), 'metainfo')\n)\n\nappstreamcli = find_program('appstreamcli', required: false)\nif appstreamcli.found()\n  test('Validate appstream file', appstreamcli,\n    args: ['validate', '--no-net', appstream_file]\n  )\nendif\n\ninstall_data('com.github.johnfactotum.Foliate.gschema.xml',\n  install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')\n)\n\ncompile_schemas = find_program('glib-compile-schemas', required: false)\nif compile_schemas.found()\n  test('Validate schema file', compile_schemas,\n    args: ['--strict', '--dry-run', meson.current_source_dir()]\n  )\nendif\n\ninstall_data('com.github.johnfactotum.Foliate.svg',\n  install_dir: join_paths(get_option('datadir'), 'icons/hicolor/scalable/apps')\n)\ninstall_data('com.github.johnfactotum.Foliate-symbolic.svg',\n  install_dir: join_paths(get_option('datadir'), 'icons/hicolor/symbolic/apps')\n)\n"
  },
  {
    "path": "debian/changelog",
    "content": "foliate (3.3.0) bionic; urgency=medium\n\n  * New version\n\n -- John Factotum <50942278+johnfactotum@users.noreply.github.com>  Sun, 30 Jul 2023 08:08:08 +0800\n"
  },
  {
    "path": "debian/control",
    "content": "Source: foliate\nSection: gnome\nPriority: optional\nMaintainer: John Factotum <50942278+johnfactotum@users.noreply.github.com>\nBuild-Depends: debhelper-compat(=13),\n\tgettext,\n\tmeson (>= 0.59),\n\tpkg-config,\n\tlibglib2.0-dev (>= 2.54),\n\tlibgjs-dev,\n\tdesktop-file-utils,\n\tappstream\nStandards-Version: 4.5.0\nRules-Requires-Root: no\nHomepage: https://johnfactotum.github.io/foliate/\nVcs-Browser: https://github.com/johnfactotum/foliate\nVcs-Git: https://github.com/johnfactotum/foliate.git\n\nPackage: foliate\nArchitecture: all\nDepends: ${misc:Depends},\n\tgjs (>= 1.82),\n\tgir1.2-gtk-4.0 (>= 4.12),\n\tgir1.2-adw-1 (>= 1.8),\n\tgir1.2-webkit-6.0\nSuggests: gir1.2-tracker-3.0\nDescription: Read e-books in style\n Supported formats:\n   EPUB (.epub)\n   Kindle (.azw, .azw3) and Mobipocket (.mobi)\n   FictionBook 2 (.fb2, .fb2.zip)\n   Comic Book Archive (.cbz)\n"
  },
  {
    "path": "debian/copyright",
    "content": "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nUpstream-Name: foliate\nUpstream-Contact: John Factotum <50942278+johnfactotum@users.noreply.github.com>\nSource: https://github.com/johnfactotum/foliate\n\nFiles: *\nCopyright: John Factotum\nLicense: GPL-3.0+\n\nFiles: src/foliate-js/*\nCopyright: John Factotum\nLicense: Expat\n\nFiles: src/foliate-js/fflate.js\nCopyright: 2020 Arjun Barrett\nLicense: Expat\n\nFiles: src/foliate-js/zip.js\nCopyright: Gildas Lormeau\nLicense: BSD-3-clause\n\nLicense: GPL-3.0+\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n .\n This package is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n .\n On Debian systems, the complete text of the GNU General\n Public License version 3 can be found in \"/usr/share/common-licenses/GPL-3\".\n\nLicense: Expat\n Permission is hereby granted, free of charge, to any person obtaining\n a copy of this software and associated documentation files (the\n \"Software\"), to deal in the Software without restriction, including\n without limitation the rights to use, copy, modify, merge, publish,\n distribute, sublicense, and/or sell copies of the Software, and to\n permit persons to whom the Software is furnished to do so, subject to\n the following conditions:\n .\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n"
  },
  {
    "path": "debian/lintian-override",
    "content": "foliate: no-manual-page\n"
  },
  {
    "path": "debian/rules",
    "content": "#!/usr/bin/make -f\n\nexport DEB_BUILD_MAINT_OPTIONS = hardening=+all\n\n%:\n\tdh $@\n\noverride_dh_auto_configure:\n\tdh_auto_configure -- -Dcheck_runtime_deps=false\n\noverride_dh_auto_install:\n\tdh_auto_install\n\tfind ./debian -type f -name \"LICENSE\" -delete\n"
  },
  {
    "path": "debian/source/format",
    "content": "3.0 (quilt)\n"
  },
  {
    "path": "debian/upstream/metadata",
    "content": "Bug-Database: https://github.com/johnfactotum/foliate/issues\nBug-Submit: https://github.com/johnfactotum/foliate/issues/new\nRepository: https://github.com/johnfactotum/foliate.git\nRepository-Browse: https://github.com/johnfactotum/foliate\nSecurity-Contact: 50942278+johnfactotum@users.noreply.github.com\n"
  },
  {
    "path": "debian/watch",
    "content": "version=4\nopts=filenamemangle=s/.+\\/v?(\\d\\S+)\\.tar\\.gz/foliate-$1\\.tar\\.gz/ \\\n  https://github.com/johnfactotum/foliate/tags .*/?(\\d\\.\\d.\\d)\\.tar\\.gz\n"
  },
  {
    "path": "docs/faq.md",
    "content": "# FAQ\n\n## General\n\n### Something isn't working! What can I do?\n\nSee [<i>troubleshooting</i>](troubleshooting.md).\n\n## Reading\n\n### What are \"locations\"?\n\nIn Foliate, a book is divided into locations. Each location is 1500 bytes long. This gives you a rough \"page count\" that is (mostly) independent from the size of the viewport.\n\nLocations are not exact. If you want to reference locations in a book, you should use the *identifiers* provided by Foliate, which are standard [EPUB Canonical Fragment Identifiers (CFI)](https://w3c.github.io/epub-specs/epub33/epubcfi/).\n\nIn 1.x and 2.x versions of Foliate, locations were calculated with a entirely different (slower but more precise) method and they are not compatible with the current version.\n\n### How are reading time estimates calculated?\n\nCurrently, it simply uses the number of locations — basically, a character count — as a rough estimate. It isn't based on your page turning speed.\n\n### How to use text-to-speech?\n\nFoliate supports text-to-speech with speech-dispatcher, so make sure `speech-dispatcher` and output modules such as `espeak-ng` are installed on your system.\n\nTo use it, click on the <i>Narration</i> button (the one with a headphones icon) on the navbar (which is available by hovering or tapping on the footer area). Note that if the book has embedded audio ([EPUB Media Overlays](https://www.w3.org/TR/epub/#sec-media-overlays)), the <i>Narration</i> button would show controls for the embedded media, and TTS would not be available in that case.\n\nAlternatively you can select some text and choose <i>Speak from Here</i> from the selection menu. Though you still need to use the <i>Narration</i> button if you want to stop the speech output.\n\nThe default voice may sound somewhat robotic. You can use [Pied](https://pied.mikeasoft.com/) (a frontend for configuring [Piper](https://github.com/rhasspy/piper)) to change that to a more natural sounding voice. See [this](https://askubuntu.com/a/1526192/124466) for more details.\n\n### How to use custom themes?\n\nThemes are defined as JSON files. Here is an example theme:\n\n```json\n{\n    \"label\": \"Ghostly Mist\",\n    \"light\": {\n        \"fg\": \"#999999\",\n        \"bg\": \"#cccccc\",\n        \"link\": \"#666666\"\n    },\n    \"dark\": {\n        \"fg\": \"#666666\",\n        \"bg\": \"#333333\",\n        \"link\": \"#777777\"\n    }\n}\n```\n\nTo install themes, you need to put them in `~/.config/com.github.johnfactotum.Foliate/themes/`.\n\nWhen using Flatpak, the files should be placed in `~/.var/app/com.github.johnfactotum.Foliate/config/com.github.johnfactotum.Foliate/themes/`.\n\nWhen using Snap, the files should be placed in `~/snap/foliate/current/.config/com.github.johnfactotum.Foliate/themes/`.\n\n### Can I set my own custom CSS styles?\n\nYou can create a user stylesheet file at `~/.config/com.github.johnfactotum.Foliate/user-stylesheet.css`. If you're using Flatpak, the location should be `~/.var/app/com.github.johnfactotum.Foliate/config/com.github.johnfactotum.Foliate/user-stylesheet.css`. Note that Foliate needs to be restarted for changes to take effect.\n\nTip: you can use the [`:lang()`](https://developer.mozilla.org/en-US/docs/Web/CSS/:lang) selector to apply different styles for books in different languages.\n\n## Bookmarks & Annotations\n\n### How are notes and bookmarks stored?\n\nYour reading progress, bookmarks, and annotations are saved in `~/.local/share/com.github.johnfactotum.Foliate`.\n\nWhen using Flatpak, they are placed in `~/.var/app/com.github.johnfactotum.Foliate/data/com.github.johnfactotum.Foliate`.\n\nWhen using Snap, they are placed in `~/snap/foliate/current/.local/share/com.github.johnfactotum.Foliate`.\n\nThe data for each book is stored in a JSON file named after the book's identifier. If you'd like to sync or backup your progress and notes, simply copy these files and everything should just work™.\n\nInside the JSON file, the structure looks like this:\n\n```javascript\n{\n  \"lastLocation\": \"epubcfi(/6/12!/4/2/2/2/1:0)\", // your reading progress\n  \"annotations\": [\n    {\n      // EPUB CFI of the highlighted text\n      \"value\": \"epubcfi(/6/12!/4/2/2/2,/1:0,/1:286)\",\n      // highlight color\n      \"color\": \"aqua\",\n      // the highlighted text\n      \"text\": \"Good sense is, of all things among men, the most equally distributed; for every one thinks himself so abundantly provided with it, that those even who are the most difficult to satisfy in everything else, do not usually desire a larger measure of this quality than they already possess.\",\n      // ... and your note\n      \"note\": \"Very droll, René.\"\n    },\n    // ...\n  ],\n  \"bookmarks\": [ /* bookmarks are stored here */ ],\n  \"metadata\": { /* the book's metadata */ }\n}\n```\n\nThe `epubcfi(...)` parts are [EPUB Canonical Fragment Identifiers (CFI)](https://w3c.github.io/epub-specs/epub33/epubcfi/), which is the \"standardized method for referencing arbitrary content within an EPUB® Publication.\"\n\n### How are identifiers generated?\n\nFor formats or books without unique identifiers, Foliate will generate one with the prefix `foliate:`, plus the MD5 hash of the file. To speed things up, it only uses up to the first 10000000 bytes of the file. You can run `head -c 10000000 $YOUR_FILE_HERE | md5sum` to get the same hash.\n\n## Security\n\n### Is Foliate secure?\n\nEPUB files are HTML files packaged in a Zip file. They can contain JavaScript and other potentially unsafe content.\n\nCurrently, JavaScript and external resources are blocked in Foliate. For additional safeguard against potential vulnerabilities it is recommended to run Foliate in a sandboxed environment, for example, by using the Flatpak package.\n\nIn 1.x and 2.x versions of Foliate, JavaScript could be optionally enabled. Do NOT do this if you're using these versions as it is highly insecure.\n\n### Why does it require these Flatpak permissions?\n\n- It requires network access (`--share=network`) for online dictionary, encyclopedia, and translation tools.\n- It requires `--filesystem=xdg-run/speech-dispatcher:ro` in order to connect to the speech-dispatcher server on the host.\n- It requires `--add-policy=Tracker3.dbus:org.freedesktop.Tracker3.Miner.Files=tracker:Documents` in order to access the [Tracker](https://tracker.gnome.org/) database on the host. This allows Foliate to get the locations of files when opening books from the library view.\n\nThe permissions listed above are all optional. If you don't need the functionalities provided by these permissions, you should consider overriding them with the `flatpak` command or with tools like [Flatseal](https://github.com/tchx84/flatseal).\n\n## For Publishers and Developers\n\n### Developer Tools\n\nWeKit's Developer Tools can be accessed by going to the primary menu > Inspector, or by pressing <kbd>F12</kbd>. It's recommended that you detach the Developer Tools panel to a separate window; otherwise shortcuts set on the viewer window will interfere with key presses in Developer Tools.\n"
  },
  {
    "path": "docs/troubleshooting.md",
    "content": "# Troubleshooting\n\n## I changed the font, color, and spacing settings, but it's not working for some books\n\nFoliate tries to respect the publisher's stylesheet. It's hard to strike a balance between user control and publisher control, and overriding the book's styles can result in unexpted breakages. Ultimately, it is up to the publishers to not hardcode styles unecessarily.\n\nTo work around this issue, you can [add your own custom styles](https://github.com/johnfactotum/foliate/blob/gtk4/docs/faq.md#can-i-set-my-own-custom-css-styles).\n\n## The dictionary/Wikipedia/translation tool doesn't work\n\n- These tools require network access to online third party services.\n- The language metadata needs to be correctly marked up in the book.\n- Dictionary and Wikipedia lookup rely on Wikimedia's REST APIs and they often have trouble extracting content from wikitext (a notoriously difficult task).\n\n## Text-to-speech doesn't work\n\nYou need to install `speech-dispatcher` and output modules such as `espeak-ng`. To test your Speech Dispatcher configuration, use the `spd-say` command.\n\nIf you're using Flatpak or Snap, you need to have Speech Dispatcher >= 0.11.4 installed on the host system, and it must be configured with socket activation support . To check this, make sure the file `/usr/lib/systemd/user/speech-dispatcher.socket` exists. Contact the maintainers of your distro if `speech-dispatcher` doesn't support socket activation on your system.\n\nTo work around the issue when Speech Dispatcher doesn't support socket activation, you can have the command `speech-dispatcher --timeout 0` run on startup. This will keep Speech Dispatcher running at all times.\n\n## I deleted a book on my disk, but it's still showing up in Foliate's library\n\nFoliate doesn't keep track of your files. So it can't know whether they are deleted or not. For now, you have to manually remove the book in Foliate after deleting the file.\n\nConversely, removing a book in Foliate will not delete the file.\n\n## It can't open books. It hangs/crashes/shows a blank page...\n\n### ... and I'm using Nvidia GPU\n\nWebKitGTK, the library Foliate uses to render books is known to have problems with Nvidia. To fix this:\n1. Make sure to your system is up-to-date.\n2. Try setting the environment variable `WEBKIT_DISABLE_DMABUF_RENDERER=1`. This will temporarily fix [bug 261874](https://bugs.webkit.org/show_bug.cgi?id=261874). If you're using Flatpak, you can add environment variables with [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal).\n\n### ... and I'm using Flatpak\n\nThe issue could be mixed locales, which Flatpak can't handle. To fix this, set the environment variable `LC_ALL=en_US.UTF-8`. You can add environment variables with [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal).\n\n### ... and I'm using Snap\n\nThe issue could be [#1102](https://github.com/johnfactotum/foliate/issues/1102). To fix this, run the following command:\n\n```sh\nsudo /usr/lib/snapd/snap-discard-ns foliate\n```\n\n## I'm still having issues\n\nPlease [file a bug report](https://github.com/johnfactotum/foliate/issues/new/choose). Don't be concerned about whether your issue is already reported or not. It's better to have duplicate reports of the same bug than having different bugs in the same issue thread.\n"
  },
  {
    "path": "eslint.config.js",
    "content": "import js from '@eslint/js'\nimport globals from 'globals'\n\nexport default [js.configs.recommended, { ignores: ['src/foliate-js'] }, {\n    languageOptions: {\n        globals: {\n            ...globals.browser,\n            imports: 'readonly',\n            pkg: 'readonly',\n        },\n    },\n    linterOptions: {\n        reportUnusedDisableDirectives: true,\n    },\n    rules: {\n        semi: ['error', 'never'],\n        indent: ['warn', 4, { flatTernaryExpressions: true, SwitchCase: 1 }],\n        quotes: ['warn', 'single', { avoidEscape: true }],\n        'comma-dangle': ['warn', 'always-multiline'],\n        'no-trailing-spaces': 'warn',\n        'no-unused-vars': 'warn',\n        'no-console': ['warn', { allow: ['debug', 'warn', 'error', 'assert'] }],\n        'no-constant-condition': ['error', { checkLoops: false }],\n        'no-empty': ['error', { allowEmptyCatch: true }],\n    },\n}]\n"
  },
  {
    "path": "meson.build",
    "content": "project('com.github.johnfactotum.Foliate',\n    version: '3.3.0',\n    meson_version: '>= 0.59.0',\n)\n\ngnome = import('gnome')\ni18n = import('i18n')\ngjs = dependency('gjs-1.0')\n\nif get_option('check_runtime_deps')\n    dependency('gjs-1.0', version: '>= 1.82')\n    dependency('gtk4', version: '>= 4.12')\n    dependency('libadwaita-1', version: '>= 1.8')\n    dependency('webkitgtk-6.0', version: '>= 2.40.1')\nendif\n\nsubdir('data')\nsubdir('src')\nsubdir('po')\n\ngnome.post_install(\n    glib_compile_schemas: true,\n    gtk_update_icon_cache: true,\n    update_desktop_database: true,\n)\n"
  },
  {
    "path": "meson_options.txt",
    "content": "option('check_runtime_deps', type: 'boolean', description: 'Check run-time dependencies')\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"foliate\",\n  \"version\": \"3.1.1\",\n  \"description\": \"Read e-books in style\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/johnfactotum/foliate.git\"\n  },\n  \"author\": \"John Factotum\",\n  \"license\": \"GPL-3.0-or-later\",\n  \"bugs\": {\n    \"url\": \"https://github.com/johnfactotum/foliate/issues\"\n  },\n  \"homepage\": \"https://johnfactotum.github.io/foliate/\",\n  \"type\": \"module\",\n  \"devDependencies\": {\n    \"@eslint/js\": \"^9.9.1\",\n    \"globals\": \"^15.9.0\"\n  }\n}\n"
  },
  {
    "path": "po/LINGUAS",
    "content": "ar\nbe\ncs\nde\nel\nes\neu\nfa\nfr\nga\ngl\nhe\nhi\nhr\nhu\nid\nie\nit\nja\nka\nko\nnb\nnl\nnn\noc\npt_BR\nru\nsr\nsv\ntr\nuk\nzh_CN\nzh_TW\nvi\n"
  },
  {
    "path": "po/POTFILES",
    "content": "src/annotations.js\nsrc/app.js\nsrc/book-info.js\nsrc/book-viewer.js\nsrc/format.js\nsrc/library.js\nsrc/main.js\nsrc/navbar.js\nsrc/selection-tools.js\nsrc/themes.js\nsrc/tts.js\nsrc/utils.js\nsrc/ui/annotation-popover.ui\nsrc/ui/annotation-row.ui\nsrc/ui/book-image.ui\nsrc/ui/book-item.ui\nsrc/ui/book-row.ui\nsrc/ui/book-viewer.ui\nsrc/ui/bookmark-row.ui\nsrc/ui/export-dialog.ui\nsrc/ui/help-overlay.ui\nsrc/ui/image-viewer.ui\nsrc/ui/import-dialog.ui\nsrc/ui/library.ui\nsrc/ui/library-view.ui\nsrc/ui/navbar.ui\nsrc/ui/selection-popover.ui\nsrc/ui/tts-box.ui\nsrc/ui/view-preferences-window.ui\ndata/com.github.johnfactotum.Foliate.desktop.in\ndata/com.github.johnfactotum.Foliate.metainfo.xml.in\n"
  },
  {
    "path": "po/ar.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: Pierre Moussa, Giorgos Mousa <gmou3@hotmail.com>\\n\"\n\"Language-Team: Arabic <LL@li.org>\\n\"\n\"Language: ar\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"تم حذف الBookmark\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"إبطال\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"تحته خط\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"خط متعرج\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"يتوسطه خط\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"أصفر\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"برتقالي\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"أحمر\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"أرجواني\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"لازوردي\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"أخضر\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"…إختيار أللون\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"إختيار\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"كل الملفات\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"كل الملفات\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"لا مقاطع مختارة\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"استيراد المقاطع المختارة…\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"حدث خطأ\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"ليس لديك أية مقاطع مختارة لهذا الكتاب\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"المقاطع المختارة ل“%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d مقطع مختار\"\nmsgstr[1] \"%d مقاطع مختارة\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"إغلاق\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"إلغاء\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"ملفات الكتاب الإلكتروني\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"اقرأ الكتب الإلكترونية بأسلوب أنيق\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"بيار موسى, جورج موسى\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"مصدر الرمز\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"الناشر\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"نشرت في\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"حدثّت في\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"اللغة\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"ترجم\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\n#, fuzzy\nmsgid \"Color by\"\nmsgstr \"اللون\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"محتويات\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"معرّف\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"حول هذا الكتاب\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"صفحة\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"الملحوظة السفلية\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"انتقل إلى الملحوظة السفلية\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"انتقل إلى الملحوظة السفلية\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"انتقل إلى الملحوظة السفلية\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"لم يتم العثور على تعريفات\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"لم يتم العثور على تعريفات\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"حذف الBookmark\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"اضافة Bookmark\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"لم يتم العثور على الملف\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"نوع الملف غير مدعوم.\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"تم حذف المقطع المختار\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"صورة من “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"صورة\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"من %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\n#, fuzzy\nmsgid \"Failed to Load\"\nmsgstr \"تم النسخ إلى الحافظة\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"إعادة تحميل\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"إبحث\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\n#, fuzzy\nmsgid \"Preview\"\nmsgstr \"السابق\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"السابق\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"التالي\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"إبحث\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"محتويات\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"إزالة الكتاب؟\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"سيتم فقدان التقدم في القراءة والشروح والإشارات المرجعية بشكل دائم\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_إلغاء\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_إزالة\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"تم النسخ إلى الحافظة\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"إزالة\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"قائمة الكتاب\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"اضف ملاحظة…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"المكتبة\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"قاموس\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"لم يتم العثور على تعريفات\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"ابحث في ويكاموس\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"ويكيبيديا\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"ابحث في ويكيبيديا\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"ترجم\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"الترجمة عن طريق ترجمة Google\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"يتعذر استرداد الترجمة\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"إبحث\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"الأساسي\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"رمادي\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"سيبيا\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"عشبي\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"كرزي\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"سماوي\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"مشمس\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"جروفبوكس\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"نورد\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"تحويل النص إلى كلام\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"تم النسخ إلى الحافظة\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"إختر الأسلوب\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"حذف\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"القائمة\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"اضف ملاحظة…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"افتح في نافذة جديدة\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"تصدير المقاطع المختارة…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"نافذة جديدة\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"افتح نسخة\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"استيراد المقاطع المختارة…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"حول Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"جميع الأقسام\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"القسم الحالي\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"مطابقة الكلمات الكاملة فقط\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"مطابقة الاحرف\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"مطابقة علامات التشكيل\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"إعدادات الخط والتنسيق\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"تمرير النص\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"عكس الألوان في الوضع الداكن\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"طباعة…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"المفتش\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"لا يمكن فتح الكتاب\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"تفاصيل\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"الشريط الجانبي\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"قائمة الكتاب\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"إبحث\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"إبحث في الكتاب…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"محتويات\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"المقاطع المختارة\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"مرشح المقاطع المختارة\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"حذف الBookmark\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"لم يتم العثور على نتائج\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"حاول إجراء بحث مختلف\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"الشريط الجانبي\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"عرض القائمة\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"تصغير\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"إعادة ضبط التكبير\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"تكبير\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"اتبع نمط النظام\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"تصدير المقاطع المختارة\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"تصدير\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"نوع الملف\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"اختر “JSON” إذا كنت تخطط لاستيراد المقاطع المختارة مرة أخرى إلى Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"إنسخ\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"حفظ بإسم…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"تدوير 90° عكس عقارب الساعة\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"تدوير 90° في اتجاه عقارب الساعة\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"استيراد المقاطع المختارة…\"\n\n#: src/ui/import-dialog.ui:21\n#, fuzzy\nmsgid \"Import\"\nmsgstr \"تصدير\"\n\n#: src/ui/import-dialog.ui:33\n#, fuzzy\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"ليس لديك أية مقاطع مختارة لهذا الكتاب\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"عرض القائمة\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"عرض الشبكة\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"إفتح…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"القائمة الرئيسية\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"إفتح…\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"المكتبة\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"ابحث في المكتبة…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"عودة\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"إلى الأمام\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"لا يوجد كتب حتى الآن\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"افتح كتابًا لبدء القراءة\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"الموقع\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"الوقت المتبقي في القسم\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"الوقت المتبقي في الكتاب\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"صفحة\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"الصق وانتقل\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"قسم\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"القسم الأول\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"القسم السابق\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"إنتقل الى\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"القسم التالي\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"القسم الأخير\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"إختار\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"تحدث من هنا\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"معرّف\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"طباعة ما هو محدد…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"السرعة\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"درجة الصوت\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"الخط\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"حجم الخط\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"حجم الخط الأساسي\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"أصغر حجم خط\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"عائلة الخط\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"الخط الأساسي\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"خط Serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"خط Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"خط Monospace\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"التخطيط\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"فقرة\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"ارتفاع خط\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"نص مضبوط بالكامل\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"واصلة تلقائية\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"الهوامش\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"الحد الأقصى لعدد الأعمدة\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"المقاس الأكبر للنص\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"الحد الأقصى لعرض العمود (الكتابة الأفقية) أو الارتفاع (الكتابة العمودية)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"الحد الأقصى لحجم كتلة النص\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"الحد الأقصى للارتفاع (الكتابة الأفقية) أو العرض (الكتابة العمودية)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"اللون\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"%d مقطع مختار\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"عارض الكتب الإلكترونية\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;كتاب;EPUB;عارض;قارئ;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"لا مقاطع مختارة\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"إبحث في الكتاب…\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"قائمة الكتاب\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"عرض القائمة\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"التفضيلات\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"التفضيلات\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"اختصارات لوحة المفاتيح\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"التفضيلات\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"تحدث\"\n\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"إخفاء الشريط الجانبي\"\n\n#~ msgid \"OK\"\n#~ msgstr \"حسناً\"\n\n#~ msgid \"Voice\"\n#~ msgstr \"صوت\"\n\n#~ msgid \"Start Speaking\"\n#~ msgstr \"ابدأ بالتحدث\"\n\n#~ msgid \"Stop Speaking\"\n#~ msgstr \"توقف عن التحدث\"\n"
  },
  {
    "path": "po/be.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Hiera Žyhadła, 2025.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2023-12-19 04:33+0000\\n\"\n\"PO-Revision-Date: 2024-12-06 05:57+0300\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: be\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \"\n\"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\"X-Generator: Poedit 3.4.4\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Закладка выдалена\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Адрабіць\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Падкрэслены\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Курсіўны\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Закрэслены\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Жоўты\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Аранжавы\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Чырвоны\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Пурпурны\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Марской хвалі\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Лаймавы\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Уласны колер…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Уласны\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON файл\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Усе файлы\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Няма каментароў\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Імпартаваны файл не мае каментароў\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Не атрымліваецца імпартаваць каментары\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Здарылася памылка\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"У гэтай кніжцы няма каментароў\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Каментары ў “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Каментар %d\"\nmsgstr[1] \"каментары %d\"\nmsgstr[2] \"%d каментароў\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Закрыць\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Скасаваць\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Файлы эл-кніжак\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Чытаць эл-кніжку ў стылі\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Hiera Žyhadła, 2025\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Зыходны код\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Выдавец\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Выдадзена\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Абноўлена\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Мова\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Пераклад\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Пад рэдакцыяй\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Агучка\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ілюстраванне\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Прадзюсар\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Вокладка\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Колеры\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Супрацоўнікі\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Ідэнтыфікатар\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Пра кніжку\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Месца %s з %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Старонка %s з %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Старонка %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Зноска\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Да зноскі\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Затэкставая зноска\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Да затэкставай зноскі\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Нататка\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Да нататкі\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Азначэнне\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Да азначэння\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Бібліяграфія\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Да бібіляграфіі\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Выдаліць закладку\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Дадаць закладку\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Файл не знойдзены\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Тып файлу не падтрымліваецца\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Каментар выдалены\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, «%s», с. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—«%s», с. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (с. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, «%s»\"\n\n#: src/book-viewer.js:884\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—«%s»\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Выява з “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Выява\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"з %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Загрузка\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Не ўдалося загрузіць\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Перазагрузіць\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Праглядзець усе\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Шукаць\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Фільтраваць\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Спампаваць\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Купіць\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Папярэдні прагляд\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Пробны ўрывак\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Пазычыць\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Падпісацца\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Бясплатна\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Першая\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Папярэдняя\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Наступная\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Апошняя\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Пошук\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Назва\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Аўтар\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Саўдзельнік\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Выдаліць кніжку?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Прагрэс чытання, каментары і закладкі будуць страчаны незваротна\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Скасаваць\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Выдаліць\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Не ўдалося адкрыць\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Не атрымалася адкрыць файл выбранай праграмай\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Не ўдалося спампаваць\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Перайменаваць…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Выдаліць\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Перайменаваць\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Назва\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Усе кніжкі\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Дадаць каталог…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Бібліятэка\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Каталогі\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Каталог выдалены\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Дадаць каталог\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Дадаць\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Можна праглядаць і спампоўваць кніжкі з каталога OPDS <a href=\\\"https://opds.\"\n\"io\\\">Падрабязней…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Слоўнік\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"З <a id=\\\"link\\\">Вікіслоўніку</a>, апублікавана на ўмовах <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">ліцензіі CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Няма азначэнняў\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Шукаць у Вікіслоўніку\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Вікіпедыя\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"З <a id=\\\"link\\\">Вікіпедыі</a>, апублікавана на ўмовах <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">ліцензіі CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Шукаць у Вікіпедыі\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Перакласці\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Перакладзена праз Google Перакладчык\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Не атрымліваецца перакласці\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Пошук…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Па змаўчанні\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Шэры\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Сепія\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Салатавы\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Вішнёвы\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Блакітны\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Памылка сінтэзу маўлення\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Пераканайцеся, што Speech Dispatcher усталяваны і добра працуе\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Скапіявана ў буфер\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Стыль вылучэння\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Выдаліць\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Меню\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Дадаць нататку…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Адкрыць у новым акне\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Адкрыць у знешняй праграме\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Экспартаваць каментары…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Новае акно\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Адкрыць копію\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Імпартаваць каментары…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Пра Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Усе раздзелы\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Бягучы раздзел\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Словы цалкам\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Адрозніваць маленькія/вялікія літары\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"З улікам дыякрытык\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Налады шрыфту і макета\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Рэжым прагорткі\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Інвертаваць колеры ў цёмным рэжыме\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Аўтаматычна хаваць курсор\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Друкаваць…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Інспектар\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Няможна адкрыць кніжку\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Падрабязнасці\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Адкрыць іншы файл…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Замацаваць бакавую панэль\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Меню кніжкі\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Знайсці\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Знайсці ў кніжцы…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Змест\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Каментары\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Вылучыце тэкст каб дадаць каментар\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Фільтраваць каментары…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Закладкі\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Няма закладак\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Дадайце закладкі каб убачыць іх тут\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Нічога не знойдзена\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Паспабуйце іншы запыт\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Бакавая панэль\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Меню прагляда\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Павялічыць\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Адрабіць змены\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Паменьшыць\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Як у сістэме\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Светлая тэма\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Цёмная тэма\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Паўнаэкранны рэжым\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Экспартаваць каментары\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Экспартаваць\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Фармаціраваць\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Выберыць “JSON” калі збіраецеся потым імпартаваць каментары ў Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Капіяваць\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Захаваць як…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Павярнуць па сонцу\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Павярнуць супраць сонца\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Імпартаваць каментары\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Імпартаваць\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Ідэнтыфікатар не супадае. Магчыма, каментары не для гэтай кніжцы.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Усё роўна імпартаваць\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Спісам\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Сеткай\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Адкрыць…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Галоўнае меню\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Адкрыць\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Меню біблятэкі\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Шукаць у бібліятэцы…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Назад\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Уперад\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Пакуль няма кніжак\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Адкрыйце кніжку каб пачаць чытаць\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Старонка\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Чытаць услых\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Засталося чытаць раздзел\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Засталося чытаць кніжку\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Старонка\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Уставіць і перайсці\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Раздзел\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Першы раздзел\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Мінулы раздзел\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Перайсці да…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Наступны раздзел\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Апошні раздзел\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Вылучыць\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Чытаць услых адсюль\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Скапіяваць са спасылкай на крыніцу\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Скапіяваць ідэнтыфікатар\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Друкаваць вылучанае…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Хуткасць\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Гучнасць\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Чытаць/паўза\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Спыніць\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Шрыфт\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Памер шрыфту\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Памер шрыфту па змаўчанні\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Найменьшы памер шрыфту\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Сямейства шрыфтоў\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Шрыфт па змаўчанні\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"З засечкамі\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Без засечак\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Выбраць шрыфт замест прадвызначанага\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Шрыфт з засечкамі\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Шрыфт без засечак\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Монашырынны\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Макет\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Абзац\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Вышыня радка\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Раўнаванне ўшыркі\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Перанос слоў\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Палі\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Найбольшая колькасці слупкоў\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Найменьшы памер элемента\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Найбольшая шырыня слупка (гарызантальнае пісьменства) ці вышыня\"\n\"(вертыкальнае пісьменства)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Найбольшы памер блока\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Найбольшая вышыня (гарызантальнае пісьменства) ці шырыня\"\n\"(вертыкальнае пісьменства)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Колер\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Паводзіны\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Адлучыць анімацыю\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Праглядальнік эл-кніжак\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Адкрыйце для сябе новую главу чытання з Foliate — сучаснай праграмай для чытання \"\n\"эл-кніжак, распрацаванай спецыяльна для GNOME. Пагрузісяце ў інтэрфейс, \"\n\"які можна наладзіць, каб ён пасаваў менавіта Вам.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Магчымасці:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Падтрымка EPUB, Mobipocket, Kindle, FB2, CBZ і PDF файлаў\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Пастаронкавы рэжым і гартанне\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Можна наладзіць шрыфт і паміжрадковага інтэрвалу\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Светлая, сепія, цёмная і інвертыраваная тэмы\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Паўзунок прагрэсу чытання з падзяленнем на главы\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Закладкі і каментары\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Пошук у кніжцы\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Хуткі пошук у слоўніку\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Выпраўлена перарыванне главы, калі наступнае пачынаецца з разрыву старонкі\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Выпраўлены неправільны перанос тэксту ў аркушах\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Выпраўлена загана з прадукцыйнасцю OPDS каталогаў\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Дададзена падтрымка OPDS каталогаў, цяпер для OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Дададзена магчымасць\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Дададзена магчымасць адлучыць анімацыю\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Дададзена падтрымка JPEG XL у CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Выпраўлена загрузка файла з трэкера у Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Выпраўлены парсінг «non-year-only first-century» дат і дат да нашай \"\n\"эры\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate перапісаны з нуля з выкарыстаннем новай бібліятэкі для рэндэрынгу эл-кніжак,\"\n\"а таксама актуальных бібліятэк платформы — GTK 4 і Libadwaita, з абноўленым інтэрфейсам\"\n\"і палепшанай прадукцыйнасцю.\"\n"
  },
  {
    "path": "po/com.github.johnfactotum.Foliate.pot",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n\"Language: \\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n"
  },
  {
    "path": "po/cs.po",
    "content": "# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n#\n# Pavel Fric <pavelfric@seznam.cz>, 2019, 2020, 2021, 2024, 2025.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-02-17 20:00+0100\\n\"\n\"Last-Translator: Pavel Fric <pavelfric@seznam.cz>\\n\"\n\"Language-Team: Czech <kde-i18n-doc@kde.org>\\n\"\n\"Language: cs\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\\n\"\n\"X-Generator: Lokalize 23.04.3\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Záložka smazána\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Zpět\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Podtržení\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Klikaté\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Přeškrtnutí\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Žlutý\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Oranžový\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Červený\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Červenorudý\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Akvamarínový\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Citrónový\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Vlastní barva...\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Vlastní\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Soubory JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Všechny soubory\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Žádné poznámky\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Zavedený soubor nemá žádné poznámky\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Nelze zavést poznámky\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Vyskytla se chyba\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"K této knize nemáte žádné poznámky.\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Poznámky pro “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d poznámka\"\nmsgstr[1] \"%d poznámky\"\nmsgstr[2] \"%d poznámek\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Zavřít\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Zrušit\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Soubory elektronických knih\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Stylové čtení elektronických knih\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Pavel Fric\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Zdrojový kód\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Vydavatel\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Zveřejněno\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Aktualizováno\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Jazyk\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Přeložil\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Upravil\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Vyprávěl\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Obrázky nakreslil\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Vyrobil\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Výtvarná stránka\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Barevné provedení podle\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Přispěvatelé\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifikátor\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"O knize\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Místo %s z %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Strana %s z %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Strana %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Poznámka pod čarou\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Jít na poznámku pod čarou\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Poznámka na konci\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Jít na poznámku na konci\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Poznámka\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Jít na poznámku\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Vymezení\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Jít na vymezení\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Seznam použité literatury\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Jít na seznam použité literatury\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Odstranit záložku\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Přidat záložku\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Soubor nenalezen\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Typ souboru nepodporován\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Poznámka smazána\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, s. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, s. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (s. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Obrázek z “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Obrázek\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"z %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Nahrává se\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Nepodařilo se nahrát\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Nahrát znovu\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Zobrazit vše\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Hledat\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtr\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Stáhnout\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Koupit\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Náhled\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Ukázka\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Půjčit\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Odebírat\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Zdarma\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"První\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Předchozí\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Další\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Poslední\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Vyhledávací podmínky\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Název\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Spisovatel\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Přispěvatel\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Odstranit knihu?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Postup čtení, poznámky a záložky budou trvale ztraceny\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Zrušit\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Odstranit\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Nepodařilo se otevřít\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Soubor se pomocí vybrané aplikace nepodařilo otevřít\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Nepodařilo se stáhnout\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"_Přejmenovat\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Odstranit\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Přejmenovat\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Název\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Všechny knihy\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Přidat seznam...\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Knihovna\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Seznamy\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Seznam odstraněn\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Přidat seznam\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Přidat\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Můžete si prohlížet a stahovat knihy ze seznamů OPDS. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"Adresa (URL)\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Slovník\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Z <a id=\\\"link\\\">Wikislovníku</a>, vydáno pod licencí <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Nenalezena žádná vymezení\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Hledat ve Wikislovníku\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedie\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Z <a id=\\\"link\\\">Wikipedie</a>, vydáno pod licencí <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Hledat ve Wikipedii\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Přeložit\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Překlad pomocí služby Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Nelze získat překlad\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Hledat…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Výchozí\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Šedá\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Tmavohnědá\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Tráva\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Třešeň\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Obloha\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Sluneční paprsky\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Sever\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Chyba při převodu textu na řeč\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Ověřte, že je v systému nainstalován a funguje program Speech Dispatcher.\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Zkopírováno do schránky\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Styl zvýraznění\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Smazat\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Nabídka\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Přidat poznámku...\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Otevřít v novém okně\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Otevřít pomocí vnějšího programu\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Vyvést poznámky…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nové okno\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Otevřít kopii\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Zavést poznámky…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"O programu Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Všechny oddíly\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Nynější oddíl\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Porovnat pouze celá slova\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Porovnat velikost písmen\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Porovnat diakritiku\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Nastavení písma a rozvržení\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Režim posouvání\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Obrátit barvy v tmavém režimu\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Automatické skrývání ukazovátka\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Tisk…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Správce\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Knihu nelze otevřít\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Podrobnosti\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Otevřít další soubor…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Přišpendlit postranní pruh\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Nabídka knihy\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Najít\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Najít v knize…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Obsah\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Poznámky\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Vyberte nějaký text pro přidání poznámek\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrovat poznámky…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Záložky\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Žádné záložky\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Přidejte několik záložek a podívejte se na ně zde\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Nenalezeny žádné výsledky\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Zkuste jiné hledání\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Postranní pruh\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Nabídka pro zobrazení\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Oddálit\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Obnovit výchozí zvětšení\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Přiblížit\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Držet se vzhledu systému\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Světlý vzhled\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Tmavý vzhled\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Celá obrazovka\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Vyvést poznámky\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Vyvést\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formát\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Pokud máte v úmyslu zavést poznámky zpět do aplikace Foliate, vyberte \"\n\"možnost \\\"JSON\\\".\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Organizační režim\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopírovat\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Uložit jako…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Otočit o 90° zprava doleva\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Otočit o 90° zleva doprava\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Zavést poznámky\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Zavést\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Identifikátor se neshoduje. Tyto poznámky se nemusí týkat této knihy.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Přesto zavést\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Zobrazení v seznamu\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Zobrazení v mřížce\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Otevřít...\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Hlavní nabídka\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Otevřít\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Nabídka pro knihovnu\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Hledat v knihovně...\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Zpět\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Vpřed\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Dosud žádné knihy\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Otevřete knihu a začněte číst\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Místo\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Vyprávění\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Zbývající čas v oddílu\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Zbývající čas v knize\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Strana\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Vložit a spustit\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Oddíl\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"První oddíl\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Předchozí oddíl\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Přejít na...\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Další oddíl\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Poslední oddíl\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Zvýraznit\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Číst nahlas odtud\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Kopírovat s citací\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Kopírovat identifikátor\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Vytisknout výběr…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Rychlost\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Výška tónu\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Přehrát/Pozastavit\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Zastavit\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Písmo\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Velikost písma\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Výchozí velikost písma\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Nejmenší velikost písma\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Rodina písma\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Výchozí písmo\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Patkové\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Bezpatkové\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Nebrat v úvahu písmo vydavatele\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Patkové písmo\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Bezpatkové písmo\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Písmo se stejnou roztečí\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Rozvržení\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Odstavec\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Výška řádku\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Plné zarovnání\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Dělení slov\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Okraje\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Největší počet sloupců\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Největší řádková velikost\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Největší šířka sloupce (vodorovné psaní) nebo výška (svislé psaní)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Největší bloková velikost\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Největší výška sloupce (vodorovné psaní) nebo výška (svislé psaní)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Barva\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Chování\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Zmenšit animaci\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Prohlížeč elektronických knih\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Elektronická kniha;Kniha;EPUB;Prohlížeč;Čtečka;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Objevte novou kapitolu čtení s moderní čtečkou elektronických knih Foliate \"\n\"přizpůsobenou pro prostředí GNOME. Ponořte se do nerozptylujícího rozhraní s \"\n\"přizpůsobitelnými prvky navrženými na míru vašim jedinečným volbám.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Vlastnosti zahrnují:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Otevírání souborů EPUB, Mobipocket, Kindle, FB2, CBZ a PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Stránkovaný režim a režim posouvání\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Přizpůsobení písma a řádkování\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Světlý, tmavohnědý (sépiový), tmavý a obrácený režim\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Posuvník postupu čtení se značkami kapitol\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Záložky a poznámky\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Najít v knize\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Rychlé vyhledávání ve slovníku\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Opraveno oříznutí konce kapitoly, když kapitola začíná zalomením stránky\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Opraveno nesprávné obtékání textu v tabulkách\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Opraven problém s výkonem katalogů OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Přidána podpora pro katalogy OPDS, nyní s podporou OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Přidána volba pro přepsání písma vydavatele\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Přidána volba pro zmenšení animace\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Přidána podpora pro JPEG XL v CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Opraveno získávání souboru ze služby Tracker v aplikaci Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"Opravo zpracování dat z prvního století a před naším letopočtem, která se\"\n\" netýkají pouze roku\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate byl od základu přepsán s novou knihovnou pro vykreslování \"\n\"elektronických knih a nejnovějšími knihovnami platformy GTK 4 a Libadwaitas \"\n\"obnoveným uživatelským rozhraním a vylepšeným výkonem.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Kniha\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Elektronická kniha\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Čtečka\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Prohlížeč\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Nastavení\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Nastavení\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Klávesové zkratky\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Nastavení\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Přečíst nahlas\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Ukázat postranní pruh\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"Hlasový herec\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Uložit soubor\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Změnit barvu zvýraznění\"\n\n#~ msgid \"More\"\n#~ msgstr \"Více\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"O knize\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Použít postranní pruh\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Obnovit zvětšení\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Jít na předchozí stranu\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Jít zpět na předchozí místo\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Jít na další stranu\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Jít na místo\"\n"
  },
  {
    "path": "po/de.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n# Jonas Harer <jonas.harer@icloud.com>, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-06-03 14:20+0200\\n\"\n\"Last-Translator: Jonas Harer <jonas.harer@icloud.com>\\n\"\n\"Language-Team: German\\n\"\n\"Language: de\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Gtranslator 48.0\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Lesezeichen\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Rückgängig\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Unterstrichen\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Wellig\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Durchgestrichen\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Gelb\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Orange\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rot\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Limone\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Benutzerdefinierte Farbe…\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Benutzerdefiniertes Thema\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"JSON-Dateien\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Alle Dateien\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Keine Anmerkungen\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Die importierte Datei hat keine Anmerkungen\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Kann keine Anmerkungen importieren\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Es ist ein Fehler aufgetreten.\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Du hast keine Anmerkungen für dieses Buch\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anmerkungen für “%s”\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Anmerkung\"\nmsgstr[1] \"%d Anmerkungen\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Schließen\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Abbrechen\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"E-Book Dateien\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Christian Heitjan\\n\"\n\"Finn Wiggers\"\n\n#: src/app.js:414\n#, fuzzy\nmsgid \"Source Code\"\nmsgstr \"Quellcode: \"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Herausgeber\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Herausgegeben\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\n#, fuzzy\nmsgid \"Updated\"\nmsgstr \"Letzte Änderung\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Sprache\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Übersetzt von\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Bearbeitet von\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Erzählt von\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illustriert von\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Produziert von\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Grafik von\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Farbe von\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Mitwirkende\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Kennung\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Über dieses Buch\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Pos. %s von %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Seite %s von %s\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Seite %s\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Fußnote\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Zur Fußnote gehen\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Schlussnote\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Zur Schlussnote gehen\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Notiz\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Zur Notiz gehen\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Definition\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Gehe zur Definition\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Literaturverzeichnis\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Zum Literaturverzeichnis gehen\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Lesezeichen entfernen\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Lesezeichen hinzufügen\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"Datei nicht gefunden\"\n\n#: src/book-viewer.js:715\n#, fuzzy\nmsgid \"File type not supported\"\nmsgstr \"Dateityp wird nicht unterstützt.\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Anmerkung gelöscht\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Abbildung von „%s“\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Bild\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"von %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Lädt\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Laden fehlgeschlagen\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Neu laden\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Alle ansehen\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Suchen\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filter\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Herunterladen\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Kaufen\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Vorschau\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Ausleihen\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Abonnieren\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Kostenlos\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Vorheriges\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Nächstes\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Letztes\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Suchbegriffe\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Titel\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autor\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Mitwirkende\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Buch entfernen?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"Lesefortschritt, Anmerkungen, und Lesezeichen werden dauerhaft gelöscht\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Abbrechen\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Entfernen\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Laden fehlgeschlagen\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Die Datei konnte mit der ausgewählten Anwendung nicht geöffnet werden.\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Herunterladen fehlgeschlagen\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Umbenennen…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Entfernen\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Umbenennen\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Name\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Alle Bücher\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Katalog hinzufügen…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliothek\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Kataloge\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalog entfernt\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Katalog hinzufügen\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Hinzufügen\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Du kannst Bücher von OPDS-Katalogen durchstöbern und herunterladen. a \"\n\"href=\\\"https://opds.io\\\">Mehr anzeigen…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Wörterbuch\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Keine Ergebnisse gefunden\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Auf Wiktionary suchen\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Auf Wikipedia suchen\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Übersetzen\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Übersetzung von Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Kann Übersetzung nicht abrufen\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Suchen\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Standard\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Grau\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Gras\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Kirsche\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Himmel\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Text-zu-Sprache\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Stelle sicher, dass Speech Dispatcher auf Deinem System installiert und \"\n\"funktionsfähig ist\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"In die Zwischenablage kopiert\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Stil der Hervorhebung\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Löschen\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Notiz hinzufügen…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"In neuem Fenster öffnen\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Mit externer Anwendung öffnen\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Anmerkungen exportieren…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Neues Fenster\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Eine Kopie öffnen\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Anmerkungen importieren…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Über Foliate\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Alle Sammlungen\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Aktuelles Kapitel\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Nur ganze Wörter\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Auf Großschreibung achten\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Ähnliche Zeichen\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Schriftart & Layout\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Endloses Scrollen\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Farben im dunklen Modus invertieren\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Cursor automatisch verstecken\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Drucken…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Untersuchen\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Buch kann nicht geöffnet werden\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Details\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Eine andere Datei öffnen…\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Seitenleiste anzeigen\"\n\n#: src/ui/book-viewer.ui:253\n#, fuzzy\nmsgid \"Book Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Suchen\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Im Buch suchen…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Inhalt\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anmerkungen\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Keine Anmerkungen\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Anmerkungen filtern…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Lesezeichen\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Lesezeichen\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Neue Lesezeichen werden hier angezeigt\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Keine Ergebnisse gefunden\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\n#, fuzzy\nmsgid \"Try a different search\"\nmsgstr \"Probiere eine andere Suche.\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Seitenleiste\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Verkleinern\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Zoom zurücksetzen\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Vergrößern\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"An System anpassen\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Hell\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Dunkel\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Vollbild\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Anmerkungen exportieren\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportieren\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formatieren\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Wähle “JSON”, wenn Du Anmerkungen zurück zu Foliate importieren möchtest\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopieren\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Speichern unter…\"\n\n#: src/ui/image-viewer.ui:25\n#, fuzzy\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Um 90° gegen den Uhrzeigersinn drehen\"\n\n#: src/ui/image-viewer.ui:32\n#, fuzzy\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Um 90° im Uhrzeigersinn drehen\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Anmerkungen importieren\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importieren\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Der Identifikator stimmt nicht überein. Diese Anmerkungen gehören \"\n\"wahrscheinlich nicht zu diesem Buch.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Trotzdem importieren\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Listenansicht\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Rasteransicht\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Öffnen…\"\n\n#: src/ui/library.ui:67\n#, fuzzy\nmsgid \"Main Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Öffnen\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Bibliothek\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Bibliothek durchsuchen…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Zurück\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Vorwärts\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Noch keine Bücher vorhanden\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Öffne ein Buch, um mit dem Lesen zu beginnen.\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Ort\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Erzählung\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"Verbleibende Zeit im Kapitel\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"Verbleibende Zeit im Buch\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Seite\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Einfügen und Los\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Kapitel\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Erstes Kapitel\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Vorheriges Kapitel\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Gehe zu…\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Nächstes Kapitel\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Vorheriges Kapitel\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Markieren\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Ab hier vorlesen\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Mit Zitat kopieren\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Kennung\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Aktuelles Kapitel drucken…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Geschwindigkeit\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Wiedergabe/Pause\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Stop\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Schriftart\"\n\n#: src/ui/view-preferences-window.ui:9\n#, fuzzy\nmsgid \"Font Size\"\nmsgstr \"Schriftgröße\"\n\n#: src/ui/view-preferences-window.ui:12\n#, fuzzy\nmsgid \"Default Font Size\"\nmsgstr \"Standardschriftgröße\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Minimale Schriftgröße\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Schriftart\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Standardschriftart\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Herausgeberschriftart überschreiben\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serif-Schriftart\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Sans-Serif-Schriftart\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Monospace-Schriftart\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Zeilenhöhe\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Gesamte Breite\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Automatische Silbentrennung\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Ränder\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Maximale Anzahl an Spalten\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Maximale Zeilengröße\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Maximale Spaltenbreite (horizontales Schreiben) oder Höhe (vertikales \"\n\"Schreiben)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Maximale Blockgröße\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Maximale Höhe (horizontales Schreiben) oder Breite (vertikales Schreiben)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Farbe\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Verhalten\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Animationen reduzieren\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"E-Book Reader\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-Book;Buch;EPUB;Betrachter;Reader;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Entdecke ein neues Kapitel des Lesens mit Foliate, dem modernen E-Book-\"\n\"Reader, angepasst für GNOME. Tauche in eine ablenkungsfreie Oberfläche ein, \"\n\"mit Anpassungsmöglichkeiten, die Deinen individuellen Vorlieben entsprechen.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Funktionen beinhalten:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Öffne EPUB, Mobipocket, Kindle, FB2, CBZ und PDF-Dateien\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Seitenmodus und Scrollmodus\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Anpassbare Schriftarten und Zeilenabstände\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Heller, sepia, dunkler und invertierter Modus\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Lesefortschrittsanzeige mit Kapitelmarkierungen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Lesezeichen und Anmerkungen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Im Buch suchen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Schnelle Wörterbuchsuche\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Herausgeberschriftart überschreiben\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Buch\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Verweis\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Zum Verweis gehen\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Tastaturkürzel\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Einstellungen\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Vorlesen\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Seitenleiste anzeigen\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"Stimme\"\n\n#, fuzzy\n#~ msgid \"Save File\"\n#~ msgstr \"Datei speichern\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Farbe der Markierung ändern\"\n\n#~ msgid \"More\"\n#~ msgstr \"Mehr\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Über dieses Buch\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Seitenleiste verwenden\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Ursprüngliche Zoomstufe\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Zur vorherigen Seite gehen\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Zurück zum vorherigen Ort gehen\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Zur nächsten Seite gehen\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Gehe zum vorherigen Kapitel\"\n"
  },
  {
    "path": "po/el.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-12-01 18:08+0200\\n\"\n\"Last-Translator: Giorgos Mousa <gmou3@hotmail.com>\\n\"\n\"Language-Team: Greek <LL@li.org>\\n\"\n\"Language: el\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Ο σελιδοδείκτης διαγράφηκε\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Αναίρεση\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Υπογράμμιση\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Τεθλασμένη γραμμή\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Διακριτική Διαγραφή\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Κίτρινο\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Πορτοκαλί\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Κόκκινο\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Φούξια\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Υδάτινο\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Λάιμ\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Προσαρμοσμένο Χρώμα…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Προσαρμοσμένο\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Αρχεία JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Όλα τα αρχεία\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Καμία επισήμανση\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Το εισαχθέν αρχείο δεν περιέχει επισημάνσεις\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Αδυναμία Εισαγωγής Επισημάνσεων\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Πρόκυψε κάποιο σφάλμα\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Δεν έχετε επισημάνσεις για αυτό το βιβλίο\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Επισημάνσεις για “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Επισήμανση\"\nmsgstr[1] \"%d Επισημάνσεις\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Κλείσιμο\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Ακύρωση\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Αρχεία Ηλεκτρονικών Βιβλίων\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Ανάγνωση ηλεκτρονικών βιβλίων με στυλ\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Γιώργος Μούσα\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Πηγαίος Κώδικας\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Εκδότης\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Δημοσιεύθηκε\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Ενημερώθηκε\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Γλώσσα\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Μετάφραση από\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Επεξεργασία από\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Αφήγηση από\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Εικονογράφηση από\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Παραγωγή από\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Καλλιτεχνικό έργο από\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Χρώμα από\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Συμβάλλοντες\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Αναγνωριστικό\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Περί του Βιβλίου\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Τοπ. %s από %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Σελ. %s από %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Σελίδα %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Υποσημείωση\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Πλοήγηση στην Υποσημείωση\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Σημείωση τέλους\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Πλοήγηση στη Σημείωση τέλους\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Σημείωση\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Πλοήγηση στη Σημείωση\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Ορισμός\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Μετάβαση στον Ορισμό\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Βιβλιογραφία\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Μετάβαση στη Βιβλιογραφία\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Αφαίρεση σελιδοδείκτη\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Προσθήκη σελιδοδείκτη\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Το αρχείο δεν βρέθηκε\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Ο τύπος του αρχείου δεν υποστηρίζεται\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Η επισήμανση διαγράφηκε\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Εικόνα από “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Εικόνα\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"από %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Φόρτωση\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Αδυναμία Φόρτωσης\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Επαναφόρτωση\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Προβολή Όλων\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Αναζήτηση\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Φίλτρο\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Κατέβασμα\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Αγορά\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Προεπισκόπηση\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Δείγμα\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Δανεισμός\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Εγγραφή\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Δωρεάν\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Πρώτο\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Προηγούμενο\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Επόμενο\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Τελευταίο\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Αναζήτηση Όρων\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Τίτλος\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Συγγραφέας\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Συμβάλλων\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Αφαίρεση Βιβλίου;\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"Η πρόοδος ανάγνωσης, οι επισημάνσεις, και οι σελιδοδείκτες, θα χαθούν \"\n\"οριστικά\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Ακύρωση\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Αφαίρεση\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Το άνοιγμα απέτυχε\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Αδυναμία ανοίγματος αρχείου με την επιλεγμένη εφαρμογή\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Το κατέβασμα απέτυχε\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Μετονομασία…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Διαγραφή\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Μετονομασία\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Όνομα\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Όλα τα Βιβλία\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Προσθήκη Καταλόγου…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Βιβλιοθήκη\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Κατάλογοι\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Ο κατάλογος διαγράφηκε\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Προσθήκη Καταλόγου\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Προσθήκη\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Μπορείτε να κατεβάσετε βιβλία από τους OPDS καταλόγους. <a href=\\\"https://\"\n\"opds.io\\\">Μάθετε περισσότερα…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Φυλλοειδές\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Λεξικό\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Από το <a id=\\\"link\\\">Βικιλεξικό</a>, δημοσιευμένο υπό την <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">Άδεια CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Δεν βρέθηκαν ορισμοί\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Αναζήτηση στο Βικιλεξικό\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Βικιπαίδεια\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Από την <a id=\\\"link\\\">Βικιπαίδεια</a>, δημοσιευμένο υπό την <a \"\n\"href=\\\"https://en.wikipedia.org/wiki/Wikipedia:\"\n\"Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Άδεια CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Αναζήτηση στη Βικιπαίδεια\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Μετάφραση\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Μετάφραση από Google Μετάφραση\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Αδυναμία ανάκτησης μετάφρασης\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Αναζήτηση…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Προκαθορισμένο\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Γκρι\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Σέπια\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Γρασίδι\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Κεράσι\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Ουρανός\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Λιασμένο\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Βορινό\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Σφάλμα λειτουργίας Κείμενο-σε-Ομιλία\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Βεβαιωθείτε ότι το λογισμικό κειμένου-σε-ομιλία είναι εγκατεστημένο και \"\n\"λειτουργικό στο σύστημά σας\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Αντιγράφηκε στο πρόχειρο\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Τρόπος Επισήμανσης\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Διαγραφή\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Μενού\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Προσθήκη Σημείωσης…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Άνοιγμα σε Νέο Παράθυρο\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Άνοιγμα σε Εξωτερική Εφαρμογή\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Εξαγωγή Επισημάνσεων…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Νέο Παράθυρο\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Άνοιγμα ενός Αντιγράφου\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Εισαγωγή Επισημάνσεων…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Περί του Φυλλοειδούς\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Όλες οι Ενότητες\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Τρέχουσα Ενότητα\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Αντιστοίχιση μόνο ολόκληρων λέξεων\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Αντιστοίχιση Πεζών/Κεφαλαίων\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Αντιστοίχιση Διακριτικών\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Ρυθμίσεις Γραμματοσειράς & Διάταξης\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Κυλιόμενη Διάταξη\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Αντιστροφή Χρωμάτων στη Σκουρόχρωμη Λειτουργία\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Αυτόματη Απόκρυψη Δείκτη Ποντικιού\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Εκτύπωση…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Επιθεωρητής\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Αδυναμία Ανοίγματος Βιβλίου\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Λεπτομέρειες\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Άνοιγμα Άλλου Αρχείου…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Καρφίτσωμα Πλαϊνής Μπάρας\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Κατάλογος Βιβλίων\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Εύρεση\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Εύρεση στο βιβλίο…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Περιεχόμενα\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Επισημάνσεις\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Επιλέξτε κάποιο κείμενο για να προσθέσετε επισημάνσεις\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Φίλτρο επισημάνσεων…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Σελιδοδείκτες\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Δεν υπάρχουν σελιδοδείκτες\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Προσθέστε σελιδοδείκτες για να τους δείτε εδώ\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Δεν Βρέθηκαν Αποτελέσματα\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Επιχειρείστε μία διαφορετική αναζήτηση\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Πλαϊνή μπάρα\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Προβολή Μενού\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Σμίκρυνση\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Επαναφορά Επιπέδου Μεγέθυνσης\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Μεγέθυνση\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Συμφωνία με το Στυλ του Συστήματος\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Ανοιχτόχρωμο Στυλ\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Σκουρόχρωμο Στυλ\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Πλήρης Οθόνη\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Εξαγωγή Επισημάνσεων\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Εξαγωγή\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Τύπος\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Επιλέξτε “JSON” αν σκοπεύετε να εισαγάγετε τις επισημάνσεις ξανά στο \"\n\"Φυλλοειδές\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Αντιγραφή\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Αποθήκευση ως…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Περιστροφή 90° Αριστερά\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Περιστροφή 90° Δεξιά\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Εισαγωγή Επισημάνσεων\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Εισαγωγή\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Το αναγνωριστικό δεν ταιριάζει. Αυτές οι επισημάνσεις πιθανώς δεν \"\n\"αναφέρονται σε αυτό το βιβλίο\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Εισαγωγή Παρόλα Αυτά\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Όψη Λίστας\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Όψη Πλέγματος\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Άνοιγμα…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Κύριο Μενού\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Άνοιγμα\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Μενού Βιβλιοθήκης\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Αναζήτηση στη βιβλιοθήκη…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Πίσω\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Εμπρός\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Δεν υπάρχουν βιβλία ακόμα\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Ανοίξτε ένα βιβλίο για να ξεκινήσετε την ανάγνωση\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Τοποθεσία\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Αφήγηση\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Υπολειπόμενος Χρόνος στην Ενότητα\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Υπολειπόμενος Χρόνος στο Βιβλίο\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Σελίδα\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Επικόλληση και Μετάβαση\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Ενότητα\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Πρώτη Ενότητα\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Προηγούμενη Ενότητα\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Μεταπήδηση Σε…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Επόμενη Ενότητα\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Τελευταία Ενότητα\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Επισήμανση\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Εκκίνηση Ομιλίας από Εδώ\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Αντιγραφή με Αναφορά\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Αντιγραφή Αναγνωριστικού\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Εκτύπωση Επιλογής…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Ταχύτητα\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Τονικότητα\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Εκκίνηση/Παύση\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Διακοπή\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Γραμματοσειρά\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Μέγεθος Γραμματοσειράς\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Προκαθορισμένο Μέγεθος Γραμματοσειράς\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Ελάχιστο Μέγεθος Γραμματοσειράς\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Οικογένεια Γραμματοσειρών\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Προκαθορισμένη Γραμματοσειρά\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Με Πατούρες\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Χωρίς Πατούρες\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Παράκαμψη Γραμματοσειράς Εκδότη\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Γραμματοσειρά με Πατούρες\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Γραμματοσειρά χωρίς Πατούρες\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Ισοπαχής Γραμματοσειρά\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Διάταξη\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Παράγραφος\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Ύψος γραμμής\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Πλήρης Στοίχιση\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Αυτόματος Συλλαβισμός\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Περιθώρια\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Μέγιστος Αριθμός Στηλών\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Μέγιστο Μέγεθος Εντός της Γραμμής\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Μέγιστο πλάτος στήλης (οριζόντια γραφή) ή ύψος (κάθετη γραφή)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Μέγιστο Μέγεθος Τμήματος\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Μέγιστο ύψος (οριζόντια γραφή) ή μέγιστο πλάτος (κάθετη γραφή)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Χρώμα\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Συμπεριφορά\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Μείωση κινούμενων στοιχείων\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Αναγνώστης Ηλεκτρονικών Βιβλίων\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ηλεκτρονικό Βιβλίο;Βιβλίο;EPUB;Ανάγνωση;Διάβασμα;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Ξεκινήστε ένα νέο κεφάλαιο στον τρόπο ανάγνωσης με το Φυλλοειδές, έναν \"\n\"μοντέρνο αναγνώστη ηλεκτρονικών βιβλίων σχεδιασμένο για το GNOME. Εισαχθείτε \"\n\"σε ένα περιβάλλον δίχως περισπασμούς, με πολλές επιλογές προσαρμογής \"\n\"σχεδιασμένες για να ικανοποιήσουν τις μοναδικές σας προτιμήσεις.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Οι λειτουργίες του περιλαμβάνουν:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Άνοιγμα αρχείων EPUB, Mobipocket, Kindle, FB2, CBZ, και PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Σελιδοποιημένη λειτουργία και κυλιόμενη λειτουργία\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Επιλογή γραμματοσειράς και διάστιχου\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Ανοιχτόχρωμη, σέπια, σκουρόχρωμη, κι ανεστραμμένη λειτουργία\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Πρόοδος ανάγνωσης με δείκτες κεφαλαίων\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Σελιδοδείκτες και επισημάνσεις\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Εύρεση στο βιβλίο\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Ταχεία αναζήτηση σε λεξικό\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Διορθώθηκε η περικοπή στο τέλος κεφαλαίου όταν το κεφάλαιο εκκινεί με \"\n\"αλλαγή σελίδας\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Διορθώθηκε η λανθασμένη αλλαγή γραμμών σε πίνακες\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Διορθώθηκε ένα πρόβλημα επίδοσης με τους καταλόγους OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Προστέθηκε υποστήριξη καταλόγων OPDS, τώρα με υποστήριξη OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Προστέθηκε επιλογή παράκαμψης γραμματοσειράς εκδότη\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Προστέθηκε επιλογή μείωσης κινούμενων στοιχείων\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Προστέθηκε υποστήριξη για JPEG XL εντός CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Διορθώθηκε η ανάκτηση αρχείου από Ινχηλάτη στο Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Διορθώθηκε η προσπέλαση ημερομηνιών πρώτου αιώνα και π.Χ.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Το Φυλλοειδές έχει επαναγραφεί από την αρχή με νέα βιβλιοθήκη προσπέλασης \"\n\"ηλεκτρονικών βιβλίων και τις τελευταίες βιβλιοθήκες πλατφόρμας, GTK 4 και \"\n\"Libadwaita, με ανανεωμένο UI και βελτιωμένη επίδοση.\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Βιβλίο\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ηλεκτρονικό βιβλίο\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Αναγνώστης\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Προβολέας\"\n\n#~ msgid \"Foliate is modern e-book reader app designed for GNOME.\"\n#~ msgstr \"\"\n#~ \"Το Φυλλοειδές είναι ένας μοντέρνος αναγνώστης ηλεκτρονικών βιβλίων \"\n#~ \"σχεδιασμένος για το GNOME.\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Αναφορά\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Μετάβαση στην Αναφορά\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Συντομεύσεις Πληκτρολογίου\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Προτιμήσεις\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Εκκίνηση Ομιλίας\"\n\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Αναδίπλωση Πλαϊνής Μπάρας\"\n\n#~ msgid \"OK\"\n#~ msgstr \"Εντάξει\"\n\n#~ msgid \"Voice\"\n#~ msgstr \"Φωνή\"\n\n#~ msgid \"Start Speaking\"\n#~ msgstr \"Εκκίνηση Ομιλίας\"\n\n#~ msgid \"Stop Speaking\"\n#~ msgstr \"Διακοπή Ομιλίας\"\n"
  },
  {
    "path": "po/es.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Óscar Fernández Díaz <oscfdezdz@tuta.io>, 2023-2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-01-03 13:11-0300\\n\"\n\"Last-Translator: Óscar Fernández Díaz <oscfdezdz@tuta.io>\\n\"\n\"Language-Team: Spanish\\n\"\n\"Language: es\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.4.4\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Marcador borrado\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Deshacer\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Subrayado\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Garabato\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Tachado\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Amarillo\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Naranja\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rojo\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lima\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Color personalizado…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personalizado\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Archivos JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Todos los archivos\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"No hay anotaciones\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"El archivo importado no tiene anotaciones\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"No se pueden importar anotaciones\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Se ha producido un error\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"No tiene anotaciones para este libro\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anotaciones para “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d anotación\"\nmsgstr[1] \"%d anotaciones\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Cerrar\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Archivos de libros electrónicos\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Lea libros electrónicos con estilo\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Juan Campos\\n\"\n\"Blanc Chan\\n\"\n\"micrococo\\n\"\n\"Óscar Fernández Díaz\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Código fuente\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Editor\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publicado\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Actualizado\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Idioma\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Traducido por\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Editado por\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrado por\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ilustrado por\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Producido por\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Arte por\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Color por\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Colaboradores\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificador\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Acerca de este libro\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Pos. %s de %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Página %s de %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Página %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Nota a pie de página\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Ir a la nota a pie de página\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Nota final\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Ir a la nota final\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nota\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Ir a la nota\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definición\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Ir a la definición\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografía\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Ir a la bibliografía\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Eliminar marcador\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Añadir marcador\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Archivo no encontrado\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Tipo de archivo no soportado\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Anotación eliminada\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Imagen de “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Imagen\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"de %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Cargando\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Fallo al cargar\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recargar\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Ver todos\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Buscar\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtrar\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Descargar\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Comprar\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Vista previa\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Muestra\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Prestar\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Suscribirse\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratis\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Primero\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Anterior\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Siguiente\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Último\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Términos de búsqueda\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Título\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autor\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Colaborador\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"¿Eliminar libro?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"El progreso de lectura, las anotaciones y los marcadores se perderán \"\n\"permanentemente.\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Cancelar\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Eliminar\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Error al abrir\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"No se ha podido abrir el archivo con la aplicación seleccionada\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Descarga fallida\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Renombrar…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Eliminar\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Renombrar\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nombre\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Todos los libros\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Añadir catálogo…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteca\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catálogos\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Catálogo eliminado\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Añadir catálogo\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Añadir\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Puede consultar y descargar libros de los catálogos OPDS. <a href=\\\"https://\"\n\"opds.io\\\">Saber más…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Diccionario\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wiktionary</a>, publicado bajo la <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">Licencia CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"No se han encontrado definiciones\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Buscar en Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wikipedia</a>, publicado bajo la <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Licencia CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Buscar en Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traducir\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Traducción por Traductor de Google\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"No se puede recuperar la traducción\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Buscar…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Predeterminado\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gris\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Césped\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cereza\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Cielo\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizado\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Error de texto a voz\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Asegúrese de que Speech Dispatcher está instalado y funciona en su sistema\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copiado al portapapeles\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Estilo de destacados\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Añadir nota…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Abrir en una ventana nueva\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Abrir con una aplicación externa\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportar anotaciones…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Ventana nueva\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Abrir una copia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importar anotaciones…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Acerca de Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Todas las secciones\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Sección actual\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Coincidir solo con palabras completas\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Coincidir en mayúsculas y minúsculas\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Coincidir en diacríticos\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Configuración de tipografía y diseño\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Modo de desplazamiento\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Invertir colores en modo oscuro\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Ocultar cursor automáticamente\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Imprimir…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspector\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"No se puede abrir el libro\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detalles\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Abrir otro archivo…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Fijar barra lateral\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menú del libro\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Buscar\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Buscar en el libro…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contenidos\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anotaciones\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Seleccione un texto para añadir anotaciones\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrar anotaciones…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marcadores\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"No hay marcadores\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Añada algunos marcadores para verlos aquí\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"No se han encontrado resultados\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Intente una búsqueda diferente\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Barra lateral\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Menú de visualización\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Reducir\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Restablecer ampliación\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Ampliar\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Seguir el estilo del sistema\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Estilo claro\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Estilo oscuro\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Pantalla completa\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exportar anotaciones\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportar\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formatear\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Elija “JSON” si planea importar anotaciones a Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Guardar como…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotar 90° en sentido antihorario\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotar 90° en sentido horario\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importar anotaciones\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importar\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"El identificador no coincide. Es posible que estas anotaciones no \"\n\"correspondan a este libro.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importar igualmente\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Vista de lista\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Vista de cuadrícula\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Abrir…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menú principal\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Abrir\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Menú de la biblioteca\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Buscar en la biblioteca…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Atrás\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Adelante\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"No hay libros todavía\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Abra un libro para empezar a leer\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Posición\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narración\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Tiempo restante en la sección\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Tiempo restante en el libro\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Página\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Pegar e ir\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Sección\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Primera sección\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Sección anterior\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Saltar a…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Siguiente sección\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Última sección\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Destacados\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Leer en voz alta desde aquí\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copiar con cita\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copiar identificador\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Imprimir selección…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Velocidad\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Tono\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Reproducir/Pausar\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Detener\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Tipografía\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Tamaño de la tipografía\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Tamaño de la tipografía predeterminado\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Tamaño mínimo de la tipografía\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Familia tipográfica\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Tipografía predeterminada\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Sobrescribir tipografía del editor\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Tipografía Serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Tipografía Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Tipografía monoespaciada\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Disposición\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Párrafo\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Altura de línea\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Justificación completa\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Separación silábica\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Márgenes\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Número máximo de columnas\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Tamaño máximo en línea\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Anchura máxima de columna (escritura horizontal) o altura (escritura \"\n\"vertical)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Tamaño máximo de bloque\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Altura (escritura horizontal) o anchura (escritura vertical) máximas\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Color\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Comportamiento\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Reducir animación\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Visor de libros electrónicos\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Libro;EPUB;Visor;Lector;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Descubra un capítulo nuevo en la lectura con Foliate, el moderno lector de \"\n\"libros electrónicos adaptado a GNOME. Sumérjase en una interfaz libre de \"\n\"distracciones, con características de personalización diseñadas para \"\n\"adaptarse a sus preferencias únicas.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Características:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Abrir archivos EPUB, Mobipocket, Kindle, FB2, CBZ y PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modo paginado y modo desplazado\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Personalizar la tipografía y el interlineado\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modo claro, sepia, oscuro e invertido\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Deslizador del progreso de lectura con marcas de capítulo\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Marcadores y anotaciones\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Búsqueda en el libro\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Búsqueda rápida en el diccionario\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Se solucionó el corte del final del capítulo cuando éste comienza con un \"\n\"salto de página\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Se corrigió el ajuste incorrecto del texto en las tablas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Se solucionó un problema de rendimiento con los catálogos OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Añadido soporte para catálogos OPDS, ahora con soporte para OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Añadida la opción de sobrescribir la tipografía del editor\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Añadida la opción de reducir la animación\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Añadida compatibilidad con JPEG XL en CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Corregida la obtención de archivos desde Tracker en Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"Corregida la interpretación de fechas que no son solo del primer siglo o a.e.\"\n\"c.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate se ha reescrito desde cero con una biblioteca de renderizado de \"\n\"libros electrónicos nueva y las bibliotecas de plataforma más recientes, GTK \"\n\"4 y Libadwaita, con una interfaz de usuario renovada y un rendimiento \"\n\"mejorado.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Libro\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Libro electrónico\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Lector\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visor\"\n\n#~ msgid \"Volume\"\n#~ msgstr \"Volumen\"\n\n#~ msgid \"0.75\"\n#~ msgstr \"0,75\"\n\n#~ msgid \"1\"\n#~ msgstr \"1\"\n\n#~ msgid \"1.25\"\n#~ msgstr \"1,25\"\n\n#~ msgid \"1.5\"\n#~ msgstr \"1,5\"\n\n#~ msgid \"2\"\n#~ msgstr \"2\"\n"
  },
  {
    "path": "po/eu.po",
    "content": "# BASQUE LANGUAGE FILE\n# Copyright (C) 2020\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Alexander Gabilondo <alexgabi@disroot.org>, 2020.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2020-08-30 16:03+0200\\n\"\n\"Last-Translator: micrococo\\n\"\n\"Language-Team: \\n\"\n\"Language: eu\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 2.3\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Laster-marka ezabatua\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Desegin\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Azpimarratu\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Ondulatua\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Marratua\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Amarillo\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Laranja\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rojo\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Ura\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lima\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Kolore pertsonalizatua…\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Pertsonalizatu\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"JSON fitxategiak\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Fitxategi guztiak\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Oharrik ez\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Inportatutako fitxategiak ez du oharrik\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Ezin dira inportatu oharrak\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Errore bat gertatu da\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Ez duzu oharrik liburu honetan\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s”-ren oharrak\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Ohar %d\"\nmsgstr[1] \"%d ohar\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Itxi\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Utzi\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"Liburu elektronikoen fitxategiak\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Irakurri liburu elektronikoak estiloan\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"itzultzailea Alexander Gabilondo\"\n\n#: src/app.js:414\n#, fuzzy\nmsgid \"Source Code\"\nmsgstr \"Iturburu kodea\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Argitaratzailea\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Argitaratua\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\n#, fuzzy\nmsgid \"Updated\"\nmsgstr \"Eguneratuta\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Hizkuntza\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Itzultzailea\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Editorea\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narratzailea\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ilustratzailea\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Produktorea\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Artista\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Kolore arduraduna\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Laguntzaileak\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifikatzailea\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Liburu honi buruz\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Lok. %s/%s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Orria %s/%s\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"%s orria\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Oin-oharra\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Joan oin-oharretara\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Amaiera-oharra\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Joan amaiera-oharretara\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Oharra\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Joan oharretara\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Definizioa\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Joan definiziora\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografia\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Joan bibiografiara\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Kendu laster-marka\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Gehitu laster-marka\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"Fitxategia ez da aurkitu\"\n\n#: src/book-viewer.js:715\n#, fuzzy\nmsgid \"File type not supported\"\nmsgstr \"Fitxatigi mota hau ez dago onartuta\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Oharra ezabatua\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"“%s”-ren irudia\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Irudia\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"%d-rena\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Kargatzen\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Kargatzeak huts egin du\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Birkargatu\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Ikusi guztiak\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Bilatu\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Iragazkia\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Deskargatu\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Erosi\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Aurrebista\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Lagina\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Maileguan\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Harpidetu\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Doan\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Lehenengoa\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Aurrekoa\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Hurrengoa\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Azkena\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Bilatu baldintzak\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Izenburua\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Egilea\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Laguntzailea\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Kendu liburua?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Irakurketa-puntua, oharrak eta laster-markak betiko galduko dira\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Utzi\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Kendu\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Ezin izan da ireki\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Ezin izan da fitxategia hautatutako aplikazioarekin ireki\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Deskargak huts egin du\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Berrizendatu…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Kendu\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Berrizendatu\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Izena\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Liburu guztiak\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Gehitu katalogoa…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteka\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Katalogoak\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalogoa kendu da\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Gehitu katalogoa\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Gehitu\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Liburuak arakatu eta deskarga ditzakezu OPDS katalogoetatik. <a \"\n\"href=\\\"https://opds.io\\\">Lortu informazio gehiago...</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URLa\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Hiztegia\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wiktionary</a>tik, <a href=\\\"https://creativecommons.org/\"\n\"licenses/by-sa/4.0/\\\">CC BY-SA lizentziapean argitaratua</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Ez da definiziorik aurkitu\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Bilatu Wiktionaryn\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wikipedia</a>tik, <a href=\\\"https://eu pean argitaratua.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA Lizentzia</a>.\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Bilatu Wikipedian\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Itzuli\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Google Translatek itzulita\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Ezin da itzulpena eskuratu\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Bilatu…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Lehenetsia\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Grisa\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Belarra\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Gerezia\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Ortzia\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizatua\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Iparra\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Testutik-hizketara errorea\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Ziurtatu Speech Dispatcher sisteman instalatuta eta martxan dagoela\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Arbelean kopiatuta\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Estilo argia\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Ezabatu\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menua\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Gehitu oharra…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Ireki leiho berrian\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Ireki kanpoko aplikazio batekin\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Esportatu oharrak…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Leiho berria\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Ireki kopia bat\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Inportatu oharrak…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliate-ri buruz\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Atal guztiak\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Uneko atala\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Bilatu hitz osoak soilik\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Kontuan izan maiuskulak-minuskulak\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Bilatu diakritikoak\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Letra mota eta diseinu ezarpenak\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Korritzeko modua\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Alderantzizkatu koloreak modu ilunean\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Ezkutatu kurtsorea\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Inprimatu…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Ikuskaria\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Liburua ezin da ireki\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Zehaztasunak\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Ireki beste fitxategi bat…\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Finkatu alboko panela\"\n\n#: src/ui/book-viewer.ui:253\n#, fuzzy\nmsgid \"Book Menu\"\nmsgstr \"Liburuaren menua\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Bilatu\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Bilatu liburuan…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Edukiak\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Oharrak\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Hautatu testu batzuk oharrak gehitzeko\"\n\n#: src/ui/book-viewer.ui:433\n#, fuzzy\nmsgid \"Filter annotations…\"\nmsgstr \"Bilatu oharrak…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Laster-markak\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Ez dago laster-markarik\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Gehitu laster-marka batzuk hemen ikusteko\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Ez da emaitzarik aurkitu\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\n#, fuzzy\nmsgid \"Try a different search\"\nmsgstr \"Saiatu beste bilaketa bat\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Alboko panela\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Ikusi menua\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Txikiagotu\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Berrezarri zooma\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Handiagotu\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Sistemaren estiloa errespetatu\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Estilo argia\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Estilo iluna\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Pantaila osoa\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Esportatu oharrak\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Esportatu\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formatua\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Aukeratu “JSON” oharrak Foliate-ra berriro inportatzeko asmoa baduzu\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org modua\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopiatu\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Gorde honela…\"\n\n#: src/ui/image-viewer.ui:25\n#, fuzzy\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Biratu 90° erlojuaren kontrako noranzkoan\"\n\n#: src/ui/image-viewer.ui:32\n#, fuzzy\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Biratu 90° erlujuaren noranzkoan\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Inportatu oharrak\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Inportatu\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Identifikatzailea ez dator bat. Baliteke ohar hauek ez izatea liburu honetakoak.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Inportatu edonola\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Zerrenda ikuspegia\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Sareta ikuspegia\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Ireki…\"\n\n#: src/ui/library.ui:67\n#, fuzzy\nmsgid \"Main Menu\"\nmsgstr \"Menu nagusia\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Ireki\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Bibliotekaren menua\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Bilatu biblioteka…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Atzera\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Aurrera\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Oraindik ez dago libururik\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Ireki liburu bat irakurtzen hasteko\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Kokalekua\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narrazioa\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"Atala bukatzeko denbora\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"Liburua bukatzeko denbora\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Orria\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Itsatsi eta joan\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Atala\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Lehenengo atala\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Aurreko atala\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Jauzi hona…\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Hurrengo atala\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Azken atala\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Nabarmendu\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Irakurri hemendik\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Kopiatu aipamen gisa\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Kopiatu identifikatzailea\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Inprimatu hautapena…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Abiadura\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Tonua\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Erreproduzitu/Pausatu\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Gelditu\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Letra-mota\"\n\n#: src/ui/view-preferences-window.ui:9\n#, fuzzy\nmsgid \"Font Size\"\nmsgstr \"Letraren tamaina\"\n\n#: src/ui/view-preferences-window.ui:12\n#, fuzzy\nmsgid \"Default Font Size\"\nmsgstr \"Letraren tamaina lehenetsia\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Gutxieneko letraren tamaina\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Letra-familia\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Letra-mota lehenetsia\"\n\n#: src/ui/view-preferences-window.ui:47\n#, fuzzy\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Gainidatzi argitaletxearen letra-tipoa\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serif letra-mota\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Sans-Serif letra-mota\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Espazio bakarreko letra-mota\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Diseinua\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragrafoa\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Lerroaren altuera\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Justifikazio osoa\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Hitzen zatiketa automatikoa\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marjinak\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Zutabeen gehienezko kopurua\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Lerro arteko gehinezko tartea\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Zutabearen gehieneko zabalera (idazkera horizontala) edo altuera (idazkera bertikala)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Blokearen gehienezko tamaina\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Gehienezko altuera (idazketa horizontala) edo zabalera (idazketa bertikala)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Kolorea\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Jokabidea\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Murriztu animazioa\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"Liburu elektronikoen ikustailea\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Liburu elektronikoa;Liburua;EPUB;Ikustailea;Irakurgailua;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Ezagutu irakurtzeko modu berri bat Foliate-rekin, GNOMErako egokitutako\"\n\"liburu elektronikoen irakurgailu modernoarekin. Murgil zaitez distrakziorik\"\n\"gabeko interfaze batean, zure hobespen bereziekin bat datozen pertsonalizazioekin.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Hainbat funtzio:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Ireki EPUB, Mobipocket, Kindle, FB2, CBZ, eta PDF fitxategiak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Orrialdea pasa eta korritze moduak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Pertsonalizatu letra-mota eta lerro-arteak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modu argia, sepia, iluna eta alderantzizkoa\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Irakurketa-puntua kapituluen markekin\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Laster-markak eta oharrak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Bilatu liburuan\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Hiztegi bilaketa bizkorra\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Konpondu da kapituluaren amaiera kapitulua orrialde-jauziarekin hasten denean\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Konpondu da okerreko testu-doikuntza tauletan\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Konpondu da OPDS katalogoekin gertatzen zen okerreko konportamendua\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"OPDS katalogoetarako laguntza erantsia, orain OPDS 2.0rako laguntzarekin\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Gehitu da argitaletxearen letra-tipoa gain-idazteko aukera\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Gehitu da animazioa gutxitzeko aukera\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Gehitu da JPEG XL soportea CBZn\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Konpondu da Tracker-etid fitxategia eskuratzen Flatpak-en\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Konpondu dira I. mendeko eta BCEko datak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate hutsetik berridatzi da liburu elektronikoak errendatzeko liburutegi \"\n\"berri batekin eta plataformako azken liburutegiekin, GTK 4 eta Libadwaita, \"\n\"UI freskatuarekin eta errendimendu hobetuarekin.\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Liburua\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Liburu elektronikoa\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Irakurgailua\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Ikusgaiua\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Erreferentzia\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Joan erreferentziara\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Laster-teklak\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Hobespenak\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Ozen irakurri\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Tolestu alboko panela\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Gorde fitxategia\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Aldatu nabarmentzeko kolorea\"\n\n#~ msgid \"More\"\n#~ msgstr \"Gehiago\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Liburu honi buruz\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Zabaldu alboko panela\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Leheneratu zooma\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Joan aurreko orrira\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Joan aurreko kokalekura\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Joan hurrengo atalera\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Joan azken atalera\"\n"
  },
  {
    "path": "po/fa.po",
    "content": "# Farsi translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2020 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Meysam Pour Ganji <p.g.meysam@gmail.com>, 2023.\n# Danial Behzadi <dani.behzi@ubuntu.com>, 2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-12-28 13:22+0330\\n\"\n\"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: fa_IR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n==0 || n==1);\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"نشانک حذف شد\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"واگرد\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"زیرخط\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"موج‌گون\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"خط‌درمیان\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"زرد\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"نارنجی\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"قرمز\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"ارغوانی\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"سبزآبی\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"سبزفسفری\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"رنگ سفارشی…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"سفارشی\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"سندهای JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"همهٔ سندها\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"بدون یادداشت\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"سند درون‌ریزی‌ شده بدون حاشیه است\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"عدم امکان درون‌ریزی یادداشت‌ها\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"خطایی رخ داد\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"شما هیچ یادداشتی بر این کتاب ننوشته‌اید\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"یادداشت‌های “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d یادداشت\"\nmsgstr[1] \"%d یادداشت\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"بستن\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"لغو\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"سندهای رایاکتاب\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"خوانش رایاکتاب در سبک\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"میثم پورگنجی <p.g.meysam@gmail.com>\\n\"\n\"دانیال بهزادی <dani.behzi@ubuntu.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"منبع کد\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"ناشر\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"انتشار\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"بروزرسانی\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"زبان\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"بازگردانی به دست\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"ویراسته به دشت\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"روایت شده به دست\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"تصویرسازی شده به دست\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"تولید شده به دست\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"کار هنری به دست\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"رنگ به دست\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"مشارکت‌کنندگان\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"شناسه\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"دربارهٔ این کتاب\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"محل %s of %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"صفحهٔ %s از %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"صفحهٔ %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"پانوشت\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"رفتن به پانوشت\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"ته‌نویس\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"رفتن به ته‌نویس\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"نکته\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"رفتن به نکته\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"تعریف\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"رفتن به تعریف\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"کتاب‌شناسی\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"رفتن به کتاب‌شناسی\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"برداشتن نشانک\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"افزودن نشانک\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"سند یافت نشد\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"نوع سند پشتیبانی نمی‌شود\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"یادداشت حذف شد\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”، ص. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”، ص. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (ص. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"«%s»\\n\"\n\"— %s، «%s»\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"«%s»\\n\"\n\"— «%s»\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"«%s»\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"تصویر از “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"تصویر\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"از %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"بار کردن\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"شکست در بار کردن\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"بازخوانی\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"دیدن همه\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"جست‌وجو\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"پالایش\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"بارگیری\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"خرید\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"پیش‌نمایش\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"نمونه\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"قرض\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"اشتراک\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"رایگان\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"نخستین\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"پیشین\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"بعدی\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"آخرین\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"عبارت‌های جست‌وجو\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"عنوان\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"نگارنده\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"مشارکت‌کننده\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"حذف کتاب؟\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"پیشرفت خواندن، یادداشت‌ها و نشانک‌ها برای همیشه از دست خواهند رفت\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_لغو\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_برداشتن\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"شکست در گشودن\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"نتوانست پرونده را با برنامهٔ گزیده بگشاید\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"بارگیری شکست خورد\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"تغییر نام…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"برداشتن\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"تغییر نام\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"نام\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"همهٔ کتاب‌ها\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"افزودن کالانما…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"کتابخانه\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"کالانماها\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"کالانما برداشته شد\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"افزودن کالانما\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"افزودن\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://\"\n\"opds.io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"می‌توانید کتاب‌ها را از کالانماهای OPDS مرور و بارگیری کنید. <a href=\\\"https://\"\n\"opds.io\\\">دانستن بیش‌تر…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"نشانی\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"برگه\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"واژه‌نامه\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"از <a id=\\\"link\\\">ویکی‌واژه</a>، انتشاریافته تحت <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA مجوز</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"تعریفی یافت نشد\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"جست‌وجو در ویکی‌واژه\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"ویکی‌پدیا\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"از <a id=\\\"link\\\">ویکی‌پدیا</a>، انتشاریافته تحت <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA مجوز</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"جست‌وجو در ویکی‌پدیا\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"ترجمه\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"ترجمه با مترجم گوگل\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"ناتوانی در گرفتن ترجمه\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"جست‌وجو…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"پیش‌گزیده\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"خاکستری\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"قرمزقهوه‌ای\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"چمنی\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"گیلاسی\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"آسمانی\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"آقتاب‌زده\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"معدن\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"نورد\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"خطای گفتاربه‌متن\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"اطمینان حاصل کنید که Speech Dispatcher بر روی سیستم شما نصب است و کار می‌کند\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"در کلیپ‌بورد کپی شد\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"سبک پررنگ‌سازی\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"حذف\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"فهرست\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"افزودن حاشیه…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"گشودن در پنجرهٔ جدید\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"گشودن با کارهٔ خارجی\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"برون‌ریزی یادداشت‌ها…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"پنجرهٔ جدید\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"گشودن یک رونوشت\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"درون‌ریزی یادداشت‌ها…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"دربارهٔ برگه\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"همهٔ بخش‌ها\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"بخش حاضر\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"فقط تطابق کامل کلمات\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"تطابق شکل\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"تطابق اعراب‌گذاری\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"تنظیمات قلم و چیدمان\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"حالت پیوسته\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"برعکس کردن رنگ‌ها در حالت تاریک\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"خودپنهانی مکان‌نما\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"چاپ…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"بازرس\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"کتاب گشوده نمی‌شود\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"جزییات\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"گشودن سندی دیگر…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"سنجاق کردن نوار کناری\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"فهرست کتاب\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"جست‌وجو\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"جست‌وجو در کتاب…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"محتوا\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"یادداشت‌ها\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"گزینش متن برای افزودن یادداشت\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"پالودن یادداشت‌ها…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"نشانک‌ها\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"بدون نشانک\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"افزودن نشانک‌هایی برای دیدنشان در این‌جا\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"نتیجه‌ای حاصل نشد\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"تلاش برای جست‌وجویی دیگر\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"نوار کناری\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"دیدن فهرست\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"کوچک‌نمایی\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"بازنشانی زوم\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"بزرگ‌نمایی\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"طبعیت از سبک سیستم\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"سبک روشن\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"سبک تاریک\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"تمام‌صفحه\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"برون‌ریزی یادداشت‌ها\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"برون‌ریزی\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"قالب\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"اگر می‌خواهید یادداشت‌ها را در برگه درون‌ریزی کنید، گزینهٔ \\\"JSON\\\" را انتخاب کنید\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"مارک‌دون\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"حالت Org\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"رونوشت\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"ذخیره به عنوان…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"چرخش ۹۰ درجه پادساعت‌گرد\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"چرخش ۹۰ درجه ساعت‌گرد\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"درون‌ریزی یادداشت‌ها\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"درون‌ریزی\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"شناسه یافت نشد. شاید یادداشت‌ها برای این کتاب نیستند.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"درون‌ریزی در هر حال\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"نمایش لیست‌وار\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"نمایش شبکه‌ای\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"گشودن…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"فهرست اصلی\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"گشودن\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"فهرست کتابخانه\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"جست‌وجوی کتابخانه…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"برگشت\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"پسین\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"هنوز بدون کتاب\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"کتابی را برای آغاز مطالعه باز کنید\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"مکان\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"روایت\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"زمان مانده از بخش\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"زمان مانده از کتاب\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"صفحه\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"بچسبان و برو\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"بخش\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"بخش اول\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"بخش قبلی\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"جهش به…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"بخش بعدی\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"بخش آخر\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"پررنگ‌سازی\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"از اینجا بخوان\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"رونوشت با استناد\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"رونوشت شناسه\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"چاپ انتخاب‌شده…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"سرعت\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"گام\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"پخش/وقفه\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"توقف\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"قلم\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"اندازهٔ قلم\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"اندازهٔ پیش‌فرض قلم\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"کمترین اندازهٔ قلم\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"دستهٔ قلم‌ها\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"قلم پیش‌فرض\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"سرکش‌دار\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"بی‌سرکش\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"پایمالی قلم ناشر\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"قلم سرکش‌دار\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"قلم بی‌سرکش\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"قلم هم‌عرض\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"چیدمان\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"بند\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"ارتفاع خط\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"ترازبندی کامل\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"خط تیره‌ گذاری\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"حاشیه‌ها\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"بیشینهٔ تعداد ستون‌ها\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"بیشترین اندازهٔ هم‌خوان\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"بیشترین پهنای ستون (نوشتار افقی) یا ارتفاع (نوشتار عمودی)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"بیشترین اندازهٔ بلوک\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"بیشترین ارتفاع (نوشتار افقی) یا پهنا (نوشتار عمودی)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"رنگ\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"رفتار\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"پویانمایی کاسته\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"بیننده رایاکتاب\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"رایاکتاب;کتاب;EPUB;بیننده;خواننده;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader tailored \"\n\"for GNOME. Immerse yourself in a distraction-free interface, with customization \"\n\"features designed to match your unique preferences.\"\nmsgstr \"\"\n\"فصلی جدید در خواندن با با برگه، رایاکتاب‌خوان نوین ساخته شده برای گنوم کشف کنید. \"\n\"با ویژگی‌های سفارشی سازی طرّاحی شده برای تطبیق با ترجیحات منحصر به فردتان، خود را \"\n\"در میانایی بدون حواس‌پرتی غوطه‌ور کنید.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"ویژگی‌هایی همچون:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"گشودن سندهای EPUB، Mobipocket، Kindle، FB2، CBZ و PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"حالت صفحهٔ و حالت پیوسته\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"سفارشی‌سازی قلم و فاصله‌گذاری خط\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"روشن، قرمزقهوه‌ای، تاریک و حالت برعکس\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"لغزندهٔ پیشرفت خواندن با نشانه‌های فصل\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"نشانک‌ها و یادداشت‌ها\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"یافتن در کتاب\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"جست‌وجوی سریع واژه‌نامه\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"درست کردن بریدن پایان فصل هنگام آغاز فصل با شکستن صفحه\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"درست کردن شکاندن نادرست متن در جدول‌ها\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"درست کردن مشکل کارایی کالانماهای OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"افزودن پشتیبانی از کالانماهای OPDS با نگارش ۲٫۰\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"افزودن گزینه برای پایمالی قلم ناشر\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"افزودن گزینه برای کاستن پویانمایی\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"افزودن پشتیبانی JPEG XL در CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"درست کردن گرفتن پرونده از ردیاب در فلت‌پک\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"درست کردن تجزیهٔ تاریخ‌های BCE و non-year-only first-century\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library and \"\n\"the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI and \"\n\"improved performance.\"\nmsgstr \"\"\n\"برگه با یک کتابخانهٔ تفسیر رایاکتاب‌خوان و آخرین کتابخانه‌های سکو، GTK4 و Libadwaita \"\n\"به همراه یک رابط کاربری تازه و با کارایی بالاتر از ابتدا بازنویسی شده است.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"کتاب\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"رایاکتاب\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"خواننده\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"بیننده\"\n\n#~ msgid \"Foliate is modern e-book reader app designed for GNOME.\"\n#~ msgstr \"برگه یک ابزار رایاکتاب‌خوان طراحی‌شده برای گنوم است.\"\n"
  },
  {
    "path": "po/fr.po",
    "content": "# French translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2020 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Julien Humbert <julroy67@gmail.com>, 2019-2020.\n# mathieu <mathieu.bousquet2@gmail.com>, 2022.\n# Irénée THIRION <irenee.thirion@e.email>, 2023-2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-01-03 17:11+0100\\n\"\n\"Last-Translator: Irénée THIRION <irenee.thirion@e.email>\\n\"\n\"Language-Team: French <gnomefr@traduc.org>\\n\"\n\"Language: fr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Gtranslator 45.3\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1)\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Marque-page supprimé\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Annuler\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Surligner\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Ondulations\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Barrer\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Jaune\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Orange\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rouge\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Cyan\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Citron vert\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Couleur personnalisée…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personnalisé\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Fichiers JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Tous les fichiers\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Aucune annotation\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Le fichier importé ne comporte pas d’annotations\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Impossible d’importer les annotations\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Une erreur s’est produite\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Vous n’avez aucune annotation dans ce livre\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Annotations pour « %s »\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d annotation\"\nmsgstr[1] \"%d annotations\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Fermer\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Annuler\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Fichiers E-Book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Lisez vos livres électroniques avec style\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Julien Humbert <julroy67@gmail.com>, Mathieu Bousquet <mathieu.\"\n\"bousquet2@gmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Code source\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Éditeur\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publié\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Mis à jour\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Langue\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Traduit par\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Édité par\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Conté par\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illustré par\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Produit par\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Graphisme par\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Couleurs par\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Contributeurs\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifiant\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"À propos de ce livre\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Loc. %s sur %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Page %s sur %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Page %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Note de bas de page\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Aller à la note de bas de page\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Note de fin\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Aller à la note de fin\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Note\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Aller à la note\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Définition\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Aller à la définition\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliographie\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Aller à la bibliographie\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Supprimer le marque-page\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Ajouter un marque-page\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Fichier non trouvé\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Type de fichier non pris en charge\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Annotation supprimée\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Image de « %s »\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Image\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"sur %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Chargement\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Chargement échoué\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recharger\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Voir tout\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Rechercher\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtrer\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Télécharger\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Acheter\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Aperçu\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Échantillon\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Emprunter\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Souscrire\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratuit\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Premier\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Précédent\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Suivant\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Dernier\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Termes recherchés\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Titre\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Auteur\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Contributeur\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Supprimer le livre ?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"La progression de la lecture, les annotations et les marque-pages seront \"\n\"définitivement perdus\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"A_nnuler\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Supprimer\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Chargement échoué\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Téléchargement échoué\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Renommer…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Supprimer\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Renommer\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Tous les livres\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Ajouter un catalogue…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliothèque\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catalogues\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Catalogue supprimé\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Ajouter un catalogue\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Ajouter\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Vous pouvez parcourir et télécharger des livres depuis les catalogues OPDS. \"\n\"<a href=\\\"https://opds.io\\\">En savoir plus…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Dictionnaire\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wiktionary</a>, distribué sous la <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">Licence CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Aucune définition trouvée\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Rechercher sur Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipédia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wikipédia</a>, distribué sous la <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Licence CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Rechercher sur Wikipédia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traduire\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Traduction par Google Traduction\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Impossible de récupérer la traduction\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Rechercher\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Par défaut\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gris\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sépia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Herbe\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cerise\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Ciel\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarisé\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Coffret\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Erreur de synthèse vocale\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Assurez que Speech Dispatcher est installé et fonctionnel sur votre système\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copié vers le presse-papiers\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Style de surlignage\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Supprimer\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Ajouter une note…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Ouvrir dans une nouvelle fenêtre\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exporter les annotations…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nouvelle fenêtre\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Ouvrir une copie\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importer les annotations…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"À propos de Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Tous les chapitres\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Chapitre actuel\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Mots entiers uniquement\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Correspondre à la casse\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Signes diacritiques\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Paramètre de police et mise en page\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Mode défilement\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Inverser les couleurs en mode sombre\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Masquer automatiquement le curseur\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Imprimer…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspecteur\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Le livre ne peut être ouvert\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Détails\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Ouvrir un autre fichier…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Épingler la barre latérale\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menu du livre\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Rechercher\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Rechercher dans le livre…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contenu\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Annotations\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Sélectionnez du texte pour ajouter des annotations\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrer les annotations…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marque-pages\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Aucun marque-page\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Ajoutez des marque-pages pour les visualiser ici\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Aucun résultat trouvé\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Essayez une autre recherche\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Barre latérale\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Menu de visualisation\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Rétrécir la vue\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Réinitialiser le zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Agrandir\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Suivre le thème système\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Style clair\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Style sombre\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Plein écran\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exporter les annotations\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exporter\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Format\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Choisissez « JSON » si vous comptez ré-importer vos annotations vers Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org-mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copier\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Enregistrer sous…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotation de 90° en sens antihoraire\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotation de 90° en sens horaire\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importer des annotations\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importer\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"L’identifiant ne correspond pas. Ces annotations peuvent être celles d’un \"\n\"autre livre.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importer quand même\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Vue en liste\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Vue en grille\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Ouvrir…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menu principal\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Ouvrir\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Menu de la bibliothèque\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Rechercher dans la bibliothèque\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Retour\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Rétablir\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Aucun livre\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Ouvrez un livre pour commencer à lire\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Position\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narration\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Temps restant pour le chapitre\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Temps restant pour le livre\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Page\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Copier et aller\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Chapitre\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Premier chapitre\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Chapitre précédent\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Aller à…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Chapitre suivant\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Dernier chapitre\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Surligner\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Lire à partir d’ici\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copier avec Citation\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copier l’identifiant\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Imprimer la sélection…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Vitesse\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Ton\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Lecture/Pause\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Arrêter\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Police\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Taille de police\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Taille de police par défaut\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Taille de police minimale\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Famille de police\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Police par défaut\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Sérif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-sérif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Outrepasser la police de l’éditeur\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Police sérif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Police sans-sérif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Police monospace\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Disposition\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragraphe\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Hauteur de ligne\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Justifié\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Césure automatique\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marges\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Nombre maximal de colonnes\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Taille maximale de la ligne\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Largeur (lecture horizontale) ou hauteur (lecture verticale) maximale de la \"\n\"colonne\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Taille maximale des paragraphes\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Hauteur (lecture horizontale) ou largeur (lecture verticale) maximale\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Couleur\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Comportement\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Réduire les animations\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Lecteur de livres électroniques\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Livre;EPUB;Liseuse;Lecteur;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Ouvrez un nouveau chapitre dans vos lecture avec Foliate, le lecteur moderne \"\n\"de livres électroniques conçu pour GNOME. Immergez-vous dans une interface \"\n\"sans distractions, personnalisable pour correspondre à vos seules \"\n\"préférences.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Fonctionnalités inclues :\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Ouvrez des fichiers EPUB, Mobipocket, Kindle, FB2, CBZ, et PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modes pagination et défilement\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Personnaliser la police et l’espacement des lignes\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modes clair, sépia, sombre et inversé\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Barre de progression de lecture avec marquage des chapitres\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Marque-pages et annotations\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Recherche dans le livre\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Vérification dans le dictionnaire\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Outrepasser la police de l’éditeur\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate a été entièrement réécri avec un nouveau moteur de rendu des livres \"\n\"et les dernières bibliothèques de la plateforme, GTK4 et Libadwaita, ainsi \"\n\"qu’une interface rafraîchie et des performances améliorées.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Livre\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Lecteur\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visionneur\"\n"
  },
  {
    "path": "po/ga.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-07-04 17:50+0100\\n\"\n\"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ga\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n>=3 && n<=6 ? 2 : \"\n\"n>=7 && n<=10 ? 3 : 4);\\n\"\n\"X-Generator: Poedit 3.4.2\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Scriosadh leabharmharc\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Cealaigh\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Líne faoi\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Scriobláil\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Stríoc tríd\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Buí\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Oráiste\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Dearg\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Maigeanta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Muirghorm\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Líoma\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Dath Saincheaptha…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Saincheaptha\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Comhaid JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Gach Comhad\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Gan aon nótaí\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Níl aon nótaí sa chomhad allmhairithe\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Ní féidir nótaí a allmhairiú\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Tharla earráid\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Níl aon nótaí agat don leabhar seo\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Nótaí le haghaidh “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Anótáil\"\nmsgstr[1] \"%d Anótálacha\"\nmsgstr[2] \"%d Anótálacha\"\nmsgstr[3] \"%d Anótálacha\"\nmsgstr[4] \"%d Anótálacha\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Dún\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Cealaigh\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Comhaid Ríomhleabhar\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Léigh ríomhleabhair i stíl\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"creidmheasanna-aistritheora\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Cód Foinse\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Foilsitheoir\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Foilsithe\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Nuashonraithe\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Teanga\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Aistrithe ag\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Eagarthóireacht déanta ag\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Inste ag\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Léirithe ag\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Arna tháirgeadh ag\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Saothar ealaíne le\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Dath de réir\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Rannpháirtithe\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Aitheantóir\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Maidir leis an Leabhar seo\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Suíomh %s de %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Leathanach %s de %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Leathanach %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Fonóta\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Téigh go dtí an Fonóta\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Deireadh-Nóta\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Téigh go dtí Deireadh-Nóta\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nóta\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Téigh go dtí an Nóta\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Sainmhíniú\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Téigh go dtí an Sainmhíniú\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Leabharliosta\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Téigh go dtí an Leabharliosta\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Bain leabharmharc\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Cuir leabharmharc leis\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Níor aimsíodh an comhad\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Ní thacaítear le cineál comhaid\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Scriosadh an nóta\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Íomhá ó “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Íomhá\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"de %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Ag luchtú\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Theip ar an luchtú\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Athlódáil\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Féach ar Gach Rud\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Cuardaigh\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Scagaire\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Íoslódáil\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Ceannaigh\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Réamhamharc\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Sampla\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Faigh ar iasacht\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Liostáil\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Saor\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Ar dtús\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Roimhe Seo\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Ar Aghaidh\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Deireanach\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Téarmaí Cuardaigh\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Teideal\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Údar\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Rannpháirtí\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Bain an leabhar?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"Caillfear dul chun cinn léitheoireachta, nótaí agus leabharmharcanna go buan\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Cealaigh\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Bain\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Theip ar oscailt\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Níorbh fhéidir an comhad a oscailt leis an bhfeidhmchlár roghnaithe\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Theip ar an Íoslódáil\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Athainmnigh…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Bain\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Athainmnigh\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Ainm\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Gach Leabhar\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Cuir Catalóg leis…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Leabharlann\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catalóga\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Baineadh an catalóg\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Cuir Catalóg leis\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Cuir leis\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Is féidir leat brabhsáil agus leabhair a íoslódáil ó chatalóga OPDS. <a \"\n\"href=\\\"https://opds.io\\\">Tuilleadh Eolais…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Foclóir\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Ó <a id=\\\"link\\\">Vicífhoclóir</a>, eisithe faoin gceadúnas <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Níor aimsíodh aon sainmhínithe\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Cuardaigh ar Vicífhoclóir\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Vicipéid\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Ó <a id=\\\"link\\\">Wikipedia</a>, arna scaoileadh faoin <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Ceadúnas CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Cuardaigh ar Vicipéid\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Aistrigh\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Aistriúchán le Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Ní féidir aistriúchán a aisghabháil\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Cuardaigh…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Réamhshocrú\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Liath\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Séipia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Féar\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Silín\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Spéir\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Earráid Téacs-go-Caint\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Cinntigh go bhfuil Speech Dispatcher suiteáilte agus ag obair ar do chóras\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Cóipeáilte chuig an ghearrthaisce\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Stíl Aibhsithe\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Scrios\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Roghchlár\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Cuir Nóta leis…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Oscail i bhFuinneog Nua\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Oscail le hAip Sheachtrach\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Easpórtáil Anótálacha…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Fuinneog Nua\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Oscail Cóip\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Iompórtáil Nótaí…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Maidir le Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Gach Roinn\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"An Rannóg Reatha\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Meaitseáil Focail Iomlána Amháin\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Cás Meaitseála\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Comhoiriúnú Diaicritic\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Socruithe Cló agus Leagan Amach\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Mód Scrollaithe\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Inbhéartaigh Dathanna i Mód Dorcha\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Cúrsóir Uathoibríoch\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Priontáil…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Cigire\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Ní féidir an leabhar a oscailt\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Sonraí\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Oscail Comhad Eile…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Priontáil an barra taoibh\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Roghchlár Leabhar\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Aimsigh\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Aimsigh sa leabhar…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Ábhar\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anótálacha\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Roghnaigh roinnt téacs le hanótálacha a chur leis\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Scag anótálacha…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Leabharmharcanna\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Gan Leabharmharcanna\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Cuir roinnt leabharmharcanna leis chun iad a fheiceáil anseo\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Níor aimsíodh aon torthaí\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Bain triail as cuardach difriúil\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Barra taobh\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Féach ar an Roghchlár\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Zúmáil Amach\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Athshocraigh Zúmáil\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Zúmáil Isteach\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Lean Stíl an Chórais\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Stíl Éadrom\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Stíl Dorcha\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Lánscáileán\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Easpórtáil Anótálacha\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Easpórtáil\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formáid\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Roghnaigh “JSON” má tá sé ar intinn agat anótálacha a allmhairiú ar ais \"\n\"chuig Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Mód Eagraíochta\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Cóipeáil\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Sábháil Mar…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rothlaigh 90° Frith deiseal\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rothlaigh 90° deiseal\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Iompórtáil Nótaí\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Iompórtáil\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Ní hionann an t-aitheantóir. B’fhéidir nach don leabhar seo atá na nótaí seo.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Iompórtáil Ar Aon Slí\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Amharc Liosta\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Radharc Eangaí\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Oscail…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Príomh-Roghchlár\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Oscail\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Roghchlár na Leabharlainne\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Cuardaigh an leabharlann…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Ar ais\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Ar Aghaidh\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Gan aon leabhair fós\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Oscail leabhar le tosú ag léamh\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Suíomh\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Insint\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Am atá fágtha sa Rannóg\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Am atá fágtha sa Leabhar\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Leathanach\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Greamaigh agus Téigh\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Roinn\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"An Chéad Roinn\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"An Roinn Roimhe Seo\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Léim go…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"An Chéad Roinn Eile\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"An Roinn Deireanach\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Aibhsigh\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Labhair as Anseo\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Cóipeáil le Lua\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Cóipeáil an Aitheantóir\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Rogha Priontála…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Luas\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Páirc\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Seinn/Sos\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Stad\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Cló\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Méid Cló\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Méid Cló Réamhshocraithe\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Íosmhéid Cló\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Teaghlach Clónna\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Cló Réamhshocraithe\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Sáraigh Cló an Fhoilsitheora\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Cló Serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Cló Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Cló Aonspáis\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Leagan Amach\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragraf\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Airde Líne\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Fírinniú Iomlán\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Fleiscín uathoibríoch\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Ciumhaiseanna\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Uasmhéid na gColún\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Uasmhéid Inlíne\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Leithead uasta an cholúin (scríbhneoireacht chothrománach) nó airde \"\n\"(scríbhneoireacht ingearach)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Uasmhéid Bloc\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Airde uasta (scríbhneoireacht chothrománach) nó leithead (scríbhneoireacht \"\n\"ingearach)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Dath\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Iompar\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Laghdaigh Beochan\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Amharcóir Ríomhleabhar\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ríomhleabhar;Leabhar;EPUB;Amharcóir;Léitheoir;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Faigh amach caibidil nua sa léitheoireacht le Foliate, an léitheoir \"\n\"ríomhleabhar nua-aimseartha atá saincheaptha do GNOME. Tum thú féin i \"\n\"gcomhéadan saor ó chur isteach, le gnéithe saincheaptha atá deartha chun \"\n\"freastal ar do chuid sainroghanna uathúla.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Áirítear leis na gnéithe seo a leanas:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Oscail comhaid EPUB, Mobipocket, Kindle, FB2, CBZ, agus PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Mód leathanaigh agus mód scrollaigh\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Saincheap an cló agus an spásáil líne\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Mód geal, seipia, dorcha, agus inbhéartaithe\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Sleamhnán dul chun cinn léitheoireachta le marcanna caibidle\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Leabharmharcanna agus nótaí\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Aimsigh sa leabhar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Cuardach tapa foclóra\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Socraíodh deireadh na caibidle a ghearradh nuair a thosaíonn an chaibidil le \"\n\"briseadh leathanaigh\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Deisíodh fillteán téacs mícheart i dtáblaí\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Deisíodh fadhb feidhmíochta le catalóga OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\"Tacaíocht curtha leis do chatalóga OPDS, agus tacaíocht do OPDS 2.0 anois\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Rogha curtha leis chun cló an fhoilsitheora a shárú\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Rogha curtha leis chun beochan a laghdú\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Tacaíocht curtha leis do JPEG XL i CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Socraíodh comhad a fháil ó Tracker i Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"Parsáil shocraithe ar dhátaí nach bhfuil bliain amháin iontu ón gcéad aois \"\n\"agus ón Roimh Chomh-Ré (RCR)\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Tá Foliate athscríofa ón tús le leabharlann rindreála ríomhleabhar nua agus \"\n\"na leabharlanna ardáin is déanaí, GTK 4 agus Libadwaita, le comhéadan \"\n\"úsáideora athnuaite agus feidhmíocht fheabhsaithe.\"\n"
  },
  {
    "path": "po/gl.po",
    "content": "# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n#\n# josé m. <correoxm@disroot.org>, 2024.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-12-21 08:21+0200\\n\"\n\"Last-Translator: josé m. <correoxm@disroot.org>\\n\"\n\"Language-Team: Galician <>\\n\"\n\"Language: gl_ES\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=n != 1;\\n\"\n\"X-Generator: Lokalize 22.12.3\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Marcador eliminado\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Desfacer\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Subliñar\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Ondulado\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Riscar\"\n\n#: src/annotations.js:440\n#, fuzzy\nmsgid \"Yellow\"\nmsgstr \"Amarelo\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Laranxa\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Vermello\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Maxenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Auga\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lima\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Cor personalizada\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personalizar\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Ficheiros JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Todos os Ficheiros\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Sen Notas\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"O ficheiro importado non contén notas\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Non se puideron importar as Notas\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Aconteceu un erro\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Non tes notas para este libro\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Notas para \\\"%s\\\"\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Nota\"\nmsgstr[1] \"%d Notas\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Fechar\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Desbotar\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Ficheiros Libro-e\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Ler libros-e con estilo\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"xmgz.eu\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Código Fonte\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Editorial\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publicado\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Actualizado\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Idioma\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Traducido por\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Editado por\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrado por\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ilustrado por\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Producido por\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Arte gráfica por\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Cor por\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Colaboracións\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificador\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Sobre este Libro\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Loc. %s de %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Páxina %s de %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Páxina %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Nota ao pé\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Ir á Nota ao pé\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Nota final\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Ir á Nota final\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nota\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Ir á Nota\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definición\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Ir á definición\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografía\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Ir á Bibliografía\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Retirar marcador\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Engadir marcador\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Non se atopa o ficheiro\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Sen soporte para o tipo de ficheiro\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Eliminouse a Nota\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Imaxe desde \\\"%s\\\"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Imaxe\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"de %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Cargando\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Fallou a Carga\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recargar\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Ver Todos\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Buscar\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtrar\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Descargar\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Mercar\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Vista Previa\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Mostra\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Emprestar\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Subscribir\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratuíto\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Primeira\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Anterior\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Seguinte\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Última\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Termos a buscar\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Título\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autoría\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Colaboración\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Retirar Libro?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Perderás irremediablemente as notas, marcadores e progreso da lectura\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Cancelar\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Retirar\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Fallo ao Abrir\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Non se puido abrir o ficheiro coa aplicación seleccionada\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Fallou a descarga\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Cambiar nome...\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Retirar\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Cambar nome\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Todos os libros\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Engadir Catálogo…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteca\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catálogos\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Retirouse o catálogo\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Engadir catálogo\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Engadir\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Podes ollar e descargar libros de catálogos tipo OPDS. <a href=\\\"https://\"\n\"opds.io\\\">Saber Máis…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Dicionario\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Desde <a id=\\\"link\\\">Wiktionary</a>, publicado con licenza <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Non se atopan definicións\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Buscar en Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Desde <a id=\\\"link\\\">Wikipedia</a>, publicado con licenza <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Buscar na Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traducir\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Traducido por Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Non se obtivo unha tradución\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Buscar…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Por defecto\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gris\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Herba\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cereixa\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Ceo\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizado\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Erro no Texto-a-Fala\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Comproba que Speech Dispatcher está instalada e activa no teu sistema\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copiado ao portapapeis\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Estilo ao Resaltar\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Engadir Nota…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Abrir en Nova xanela\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Abrir con App Externa\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportar Notas…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nova xanela\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Abrir unha copia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importar Notas…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Sobre Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Todas as Seccións\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Sección actual\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Só concordancias completas\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Distingue Maiús/Min\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Distingue Diacríticas\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Axustes de Letra e Disposición\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Modo de desprazamento\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Inverter Cores no Modo Escuro\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Agochar cursor automaticamente\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Imprimir…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspector\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Non se puido abrir o libro\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detalles\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Abrir outro ficheiro…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Fixar Panel lateral\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menú do Libro\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Atopar\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Atopar no libro…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contidos\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Notas\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Selecciona texto para engadir notas\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrar notas…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marcadores\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Sen Marcadores\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Engade algúns Marcadores e veralos aquí\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Non hai resultados\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Intenta outra busca\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Panel lateral\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Ver Menú\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Afastar\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Restablecer Zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Achegar\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Seguir Estilo do sistema\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Estilo claro\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Estilo escuro\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Pantalla completa\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exportar Notas\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportar\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formato\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Elixe “JSON” se pretendes volver a importar as notas en Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Gardar Como…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotar 90° sentido contrario reloxo\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotar 90° sentido reloxo\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importar Notas\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importar\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Non concorda o identificador. As notas poderían pertencer a outro libro.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importar igualmente\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Ver como lista\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Ver como grella\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Abrir…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menú principal\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Abrir\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Menú da Biblioteca\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Buscar na biblioteca…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Volver\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Avanzar\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Aínda non hai libros\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Abre un libro e comeza a ler\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Localización\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narración\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Tempo restante na Sección\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Tempo para finalizar o Libro\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Páxina\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Pegar e Ir\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Sección\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Primeira Sección\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Sección Anterior\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Ir a…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Sección seguinte\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Última sección\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Resaltar\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"En fala desde aquí\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copiar con Cita\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copiar Identificador\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Imprimir Selección…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Velocidade\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Ton\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Reproducir/Pausa\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Deter\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Tipografía\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Tamaño da letra\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Tamaño por defecto\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Tamaño mínimo\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Familia da letra\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Letra por defecto\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Obviar letra da editorial\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Letra Serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Letra Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Letra Monoespazo\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Disposición\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Parágrafo\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Altura da liña\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Xustificación completa\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Guións\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marxes\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Número máximo de Columnas\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Tamaño máximo entre liñas\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Anchura máxima da columna (escritura horizontal) ou altura (escritura \"\n\"vertical)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Tamaño máximo do bloque\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Máxima altura (escritura horizontal) ou anchura (escritura vertical)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Cor\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Comportamento\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Reducir animacións\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Lector de libros electrónicos\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Desfruta de novos xeitos de lectura con Foliate, un lector moderno de libros \"\n\"electrónicos á medida de GNOME. Mergúllate na lectura grazas á interface \"\n\"libre de distraccións, cunha interface personalizable para adaptarse ás túas \"\n\"preferencias.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Características:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Abre EPUB, Mobipocket, Kindle, FB2, CBZ, e ficheiros PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modos por Paxinación e Desprazamento\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Tipo de letra e espazos de liña personalizados\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modos claro, escuro, sepia e invertido\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Barra de progreso da lectura con marcas dos capítulos\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Marcadores e notas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Buscar no libro\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Ollada rápida ao dicionario\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Arranxo do final do corte ao final do capítulo cando comeza cun salto de liña\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Arranxo do problema cos textos nas táboas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Arranxo dos problemas de rendemento con catálogos OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Engadida compatibilidade con catálogos OPDS, agora compatible con OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Engadida a opción para obviar o tipo de letra da editorial\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Engadida opción para reducir as animacións\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Engadida compatibilidade con JPEG XL nos CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Arranxo do problema ao obter o ficheiros de Tracker en Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Arranxo ao procesar datas do primeiro século e anteriores\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate foi recreado desde os cimentos cunha nova biblioteca para mostrar \"\n\"libros electrónicos e as últimas bibliotecas da plataforma, GTK 4 e \"\n\"Libadwaita, cunha interface anovada e melloras no rendemento.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Libro\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Lector\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visualizador\"\n"
  },
  {
    "path": "po/he.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n# Yosef Or Boczko <yoseforb@gmail.com>, 2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-01-11 17:43+0200\\n\"\n\"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\\n\"\n\"Language-Team: Hebrew\\n\"\n\"Language: he\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==2 ? 1 : n>10 && n%10==0 ? \"\n\"2 : 3)\\n\"\n\"X-Generator: Gtranslator 45.3\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"נמחקה סימנייה\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"ביטול\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"קו תחתי\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"קו תחתי משורבט\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"קו חוצה\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"צהוב\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"כתום\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"אדום\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"מגנטה\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"מים\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"ליים\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"בחירת צבע משלך…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"התאמה אישית\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"קובצי JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"כל הקבצים\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"אין הסברים\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"אין הסברים בקובץ המיובא\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"לא ניתן לייבא הסברים\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"אירעה שגיאה\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"אין הסברים כלל בספר זה\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"הסברים עבור „%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"הסבר אחד\"\nmsgstr[1] \"שני הסברים\"\nmsgstr[2] \"%d הסברים\"\nmsgstr[3] \"%d הסברים\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"סגירה\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"ביטול\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"קובצי ספרים אלקטרוניים\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"לקרוא ספרים אלקטרוניים בסטייל\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"ירון שהרבני <sh.yaron@gmail.com>\\n\"\n\"יוסף אור בוצ׳קו <yoseforb@gmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"קוד מקור\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"הוצאה לאור\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"פורסם\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"עודכן\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"שפה\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"תורגם על ידי\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"נערך על ידי\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"קריינות על ידי\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"איור על ידי\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"הופק על ידי\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"אומנות על ידי\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"צבע על ידי\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"תורמים\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"מזהה\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"על הספר הזה\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"מיקום %s מתוך %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"עמוד %s מתוך %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"עמוד %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"הערת שוליים\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"מעבר להערת שוליים\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"הערם סיום\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"מעבר להערת סיום\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"הערה\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"מעבר להערה\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"הגדרה\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"מעבר להגדרה\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"ביבליוגרפיה\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"מעבר לביבליוגרפיה\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"הסרת סימנייה\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"הוספת סימניה\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"הקובץ לא נמצא\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"סוג הקובץ אינו נתמך\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"נמחק הסבר\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"תמונה מאת „%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"תמונה\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"מתוך %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"בטעינה\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"ארע כשל בטעינה\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"רענון\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"לראות הכל\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"חיפוש\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"מסנן\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"הורדה\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"קנייה\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"תצוגה מקדימה\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"דוגמה\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"שאילה\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"הרשמה\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"חינם\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"ראשון\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"הקודם\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"הבא\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"אחרון\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"חיפוש מונחים\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"כותרת\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"מחבר\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"תורם\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"להסיר את הספר?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"שלב הקריאה, הסברים וסימניות יאבדו לצמיתות\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_ביטול\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_הסרה\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"ארע כשל בטעינה\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"אירע כשל בהורדה\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"שינוי שם…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"הסרה\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"שינוי שם\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"שם\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"כל הספרים\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"הוספת קטלוג…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"ספרייה\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"קטלוגים\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"הסרת קטלוג\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"הוספת קטלוג\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"הוספה\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"באפשרותך לסייר ולהוריד ספרים מקטלוגי OPDS. ‏<a href=\\\"https://opds.io\\\">ללמוד \"\n\"עוד…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"כתובת\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"מילון\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"מ<a id=\\\"link\\\">ויקימילון</a>, משוחרר תחת <a href=\\\"https://creativecommons.\"\n\"org/licenses/by-sa/4.0/\\\">הרישיון CC BY-SA‏, Creative Commons ייחוס-שיתוף זהה \"\n\"4.0</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"לא נמצאו הגדרות\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"חיפוש בויקימילון\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"ויקיפדיה\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"מ<a id=\\\"link\\\">ויקיפדיה</a>, משוחרר תחת <a href=\\\"https://en.wikipedia.org/\"\n\"wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">הרישיון CC BY-SA‏, Creative Commons \"\n\"ייחוס-שיתוף זהה 4.0</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"חיפוש בויקיפדיה\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"תרגום\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"‏מתורגם על ידי תרגום Google\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"לא ניתן לקבל תרגום\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"חיפוש\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"ברירת מחדל\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"אפור\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"חום מיושן\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"דשא\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"דובדבן\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"שמים\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"שגיאה בהקראת טקסט\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"יש לוודא שמקריא קול מותקן ועובד במערכת שלך\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"הועתק ללוח הגזירים\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"סגנון הדגשה\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"מחיקה\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"תפריט\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"הוספת הערה…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"פתיחה בחלון חדש\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"ייצוא הסברים…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"חלון חדש\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"פתיחת עותק\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"ייבוא הסברים…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"על Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"כל הבחירה\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"הבחירה הנוכחית\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"התאמת מילים שלמות בלבד\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"התאמת רישיות\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"התאמה הֶבְחֵנִית (דיאקרטית)\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"הגדרות גופן ופריסה\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"מצב גלילה\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"היפוך צבעים במצב כהה\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"הסתרת סמן אוטומטית\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"הדפסה…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"מפקח\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"לא ניתן לפתוח את הספר\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"פרטים\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"פתיחת קובץ אחר…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"קיבוע סרגל הצד\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"תפריט ספר\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"איתור\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"איתור בספר…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"תוכן\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"הסברים\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"יש לבחור טקסט כלשהו על מנת להוסיף הסברים\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"סינון הסברים…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"סימניות\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"אין סימניות\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"יש להוסיף סימניות על מנת לראות אותם כאן\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"לא נמצאו תוצאות\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"יש לנסות חיפוש שונה\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"סרגל צד\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"תפריט תצוגה\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"התרחקות\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"איפוס התקריב\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"התקרבות\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"שימוש בסגנון מערכת\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"סגנון בהיר\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"סגנון כהה\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"מסך מלא\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"ייצוא הסברים\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"ייצוא\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"תבנית\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"יש לבחור ב־„JSON” אם בכוונתך לייבא את ההסברים חזרה ל־Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"‫Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"מצב Org\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"העתקה\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"שמירה בשם...\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"הטייה ב־90° נגד כיוון השעון\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"הטייה ב־90° עם כיוון השעון\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"ייבוא הסברים\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"ייבוא\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"המזהה לא מתאים. יתכן והסברים אלה לא מתאים לספר זה.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"ייבוא בכל מקרה\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"תצוגת רשימה\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"תצוגת רשת\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"פתיחה…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"תפריט ראשי\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"פתיחה\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"תפריט ספרייה\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"חיפוש בספרייה…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"אחורה\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"קדימה\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"עדיין אין ספרים\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"יש לפתוח ספר כדי להתחיל לקרוא\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"מיקום\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"קריינות\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"הזמן שנשאר בפרק\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"הזמן שנשאר בספר\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"עמוד\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"להדביק ולעבור\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"פרק\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"פרק ראשון\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"פרק קודם\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"דילוג אל…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"פרק הבא\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"פרק אחרון\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"הדגשה\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"להקריא מכאן ואילך\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"העתקה עם ציטוט\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"העתקת מזהה\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"הדפסת הבחיר\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"מהירות\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"גובה צליל\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"נגינה/השהיה\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"עצירה\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"גופן\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"גודלן גופן\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"גודל גופן ברירת מחדל\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"גודלן גופן מזערי\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"משפחת הגופנים\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"גופן ברירת מחדל\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"מעוטר\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"ללא עיטורים\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"דריסת גופן ההוצאה לאור\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"גופן מעוטר\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"גופן ללא עיטורים\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"גופן ברוחב קבוע\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"פריסה\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"פסקה\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"גובה שורה\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"יישור מלא\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"מיקוף\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"שוליים\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"מספר עמודות מרבי\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"אורך שורה מרבי\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"רוחב עמודות מרבי (כתיבה אופקית) או גובה (כתיבה אנכית)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"גודל בלוק מרבי\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"גובה מרבי (כתיבה אופקית) או רוחב (כתיבה אנכית)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"צבע\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"התנהגות\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"הפחתת הנפשות\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"מציג ספרים אלקטרוניים\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"ספר אלקטרוני;ספר;איבוק;איספר;איפאב;מציג;מקריא;קורא;ספרים אלקטרוניים;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"לגלות פרק חדש בקריאה עם Foliate, קורא הספרים האלקטרוני המודרני המותאם \"\n\"ל־GNOME. מאפשר לך לשקוע בממשק נטול הסחות דעת, מעוצב עם תכונות להתאמה אישית \"\n\"כך שתתאפשר לך התאמה להעדפות הייחודיות שלך.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"התכונות כוללות:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"פתיחת קובצי EPUB, Mobipocket, Kindle, FB2, CBZ ו־PDF.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"מצב ניווט לפי עמוד ומצב גלילה\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"התאמה אישית של הגופן וריווח השורות\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"בהיר, חום מיושן, כהה ומצב היפוך\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"מחוון התקדמות בקריאה עם סימוני פרקים\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"סימניות והסברים\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"איתור בספר\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"שליפה מהירה מהמילון\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"דריסת גופן ההוצאה לאור\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"‏Foliate נכתב מחדש מאפס עם ספריית עיבוד ספרים אלקטרוניים וספריות הפלטפורמה \"\n\"האחרונות, GTK 4 ו־Libadwaita, עם ממשק משתמש מעודכן וביצועים משופרים.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"ספר\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"קורא\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"מציג\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"ג׳ון פקטוטום\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"העדפות\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"העדפות\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"קיצורי מקלדת\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"העדפות\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"הקראה\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"הצגת סרגל צד\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"שמירת קובץ\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"החלפת צבע ההדגשה\"\n\n#~ msgid \"More\"\n#~ msgstr \"עוד\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"על הספר הזה\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"להשתמש בסרגל צד\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"שחזור תקריב\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"חזרה לעמוד הקודם\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"חזרה למיקום הקודם\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"התקדמות לעמוד הבא\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"מעבר למיקום\"\n"
  },
  {
    "path": "po/hi.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Aman Rawat <dv451197@gmail.com>, 2023.\n# Scrambled777 <weblate.scrambled777@simplelogin.com>, 2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-04-26 10:59+0530\\n\"\n\"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\\n\"\n\"Language-Team: Hindi\\n\"\n\"Language: hi\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Generator: Gtranslator 46.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"पुस्तचिन्ह हटा दिया गया\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"पूर्ववत\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"रेखांकित\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"टेढ़ा-मेढ़ा\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"स्ट्राइकथ्रू\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"पीला\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"नारंगी\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"लाल\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"मैजेंटा\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"एक्वा\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"नीबू हरा\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"तदनुकूल रंग…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"तदनुकूल\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON फाइलें\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"सभी फाइलें\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"कोई एनोटेशन नहीं\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"आयातित फाइल में कोई एनोटेशन नहीं है\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"एनोटेशन आयात नहीं कर सकते\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"एक त्रुटि हुई\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"इस पुस्तक के लिए आपके पास कोई एनोटेशन नहीं है\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s” के लिए एनोटेशन\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d एनोटेशन\"\nmsgstr[1] \"%d एनोटेशन\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"बंद करें\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"रद्द करें\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"ई-पुस्तक फाइलें\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"अंदाज़ से ई-पुस्तकें पढ़ें\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Aman Rawat\\n\"\n\"Scrambled777 <weblate.scrambled777@simplelogin.com>, 2024\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"स्रोत कोड\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"प्रकाशक\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"प्रकाशित\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"अपडेट किया गया\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"भाषा\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"इनके द्वारा अनुवादित\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"इनके द्वारा संपादित\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"इनके द्वारा वर्णित\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"इनके द्वारा चित्रित\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"इनके द्वारा निर्मित\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"इनके द्वारा कलाकृति\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"इनके द्वारा रंग\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"योगदानकर्ता\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"पहचानकर्ता\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"इस पुस्तक के बारे में\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"स्थान %2$s में से  %1$s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"%2$s में से पृष्ठ %1$s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"पृष्ठ %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"पाद-लेख\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"पाद-लेख पर जाएं\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"समाप्ति-लेख\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"समाप्ति-लेख पर जाएं\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"टिप्पणी\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"टिप्पणी पर जाएं\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"परिभाषा\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"परिभाषा पर जाएं\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"ग्रन्थसूची\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"ग्रंथसूची पर जाएं\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"बुकमार्क हटाएं\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"बुकमार्क जोड़ें\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"फाइल प्राप्त नहीं हुई\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"फाइल प्रकार समर्थित नहीं है\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"एनोटेशन मिटाया गया\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"“%s” से छवि\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"छवि\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"%d का\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"लोड हो रहा है\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"लोड करने में विफल\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"पुनः लोड करें\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"सभी देखें\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"खोजें\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"फिल्टर\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"डाउनलोड\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"खरीदें\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"पूर्वावलोकन\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"नमूना\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"उधार\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"सदस्यता लें\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"मुफ़्त\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"पहला\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"पिछला\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"अगला\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"अंतिम\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"खोज शब्द\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"शीर्षक\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"लेखक\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"योगदानकर्ता\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"पुस्तक हटाएं?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"पढ़ने की प्रगति, एनोटेशन और बुकमार्क स्थायी रूप से खो जाएंगे\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"रद्द (_C)\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"हटाएं (_R)\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"लोड करने में विफल\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"डाउनलोड विफल\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"नाम बदलें…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"हटाएं\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"नाम बदलें\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"नाम\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"सभी पुस्तकें\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"सूचीपत्र जोड़ें…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"पुस्तकालय\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"सूचीपत्र\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"सूचीपत्र हटाया गया\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"सूचीपत्र जोड़ें\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"जोड़ें\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"आप OPDS सूचीपत्र से किताबें ब्राउज़ और डाउनलोड कर सकते हैं। <a href=\\\"https://opds.\"\n\"io\\\">और जानें…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"शब्दकोष\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wiktionary</a> से, <a href=\\\"https://creativecommons.org/\"\n\"licenses/by-sa/4.0/\\\">CC BY-SA लाइसेंस</a> के तहत जारी किया गया।\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"कोई परिभाषा नहीं मिली\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Wiktionary पर खोजें\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wikipedia</a> से, <a href=\\\"https://en.wikipedia.org/wiki/\"\n\"Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAike_4.0_International_License\\\">CC BY-SA लाइसेंस</a> के तहत जारी किया गया।\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia पर खोजें\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"अनुवाद\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Google Translate द्वारा अनुवाद\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"अनुवाद पुनर्प्राप्त नहीं किया जा सका\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"खोजें\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"तयशुदा\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"स्लेटी\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"सेपिया\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"घास\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"चैरी\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"आकाश\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"सौर्यकृत\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"ग्रुवबॉक्स\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"नॉर्ड\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"पाठ-से-वाक् त्रुटि\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"सुनिश्चित करें कि स्पीच डिस्पैचर इंस्टॉल है और आपके सिस्टम पर काम कर रहा है\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"क्लिपबोर्ड पर कॉपी किया गया\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"चिन्हांकन शैली\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"मिटाएं\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"मेनू\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"टिप्पणी जोड़ें…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"नई विंडो में खोलें\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"एनोटेशन निर्यात करें…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"नई विंडो\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"एक प्रति खोलें\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"एनोटेशन आयात करें…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliate के बारे में\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"सभी अनुभाग\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"वर्तमान अनुभाग\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"केवल संपूर्ण शब्दों का मिलान करें\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"वर्तनी मिलाएं\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"विशेषक मिलाएं\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"फॉन्ट और अभिन्यास सेटिंग्स\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"स्क्रॉल का मोड\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"गहरे मोड में रंगों को उल्टा करें\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"कर्सर को स्वतः छिपाएं\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"प्रिंट…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"निरीक्षक\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"पुस्तक खोली नहीं जा सकती\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"विवरण\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"कोई अन्य फाइल खोलें…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"पार्श्वपट्टी पिन करें\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"पुस्तक मेनू\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"खोजें\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"पुस्तक में खोजें…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"अंतर्वस्तु\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"एनोटेशन\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"एनोटेशन जोड़ने के लिए कुछ पाठ चुनें\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"एनोटेशन फिल्टर करें…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"पुस्तचिह्न\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"कोई पुस्तचिह्न नहीं\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"यहां देखने के लिए कुछ पुस्तचिह्न जोड़ें\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"कोई परिणाम नहीं मिला\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"भिन्न खोज का प्रयास करें\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"पार्श्वपट्टी\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"मेनू देखें\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"ज़ूम आउट\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"ज़ूम रीसेट\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"ज़ूम इन\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"सिस्टम शैली का पालन\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"हल्की शैली\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"गहरी शैली\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"पूर्णस्क्रीन\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"एनोटेशन निर्यात करें\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"निर्यात\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"प्रारूप\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"यदि आप एनोटेशन को Foliate में वापस आयात करने की योजना बना रहे हैं तो “JSON” चुनें\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"मार्कडाउन\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"संगठन मोड\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"कॉपी\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"ऐसे सहेजें…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"90° वामावर्त घुमाएं\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"90° दक्षिणावर्त घुमाएं\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"एनोटेशन आयात करें\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"आयात\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"पहचानकर्ता मेल नहीं खाता। ये टिप्पणियां इस पुस्तक के लिए नहीं हो सकती हैं।\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"फिर भी आयात करें\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"सूची दृश्य\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"ग्रिड दृश्य\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"खोलें…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"मुख्य मेनू\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"खोलें\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"लाइब्रेरी मेनू\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"लाइब्रेरी खोजें…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"पीछे\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"आगे\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"अभी तक कोई पुस्तकें नहीं\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"पढ़ना शुरू करने के लिए एक पुस्तक खोलें\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"स्थान\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"वर्णन\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"अनुभाग में शेष समय\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"पुस्तक में बचा हुआ समय\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"पृष्ठ\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"पेस्ट करें और जाएं\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"अनुभाग\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"प्रथम अनुभाग\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"पिछला अनुभाग\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"यहाँ जाए…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"अगला अनुभाग\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"अंतिम अनुभाग\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"चिन्हांकन\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"यहां से बोलो\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"उद्धरण सहित कॉपी करें\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"पहचानकर्ता कॉपी करें\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"चयन प्रिंट करें…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"गति\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"स्तर\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"चलाएं/रोकें\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"रोकें\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"फॉन्ट\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"फॉन्ट आकार\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"तयशुदा फॉन्ट आकार\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"न्यूनतम फॉन्ट आकार\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"फॉन्ट परिवार\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"तयशुदा फॉन्ट\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"सेरिफ़\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"सैन्स-सेरिफ़\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"प्रकाशक फॉन्ट ओवरराइड करें\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"सेरिफ़ फॉन्ट\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"सैन्स-सेरिफ़ फॉन्ट\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"मोनोस्पेस फॉन्ट\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"अभिन्यास\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"अनुच्छेद\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"रेखा की ऊंचाई\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"पूर्ण औचित्य\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"हायफ़नेशन\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"मार्जिन\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"कॉलमों की अधिकतम संख्या\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"अधिकतम इनलाइन आकार\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"अधिकतम स्तंभ चौड़ाई (क्षैतिज लेखन) या ऊंचाई (ऊर्ध्वाधर लेखन)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"अधिकतम ब्लॉक आकार\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"अधिकतम ऊंचाई (क्षैतिज लेखन) या चौड़ाई (ऊर्ध्वाधर लेखन)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"रंग\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"व्यवहार\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"सजीवता कम करें\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"ई-पुस्तक दर्शक\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"ईबुक;पुस्तक;दर्शक;पाठक;EPUB;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"GNOME के लिए तैयार किए गए आधुनिक ई-पुस्तक पाठक Foliate के साथ पढ़ने का एक नया अध्याय \"\n\"खोजें। आपकी विशिष्ट प्राथमिकताओं से मेल खाने के लिए डिज़ाइन की गई अनुकूलन सुविधाओं के साथ, \"\n\"अपने आप को एक व्याकुलता-मुक्त इंटरफ़ेस में डुबो दें।\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"शामिल विशेषताएं:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"EPUB, Mobipocket, Kindle, FB2, CBZ और PDF फाइलें खोलें\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"पृष्ठांकित मोड और स्क्रॉल मोड\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"फॉन्ट और पंक्ति-रिक्ति को अनुकूलित करें\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"हल्का, सेपिया, गहरा और उल्टा मोड\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"अध्याय चिह्नों के साथ पढ़ने की प्रगति स्लाइडर\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"पुस्तचिन्ह और एनोटेशन\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"पुस्तक में खोजें\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"त्वरित शब्दकोश खोज\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"प्रकाशक फॉन्ट ओवरराइड करें\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate को नई ई-पुस्तक प्रतिपादन लाइब्रेरी और नवीनतम प्लेटफॉर्म लाइब्रेरी, GTK 4 और \"\n\"Libadwaita के साथ ताज़ा UI और बेहतर प्रदर्शन के साथ फिर से लिखा गया है।\"\n\n#~ msgid \"Book\"\n#~ msgstr \"पुस्तक\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"ई-पुस्तक\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"पाठक\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"दर्शक\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"जॉन फैक्टोटम\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"संदर्भ\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"संदर्भ पर जाएँ\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"कीबोर्ड शॉर्टकट\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"प्राथमिकताएँ\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"बोलना\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"साइडबार को मोड़ें\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"फ़ाइल सहेजें\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"हाइलाइट शैली चुनें\"\n\n#~ msgid \"More\"\n#~ msgstr \"और\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"इस पुस्तक के बारे में\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"साइडबार टॉगल करें\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"ज़ूम पुनर्स्थापित करें\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"पिछले पृष्ठ पर जाएं\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"पिछले स्थान पर वापस जाएँ\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"अगले खंड पर जाएँ\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"अंतिम खंड पर जाएँ\"\n"
  },
  {
    "path": "po/hr.po",
    "content": "# Croatian translations for com.github.johnfactotum.Foliate package\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Milo Ivir <mail@milotype.de>, 2023.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-01-05 00:49+0100\\n\"\n\"Last-Translator: Milo Ivir <mail@milotype.de>\\n\"\n\"Language-Team: \\n\"\n\"Language: hr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Generator: Poedit 3.0\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \"\n\"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Straničnik je izbrisan\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Poništi\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Podcrtano\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Valovito\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Precrtano\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Žuta\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Narančasta\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Crvena\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Akvamarin\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Limunasta\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Prilagođena boja …\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Prilagođeno\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON datoteke\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Sve datoteke\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Bez pribilježaka\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Uvezena datoteka nema pribilješke\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Nije moguće učitati pribilješke\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Došlo je do greške\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Za ovu knjigu nemaš nijednu pribilješku\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Pribilješke za „%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d pribilješka\"\nmsgstr[1] \"%d pribilješke\"\nmsgstr[2] \"%d pribilježaka\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Zatvori\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Odustani\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Datoteke e-knjiga\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Čitaj e-knjige u stilu\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Milo Ivir <mail@milotype.de>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Izvorni kod\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Izdavač\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Objavljeno\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Aktualizirano\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Jezik\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Prevoditelj:\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Urednik:\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narator:\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ilustrator:\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Producent:\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Umjetnik:\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Kolorist:\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Doprinositelji\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifikator\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"O ovoj knjizi\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Mjesto %s od %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"%s. stranica od %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"%s. stranica\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Fusnota\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Idi na fusnotu\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Završna bilješka\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Idi na završnu bilješku\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Bilješka\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Idi na bilješku\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definicija\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Idi na definiciju\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografija\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Idi na bibliografiju\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Ukloni straničnik\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Dodaj straničnik\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Datoteka nije pronađena\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Vrsta dokumenta nije podržana\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Pribilješka je izbrisana\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"– %s, „%s”, %s. stranica\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"– „%s”, %s. stranica\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (%s. stranica)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"– %s, „%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"– „%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Slika od „%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Slika\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"od %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Učitavanje\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Neuspjelo učitavanje\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Učitaj ponovo\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Pogledaj sve\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Pretraži\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtriraj\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Preuzmi\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Kupi\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Pregled\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Uzorak\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Posudi\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Pretplati se\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Besplatno\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Prva\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Prethodna\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Sljedeća\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Zadnja\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Traži pojmove\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Naslov\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autor\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Doprinositelj\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Ukloniti knjigu?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Napredak čitanja, pribilješke i straničnici će se zauvijek izgubiti\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Odustani\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Ukloni\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Neuspjelo učitavanje\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Preuzimanje nije uspjelo\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Preimenuj …\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Ukloni\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Preimenuj\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Ime\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Sve knjige\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Dodaj katalog …\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteka\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Katalozi\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalog je uklonjen\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Dodaj katalog\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Dodaj\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Knjige se mogu pregledavati i preuzimati iz OPDS kataloga. <a href=\\\"https://\"\n\"opds.io\\\">Saznaj više …</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Rječnik\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Od <a id=\\\"link\\\">Wiktionary</a>, objavljeno pod licensom<a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Nije pronđena nijedna definicija\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Traži na Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Od <a id=\\\"link\\\">Wikipedia</a>, objavljeno pod licensom<a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Traži na Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Prevedi\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Prijevod: Google prevoditelj\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Nije moguće pronaći prijevod\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Pretraži\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Zadano\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Siva\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Tamnosmeđa\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Trava\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Trešnja\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Nebo\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarno\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Greška u pretvaranju teksta u govor\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Provjeri je li Speech Dispatcher (sučelje za govornu jedinicu) instaliran i \"\n\"je li radi na tvom sustavu\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Kopirano u međuspremnik\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Stil za isticanje\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Izbriši\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Izbornik\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Dodaj bilješku …\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Otvori u novom prozoru\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Izvezi pribilješke …\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Novi prozor\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Otvori kopiju\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Uvezi pribilješke …\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"O programu Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Svi odlomci\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Aktualni odlomak\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Usporedi samo cijele riječi\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Usporedi veličinu slova\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Usporedi dijakritičke znakove\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Postavke fonta i rasporeda\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Modus listanja\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Invertiraj boje u tamnom modusu\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Automatski sakrij kursor\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Ispis …\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspektor\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Knjiga se ne može otvoriti\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Pojediosti\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Otvori jednu drugu datoteku …\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Prikvači bočni stupac\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Izbornik knjiga\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Pronađi\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Pronađi u knjizi …\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Sadržaj\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Pribilješke\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Odaberi neki tekst za dodavanje pribilježaka\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtriraj pribilješke …\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Straničnici\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Nema straničnika\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Dodaj neke straničnike kako bi se ovdje prikazali\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Nema rezultata\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Pokušaj drugačiju pretragu\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Bočni stupac\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Izbornik prikaza\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Smanji prikaz\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Obnovi uvećanje prikaza\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Uvećaj prikaz\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Slijedi stil sustava\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Svijetli stil\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Tamni stil\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Cjeloekranski prikaz\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Izvoz pribilježaka\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Izvoz\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Format\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Odaberi „JSON” ako planiraš uvoziti pribilješke natrag u Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopiraj\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Spremi kao …\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Okreni za 90 ° ulijevo\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Okreni za 90 ° udesno\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Uvoz pribilježaka\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Uvoz\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Identifikator se ne poklapa. Ove pribilješke možda nisu za ovu knjigu.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Svejedno uvezi\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Prikaz popisa\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Prikaz sličica\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Otvori …\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Glavni izbornik\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Otvori\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Izbornik biblioteke\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Pretraži biblioteku …\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Natrag\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Naprijed\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Još nema knjiga\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Otvori jednu knjigu i počni čitati\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Mjesto\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Naracija\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Preostalo vrijeme u odlomku\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Preostalo vrijeme u knjizi\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Stranica\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Umetni i idi\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Odlomak\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Prvi odlomak\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Prethodni odlomak\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Prijeđi na …\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Sljedeći odlomak\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Zadnji odlomak\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Istakni\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Govori odavdje\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Kopiraj s citatom\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Kopiraj identifkatora\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Ispiši odabir …\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Brzina\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Visina\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Pokreni/Zaustavi\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Prekini\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Font\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Veličina fonta\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Standardna veličina fonta\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Najmanja veličina fonta\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Obitelj fontova\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Standardni font\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serifni\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Bezserifni\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Zamijeni font izdavača\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serifni font\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Bezserifni font\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Jednometrični font\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Raspored\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Odlomak\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Visina retka\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Obostrano poravnanje\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Rastavljanje riječi\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margine\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Maksimalni broj stupaca\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Maksimalna veličina elementa\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Maksimalna širina stupca (vodoravno pisanje) ili visina (okomito pisanje)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Maksimalna veličina bloka\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Maksimalna visina (vodoravno pisanje) ili širina (okomito pisanje)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Boja\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Ponašanje\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Smanji animciju\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Čitač e-knjiga\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;e-knjiga;Book;knjiga;EPUB;Viewer;prikazivač;Reader;čitač;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Otkrij novo poglavlje čitajući pomoću Foliatea, modernim čitačem e-knjiga \"\n\"prilagođenim za GNOME. Foliate pruža jednostavno sučelje s mogučnošću \"\n\"prilagođavanja raznih funkcija vlastitim željama.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Funkcije uključuju:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Otvori EPUB, Mobipocket, Kindle, FB2, CBZ i PDF datoteke\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modus paginacije i modus listanja\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Prilagodi font i razmak između redaka\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Svijetli, tamnosmeđi, tamni i invertirani modus\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Klizač napretka čitanja s oznakama poglavlja\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Straničnici i pribilješke\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Pronađi u knjizi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Brzo pretraživanje rječnika\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Zamijeni font izdavača\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate je potpuno novo programiran s novom bibliotekom za prikaz e-knjiga i \"\n\"najnovijim bibliotekama platforme, GTK 4 i Libadwaita, sa svježim \"\n\"korisničkim sučeljem i poboljšanom performancom.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Knjiga\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Čitač\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Prikazivač\"\n"
  },
  {
    "path": "po/hu.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-11-30 18:00+0800\\n\"\n\"Last-Translator: Ádám Szabó <canis_major@outlook.hu>\\n\"\n\"Language-Team: Hungarian <canis_major@outlook.hu>\\n\"\n\"Language: hu_HU\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Könyvjelző törölve\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Visszavonás\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Aláhúzott\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Hullámos\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Áthúzott\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Citromsárga\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Narancssárga\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Piros\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Bíbor\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Világoskék\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Világoszöld\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Egyéni szín...\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Egyéni téma\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON fájlok\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Összes fájl\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Nincsenek feljegyzések\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Az importált fájl nem tartalmaz feljegyzéseket\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"A feljegyzések importálása sikertelen\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Hiba történt\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Ehhez a könyvhöz nem tartoznak feljegyzések\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Feljegyzések a “%s” \"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Feljegyzés\"\nmsgstr[1] \"Feljegyzések\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Bezárás\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Mégse\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"E-Book fájlok\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Olvasson e-könyveket stílusosan\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Szabó Ádám\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Forráskód\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Kiadó\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Kiadás dátuma\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Frissítés dátuma\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Nyelv\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Fordította\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Szerkesztő\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrátor\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illusztrálta\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Készítette\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Grafikus:\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Színezte\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Közreműködők:\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Azonosító\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Könyvismertető\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Poz. %s ból/ből %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Oldal %s ból/ből %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Oldal %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Lábjegyzet\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Ugrás a lábjegyzetre\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Végjegyzet\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Ugrás a végjegyzetre\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Megjegyzés\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Ugrás a megjegyzésre\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definíció\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Ugrás a definícióra\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Forrásjegyzék\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Ugrás a forrásjegyzékre\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Könyvjelző eltávolítása\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Könyvjelző hozzáadása\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"A fájl nem található\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Ez a fájltípus nem támogatott\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Feljegyzés törölve\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Kép a ból/ből “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Kép\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"nak/nek %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Betöltés\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"A betöltés sikertelen\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Újratöltés\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Összes mgtekintése\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Keresés\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Szűrő\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Letöltés\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Vásárlás\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Előnézet\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Minta\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Kölcsönzés\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Előfizetés\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Ingyenes\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Első\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Előző\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Következő\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Utolsó\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Keresőkifejezés\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Cím\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Szerző\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Közreműködő\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Eltávolítja a könyvet?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"Az aktuális olvasási pozíció, a feljegyzések és a könyvjelzők végérvényesen \"\n\"elvesznek\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Mégse\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Eltávolítás\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"A betöltés sikertelen\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"A fájl megnyitása sikertelen volt a kiválasztott alkalmazással\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"A letöltés sikertelen\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Átnevezés...\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Eltávolítás\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Átnevezés\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Név\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Minden könyv\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Katalóus hozzáadása...\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Könyvtár\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Katalógusok\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalógus törölve\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Katalógus hozzáadása\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Hozzáad\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Böngészhet és letölthet könyveket nyilvános (OPDS) katalógusokból. <a \"\n\"href=\\\"https://opds. io\\\">További információ...</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Szótár\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Nem található definíció\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Keresés a Wikiszótárban\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipédia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Keresés a Wikipédián\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Fordítás\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Fordítás a Google Fordítóval\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"A fordítás sikertelen\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Keresés\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Alapértelmezett\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Szürke\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Szépia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Fűzöld\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cseresznyepiros\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Égkék\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Szolarizált\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Észak\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Hiba a felolvasáskor\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Győződjön meg róla, hogy a beszédmotor telepítésre került-e és, hogy működik-\"\n\"e az Ön rendszerén\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Vágólapra másolva\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Kiemelés stílusa\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Törlés\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Megjegyzés hozzáadása...\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Megnyitás új ablakban\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Megnyitás külső alkalmazásban\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Feljegyzések exportálása...\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Új ablak\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Másodpéldány megnyitása\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Feljegyzések importálása...\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Névjegy\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Összes szakasz\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Aktuális szakasz\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Csak teljes szavas egyezés\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Kis - és nagybetűk egyezzenek\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Diakrtikus jelek egyezzenek\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Betűtípus és elrendezés\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Folyamatos görgetés\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Színek invertálása sötét módban\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Kurzor automatikus elrejtése\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Nyomtatás...\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Fejlesztői üzemmód\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"A könyv megnyitása sikertelen\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Részletek\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Másik fájl megnyitása...\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Kitűzés az oldalsávra\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Műveleti menü\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Keresés\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Keresés a könyvben\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Tartalomjegyzék\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Feljegyzések\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Feljegyzések hozzáadásához jelöljön ki egy szövegrészt\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Feljegyzések szűrése...\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Könyvjelzők\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Nincsenek könyvjelzők\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Hozzon létre néhány könyvjelzőt, hogy itt megtalálhassa őket\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Nincs találat\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Próbálkozzon más keresőkifejezéssel\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Oldalsáv\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Nézet\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Kicsinyítés\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Eredeti méret visszaállítása\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Nagyítás\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Rendszertéma használata\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Világos mód\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Sötét mód\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Teljes képernyő\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Feljegyzések exportálása\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportálás\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formátum\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Válassza a “JSON” opciót, ha a későbbiekben szeretné visszaimportálni a \"\n\"feljegyzéseket a programba\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Másolás\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Mentés másként...\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Elforgatás 90°-kal az óramutató járásával ellentétesen\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Elforgatás 90°-kal az óramutató járásával megegyezően\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Feljegyzések importálása\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importálás\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Az azonosító nem egyezik. A feljegyzések feltehetően nem ehhez a könyvhöz \"\n\"tartoznak.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importálás mindenképpen\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Listanézet\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Rácsnézet\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Megnyitás...\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Főmenü\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Megnyitás\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Könyvtár menü\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Keresés a könyvtárban....\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Vissza\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Előre\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Még nem adott hozzá könyvet a könyvtárhoz\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Nyisson meg egy könyvet az olvasáshoz\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Pozíció\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Felolvasás\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"A fejezetből hátralévő idő\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"A könyből hátralévő idő\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Oldal\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Beillesztés és ugrás\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Szakasz\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Első szakasz\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Előző szakasz\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Ugrás ide...\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Következő szakasz\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Utolsó szakasz\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Kiemelés\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Felolvasás innentől\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Másolás idézőjelekben\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Azonosító másolása\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Kijelölés nyomtatása...\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Sebesség\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Hangmagasság\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Lejátszás/Szünet\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Leállítás\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Betűtípus\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Betűméret\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Alapértelmezett betűméret\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Minimális betűméret\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Betűtípus család\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Alapértelmezett betűtípus\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Talpas\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Talpatlan\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"A beépített betűtípus felülírása\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Talpas betűtípuscsalád\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Talpatlan betűtípuscsalád\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Állandó szélességű betűtípuscsalád\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Elrendezés\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Bekezdés\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Sormagasság\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Teljes sorkizárás\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Elválasztás\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margók\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Oszlopok száma összesen\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Maximális sorméret\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Maximum oszlopszélesség (vízszintes írásnál) vagy magasság (függőleges \"\n\"írásnál)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Maxmimális hasábméret\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Maximális magasság (vízszintes írásnál) vagy szélesség (függőleges írásnál)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Szín\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Viselkedés\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Animáció csökkentése\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"E-book olvasó\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-Book;Könyv;EPUB;Olvasó;Reader;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Nyisson új fejezetet az olvasásban a Foliate segítségével, a modern e-\"\n\"book olvasóval, melyet a GNOME felülethez igazítottunk. Merüljön el az \"\n\"olvasásban egy letisztult és személyre szabható felület segítségével, amelyet \"\n\"úgy terveztek, hogy igazodjon az Ön egyéni igényeihez.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Legfontosabb jellemzők:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"EPUB, Mobipocket, Kindle, FB2, CBZ és PDF formátumok megnyitása\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Oldalankénti valamint folyamatos megjelenítési mód\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Személyre szabható betű - és sorköz\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Világos, szépia, sötét és invertált megjelenítési módok\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Olvasási folyamatsáv, fejezetjelzőkkel\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Könyjelzők és feljegyzések\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Keresés a könyvben\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Gyors keresés a szótárban\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Javított fejezet megjelenítés abban az esetben, ha a fejezet sortöréssel kezdődik\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Javított szövegelrendezés a táblázatokon belül\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Javításra került az OPDS katalógusoknál fellépő teljesítményprobléma\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"OPDS katalógusok támogatása (mostantól az OPDS 2.0 is támogatott)\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"A beépített betűtípus felülírása\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Csökkenthető programanimáció\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"A CBZ fájlokban elhelyezett JPEG XL elemek támogatása\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"A Trackerből történő fájl megnyitás javításra került a Flatpak csomagban\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Dátumfeldolgozással kapcsolatos hibák javítása\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"A Foliate alapjaiban került újraírásra, az e-book feldolgozó motor \"\n\"megújításával,valamint a legfrissebb platform modulokkal (GTK 4 és \"\n\"Libadwita) továbbá egy felfrissített felhasználói felülettel,és jobb \"\n\"teljesítménnyel.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Könyv\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Olvasó\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Olvasó\"\n"
  },
  {
    "path": "po/id.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Muktazam Hasbi Ashidiqi <hasbeeazam@gmail.com>, 2019.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2019-06-14 21:02+0700\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: \\n\"\n\"Language: id_ID\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 2.2.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Penanda buku\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Kuning\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Oranye\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Merah\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Limau\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"Semua berkas\"\n\n#: src/annotations.js:597 src/app.js:149\n#, fuzzy\nmsgid \"All Files\"\nmsgstr \"Semua berkas\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Anotasi\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Ekspor Anotasi…\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anotasi\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Anotasi\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"Berkas E-book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Penerbit\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Penerbit\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Bahasa\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Terjemahkan\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Tampilkan daftar isi\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Pengidentifikasi\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Tentang Buku Ini\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Halaman berikutnya\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Pergi ke halaman berikutnya\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Pergi ke halaman berikutnya\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Pergi ke halaman berikutnya\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Pergi ke halaman berikutnya\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Tidak ada hasil\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Kembali ke lokasi sebelumnya\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Hapus\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Tidak ada penanda buku\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"Entri tidak ditemukan.\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Anotasi\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"dari %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\n#, fuzzy\nmsgid \"Failed to Load\"\nmsgstr \"Salin ke clipboard\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\n#, fuzzy\nmsgid \"Search\"\nmsgstr \"Mencari…\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Mencari…\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Tampilkan daftar isi\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Hapus\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Salin ke clipboard\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Penanda buku\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Buka Berkas…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\n#, fuzzy\nmsgid \"Dictionary\"\nmsgstr \"Izinkan Kamus\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Tidak ada hasil\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Terjemahkan\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Mencari…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Text-to-speech\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\n#, fuzzy\nmsgid \"Copied to clipboard\"\nmsgstr \"Salin ke clipboard\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Sorot\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Buka Berkas…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\n#, fuzzy\nmsgid \"Export Annotations…\"\nmsgstr \"Ekspor Anotasi…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:21\n#, fuzzy\nmsgid \"Import Annotations…\"\nmsgstr \"Ekspor Anotasi…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Tentang Foliate\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Seluruh bagian\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Bagian saat ini\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Gulir\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Buka berkas\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Tampilkan penanda buku\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Temukan dalam buku\"\n\n#: src/ui/book-viewer.ui:313\n#, fuzzy\nmsgid \"Contents\"\nmsgstr \"Tampilkan daftar isi\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anotasi\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Tidak ada anotasi\"\n\n#: src/ui/book-viewer.ui:433\n#, fuzzy\nmsgid \"Filter annotations…\"\nmsgstr \"Tampilkan anotasi\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Penanda buku\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Penanda buku\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Tidak ada hasil\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Tampilkan penanda buku\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Lihat\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Perkecil\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Perbesar\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Terang\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Gunakan Mode Gelap\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Layar Penuh\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Ekspor Anotasi…\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Salin\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Simpan berkas\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Ekspor Anotasi…\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Lihat\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Lihat\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Buka…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Buka…\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Mencari…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Tidak ada penanda buku\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Buka buku untuk memulai membaca\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\n#, fuzzy\nmsgid \"Location\"\nmsgstr \"Kembali ke lokasi sebelumnya\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"%d menit lagi pada buku\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"%d menit lagi pada buku\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Halaman berikutnya\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:322\n#, fuzzy\nmsgid \"Section\"\nmsgstr \"Seleksi\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Bagian saat ini\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Kembali ke lokasi sebelumnya\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Bagian saat ini\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Seleksi\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Sorot\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Pengidentifikasi\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Bagian saat ini\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:9\n#, fuzzy\nmsgid \"Font Size\"\nmsgstr \"Perkecil ukuran fonta\"\n\n#: src/ui/view-preferences-window.ui:12\n#, fuzzy\nmsgid \"Default Font Size\"\nmsgstr \"Perkecil ukuran fonta\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Terang\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Rata Kanan-Kiri\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Tanda hubung otomatis\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margin\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Anotasi\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"Pemirsa eBook\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook,Buku,EPUB,Pemirsa,Pembaca;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Anotasi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Temukan dalam buku\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Penanda buku\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Lihat\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Preferensi\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Preferensi\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Pintasan Keyboard\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Preferensi\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Tampilkan penanda buku\"\n\n#, fuzzy\n#~ msgid \"Save File\"\n#~ msgstr \"Buka berkas\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Berkas E-book\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Tentang Buku Ini\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Tampilkan penanda buku\"\n\n#, fuzzy\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Pergi ke halaman sebelumnya\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Kembali ke lokasi sebelumnya\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Pergi ke halaman berikutnya\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Kembali ke lokasi sebelumnya\"\n"
  },
  {
    "path": "po/ie.po",
    "content": "# Interlingue translation of Foliate.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# OIS <mistresssilvara@hotmail.com>, 2020.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2020-07-06 13:17+0800\\n\"\n\"Last-Translator: OIS <mistresssilvara@hotmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ie\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 2.3\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Marca-págines\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Arangeator\"\n\n#: src/annotations.js:442\n#, fuzzy\nmsgid \"Red\"\nmsgstr \"Recargar\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Selecter un color personalisat\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Personal tema\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"Omni files\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Omni files\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Anotationes\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Importar anotationes...\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Un errore evenit.\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anotationes\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Anotationes\"\nmsgstr[1] \"Anotationes\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"Files de e-libres\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"OIS <mistresssilvara@hotmail.com>, 2020\"\n\n#: src/app.js:414\n#, fuzzy\nmsgid \"Source Code\"\nmsgstr \"Orígine: \"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Publicator\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Publicator\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\n#, fuzzy\nmsgid \"Updated\"\nmsgstr \"Actualisar\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Lingue\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Traducter\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Contenete\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificator\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Pri ti-ci libre\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Sequent págine\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Ear al sequent págine\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Ear al sequent págine\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Ear al sequent págine\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Ear al sequent págine\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Null resultates trovat\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Ear a localisation\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Remover li libre\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Adjunter libres\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"File ne esset trovat.\"\n\n#: src/book-viewer.js:715\n#, fuzzy\nmsgid \"File type not supported\"\nmsgstr \"Tip de file ne es suportat.\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Anotation\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Image ex «%s»\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Image\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"ex %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recargar\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Serchar\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Serchar\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Contenete\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Remover li libre\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Menú\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Adjunter libres...\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteca\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Dictionarium\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Null resultates trovat\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traducter\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Serchar\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Parlation\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Marcar\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Remover\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Adjunter libres...\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportar anotationes...\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Aperter un copie\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importar anotationes...\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Pri Foliate\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Collectiones\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Li actual capitul\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Rulat\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detallies\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Aperter un file\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Monstrar li panel láteral\"\n\n#: src/ui/book-viewer.ui:253\n#, fuzzy\nmsgid \"Book Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Trovar\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Trovar in li libre\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contenete\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anotationes\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Null anotationes\"\n\n#: src/ui/book-viewer.ui:433\n#, fuzzy\nmsgid \"Filter annotations…\"\nmsgstr \"Serchar anotationes\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marca-págines\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Marca-págines\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Null resultates trovat\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\n#, fuzzy\nmsgid \"Try a different search\"\nmsgstr \"Prova un altri sercha.\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Monstrar li panel láteral\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Diminuer\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Agrandar\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Lucid\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Mode obscur\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Plen-ecran\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Exportar anotationes...\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Gardar quam\"\n\n#: src/ui/image-viewer.ui:25\n#, fuzzy\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotar a levul por 90°\"\n\n#: src/ui/image-viewer.ui:32\n#, fuzzy\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotar a dextri por 90°\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Importar anotationes...\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Vise\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Vise\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Aperter...\"\n\n#: src/ui/library.ui:67\n#, fuzzy\nmsgid \"Main Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Aperter...\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Biblioteca\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Sercha...\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Hay ancor null libres\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Aperte un libre por comensar letion.\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Localisation\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"Témpor restant in li libre\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"Témpor restant in li libre\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Sequent págine\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Section\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Li actual capitul\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Retornar al precedent localisation\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Li actual capitul\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Section\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Marcar\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Dir de ci\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Identificator\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Li actual capitul\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:47\n#, fuzzy\nmsgid \"Serif\"\nmsgstr \"Serie\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Altore de lineas\"\n\n#: src/ui/view-preferences-window.ui:135\n#, fuzzy\nmsgid \"Full Justification\"\nmsgstr \"Alineament de subtitules\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Separation síllabic\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Márgines\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Anotationes\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"Visor de eLibres\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Elibre;Libre;EPUB;Visor;Letor;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Anotationes\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Trovar in li libre\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Menú\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Menú\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Preferenties\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Preferenties\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Rapid-tastes\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Preferenties\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Dir\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Monstrar li panel láteral\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"Actor\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Gardar li file\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Color de marca\"\n\n#~ msgid \"More\"\n#~ msgstr \"Plu\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Pri ti-ci libre\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Usar li panel láteral\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Scale predefinit\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Ear al precedent págine\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Retornar al precedent localisation\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Ear al sequent págine\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Ear a localisation\"\n"
  },
  {
    "path": "po/it.po",
    "content": "# Italian translations for com.github.johnfactotum.Foliate package\n# Traduzioni italiane per il pacchetto com.github.johnfactotum.Foliate..\n# Copyright (C) 2019 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Shiba, 2019.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-02-23 21:43+0100\\n\"\n\"Last-Translator: Albano Battistella <albanobattistella@gmail.com>\\n\"\n\"Language-Team: Italian\\n\"\n\"Language: it\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 2.4.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Segnalibri cancellati\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Annulla\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Sottolineare\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Ondulato\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Barrato\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Giallo\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Arancione\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rosso\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lime\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Colore personalizzato…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personalizzato\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"File JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Tutti i File\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Nessuna Annotazione\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Il file importato non ha annotazioni\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Impossibile importare annotazioni\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Si è verificato un errore\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Non hai annotazioni per questo libro\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Annotazioni per “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Annotazione\"\nmsgstr[1] \"%d Annotazioni\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Chiudi\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Annulla\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"File E-Book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Leggi gli e-book con stile\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Gianluca Boiano,Albano Battistella\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Codice sorgente \"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Editore\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Pubblicato\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Aggiornato\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Lingua\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Tradotto da\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Modificato da\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrato da\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illustrato da\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Prodotto da\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Opera di\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Colori di\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Contributori\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"ID\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Informazioni su questo libro\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Loc. %s di %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Pagina %s di %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Pagina %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"note a piè di pagina\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Vai alla nota a piè di pagina\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Nota finale\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Vai alla nota finale\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nota\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Vai alla nota\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definizione\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Vai alla definizione\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografia\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Vai alla bibliografia\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Rimuovi segnalibroo\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Aggiungi segnalibro\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"File non trovato\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Tipo di file non supportato\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Annotazione cancellata\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Immagine da \\\"%s\\\"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Immagine\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"di %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Caricamento\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Caricamento fallito\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Ricarica\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Mostra tutto\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Cerca\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtro\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Acquista\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Anteprima\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Esempio\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Prestito\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Iscriviti\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratuito\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Primo\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Precedente\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Prossimo\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Ultimo\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Cerca termini\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Titolo\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autore\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Contributore\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Rimuovere il Libro?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"L'avanzamento della lettura, le annotazioni e i segnalibri andranno persi \"\n\"definitivamente\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Annulla\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Rimuovi\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Caricamento fallito\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Download non riuscito\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Rinomina…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Rimuovi\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Rinomina\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Tutti i libri\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Aggiungi catalogo…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Libreria\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Cataloghi\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Catalogo rimosso\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Aggiungi catalogo\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Aggiungi\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Puoi sfogliare e scaricare libri dai cataloghi OPDS. <a href=\\\"https://opds.\"\n\"io\\\">Ulteriori informazioni…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Dizionario\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Da <a id=\\\"link\\\">Wiktionary</a>, pubblicato sotto <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">Licenza CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Nessuna definizione trovata\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Cerca su Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Da <a id=\\\"link\\\">Wikipedia</a>, pubblicato sotto <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Licenza CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Cerca su Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traduci\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Tradotto da Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Impossibile recuperare la traduzione\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Cerca\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Predefinito\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Grigio\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Erba\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Ciliegia\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Cielo\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizzato\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Errore della Sintesi Vocale\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Assicurati che Speech Dispatcher sia installato e funzionante sul tuo sistema\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copiato negli appunti\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Stile di evidenziazione\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Elimina\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Aggiungi nota…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Apri in una nuova finestra\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Esporta Annotazioni…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nuova finestra\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Apri una Copia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importa Annotazioni…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Informazioni su Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Tutte le sezioni\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Sezione corrente\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Trova la corrispondenza solo con parole intere\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Caso di corrispondenza\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Abbina i segni diacritici\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Impostazioni del font e del layout\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Modalità di scorrimento\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Inverti i colori in modalità scura\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Nascondi automaticamente il cursore\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Stampa…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Ispettore\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Impossibile aprire il libro\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Dettagli\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Apri un altro file…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Blocca barra laterale\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menu libro\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Cerca\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Cerca nel libro…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contenuti\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Annotazioni\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Seleziona del testo per aggiungere annotazioni\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtra annotazioni…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Segnalibri\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Nessun Segnalibro\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Aggiungi alcuni segnalibri per vederli qui\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Nessun risultato trovato\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Prova una ricerca diversa\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Barra laterale\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Vista del Menu\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Rimpicciolisci\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Ripristina Zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Ingrandisci\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Segui lo stile del sistema\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Stile chiaro\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Stile Scuro\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Schermo intero\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Esporta Annotazioni\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Esporta\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formato\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Scegli \\\"JSON\\\" se prevedi di importare nuovamente le annotazioni in Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Modalità Org\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copia\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Salva come…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Ruota di 90° in senso antiorario\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Ruota di 90° in senso orario\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importa Annotazioni\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importa\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"L'identificatore non corrisponde. Queste annotazioni potrebbero non \"\n\"riguardare questo libro.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importa comunque\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Vista ad elenco\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Vista a grigia\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Apri…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menu principale\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Apri\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Menù libreria\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Cerca libreria…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Indietro\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Avanti\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Ancora nessun libro\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Apri un libro per iniziare a leggere\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Posizione\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narrazione\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Tempo rimasto nella sezione\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Tempo rimasto nel libro\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Pagina\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Incolla e vai\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Sezione\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Prima sezione\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Precedente sezione\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Salta a…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Prossima sezione\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Ultima sezione\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Evidenzia\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Leggi da Qui\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copia con citazione\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copia ID\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Selezione di stampa…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Velocità\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Avvia/Pausa\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Ferma\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Font\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Dimensione font\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Dimensione font predefinito\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Dimensione minima del font\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Famiglia font\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Font predefinito\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Sostituisci carattere editore\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Font Serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Font Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Font Monospace\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Layout\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragrafo\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Altezza linea\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Giustificato\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Sillabazione\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margini\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Numero massimo di colonne\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Dimensione massima in linea\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Larghezza massima della colonna (scrittura orizzontale) o altezza (scrittura \"\n\"verticale)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Dimensione massima del blocco\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Altezza massima (scrittura orizzontale) o larghezza (scrittura verticale)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Colore\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Comportamento\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Riduci l'animazione\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Visualizzatore di E-Book\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;libri;visualizzatore;lettore;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Scopri un nuovo capitolo della lettura con Foliate, il moderno lettore di e-\"\n\"book su misura per GNOME. Immergiti in un'interfaccia priva di distrazioni, \"\n\"con funzionalità di personalizzazione progettate per soddisfare le tue \"\n\"uniche preferenze.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Le funzionalità includono:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Apri file EPUB, Mobipocket, Kindle, FB2, CBZ e PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modalità impaginata e modalità discorrimento\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Personalizza il carattere e l'interlinea\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modalità chiara, seppia, scura e invertita\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\"Dispositivo di scorrimento dell'avanzamento della lettura con contrassegni \"\n\"del capitolo\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Segnalibri e annotazioni\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Trova nel libro\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Ricerca veloce nel dizionario\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Sostituisci carattere editore\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate è stato riscritto da zero con una nuova libreria di rendering di e-\"\n\"book e le ultime librerie della piattaforma, GTK 4 e Libadwaita, con \"\n\"interfaccia utente aggiornata e prestazioni migliorate.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Libro\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Lettore\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Spettatore\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#~ msgid \"Reference\"\n#~ msgstr \"Referenze\"\n\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Vai alle referenze\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Scorciatoie da tastiera\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Preferenze\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Leggi\"\n\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Piega barra laterale\"\n\n#~ msgid \"Voice\"\n#~ msgstr \"Voce\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Salva File\"\n\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Cambia stile di evidenziazione\"\n\n#~ msgid \"More\"\n#~ msgstr \"Altro\"\n\n#~ msgid \"About this book\"\n#~ msgstr \"Informazioni su questo libro\"\n\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Attiva/disattiva barra laterale\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Ripristina ingrandimento\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Vai alla pagina precedente\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Torna alla posizione precedente\"\n\n#~ msgid \"Go to next section\"\n#~ msgstr \"Vai alla pagina sezione\"\n\n#~ msgid \"Go to last section\"\n#~ msgstr \"Vai all'ultima sezione\"\n"
  },
  {
    "path": "po/ja.po",
    "content": "# Japanese translations for Foliate.\n# Copyright (C) 2025\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# kurome <hunt31999@gmail.com>, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-02-07 16:34+0900\\n\"\n\"Last-Translator: kurome <hunt31999@gmail.com>\\n\"\n\"Language-Team: Japanese <>\\n\"\n\"Language: ja\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0\\n\"\n\"X-Generator: Gtranslator 42.0\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"ブックマークは削除されました\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"戻す\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"下線\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"波線\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"取り消し線\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"イエロー\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"オレンジ\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"レッド\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"マゼンタ\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"アクア\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"ライム\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"色を選択\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"カスタム\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSONファイル\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"すべてのファイル\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"注釈がありません\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"インポートされたファイルには注釈がありません\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"注釈がインポートできません\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"エラーが発生しました\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"この本には注釈がありません\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s”の注釈\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d つの注釈\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"閉じる\"\n\n# Notes:\n# Add Note\n#\n# Paths:\n# src/app.js:112\n# src/library.js:50\n# src/ui/export-dialog.ui:11\n# src/ui/import-dialog.ui:15\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"キャンセル\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"電子書籍ファイル\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"電子書籍をスタイリッシュに読む\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"kurome\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"ソースコード\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"出版社\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"出版日\"\n\n# Notes:\n# Add Note\n#\n# Extracted comments:\n# Translators: this is the heading for the modified date\n#\n#\n# Paths:\n# src/book-info.js:137\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"更新日\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"言語\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"翻訳\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"編集\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"ナレーション\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"イラスト\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"プロデューサー\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"絵\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"カラリスト\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"寄稿者\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"識別子\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"この本について\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"位置 %s / %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"ページ %s / %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"ページ %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"脚注\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"脚注へ\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"エンドノート\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"エンドノートへ\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"ノート\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"ノートへ\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"定義\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"定義へ\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"参考文献\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"参考文献へ\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"ブックマークを削除\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"ブックマークを追加\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"ファイルが見つかりません\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"サポートされていないファイル形式です\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"注釈は削除されました\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—%s『%s』 p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—『%s』 p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"「%s」 (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—%s『%s』\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—『%s』\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"「%s」\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"『%s』からの画像\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"画像\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"/ %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"読み込み中\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"読み込みに失敗しました\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"再読み込み\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"すべて見る\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"検索\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"フィルター\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"ダウンロード\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"購入\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"プレビュー\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"サンプル\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"借りる\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"購買する\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"無料\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"最初\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"前\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"次\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"最後\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"検索する語\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"タイトル\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"著者\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"寄稿者\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"本を削除しますか？\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"読書の進捗状況、注釈、ブックマークは永久に失われます\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_キャンセル\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_削除\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"開けませんでした\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"選択したアプリケーションでファイルを開けませんでした\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"ダウンロードに失敗しました\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"名前を変更\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"削除\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"名前の変更\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"名前\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"すべての本\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"カタログを追加する\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"ライブラリ\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"カタログ\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"カタログは削除されました\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"カタログを追加\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"追加\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"OPDSカタログから書籍を閲覧およびダウンロードできます。<a href=\\\"https://opds.\"\n\"io\\\">詳細はこちら…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"辞書\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">ウィクショナリー</a> より、<a href=\\\"https://creativecommons.\"\n\"org/licenses/by-sa/4.0/\\\">CC BY-SA ライセンス</a>の下で公開されています。\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"定義が見つかりません\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"ウィクショナリーで検索\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"ウィキペディア\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">ウィキペディア</a>より、<a href=\\\"https://en.wikipedia.org/\"\n\"wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA ライセンス</a>の下で公開され\"\n\"ています。\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"ウィキペディアで検索\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"翻訳\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Google翻訳による翻訳\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"翻訳を取得できません\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"検索\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Default\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gray\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Grass\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cherry\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Sky\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"テキスト読み上げエラー\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Speech Dispatcherがシステムにインストールされ、動作していることを確認してくだ\"\n\"さい\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"クリップボードにコピーされました\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"ハイライトスタイル\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"削除\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"メニュー\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"ノートを追加\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"新しいウィンドウで開く\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"外部アプリで開く\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"注釈をエクスポート\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"新しいウィンドウ\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"コピーを開く\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"注釈をインポート\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliateについて\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"すべてのセクション\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"現在のセクション\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"単語完全一致のみ\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"大文字と小文字を区別する\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"発音区別符号を区別する\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"フォントとレイアウトの設定\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"スクロールモード\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"ダークモードで色を反転する\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"カーソルを自動的に隠す\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"印刷\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"インスペクタ\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"本を開くことができません\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"詳細\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"別のファイルを開く\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"サイドバーをピン留め\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"本のメニュー\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"検索\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"本の中で検索…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"コンテンツ\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"注釈\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"テキストを選択して注釈を追加してください\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"注釈をフィルター\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"ブックマーク\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"ブックマークなし\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"ブックマークを追加するとここに表示されます\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"結果が見つかりませんでした\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"別の検索を試してください\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"サイドバー\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"ビューメニュー\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"ズームアウト\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"ズームをリセット\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"ズームイン\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"システムスタイルに従う\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"ライトスタイル\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"ダークスタイル\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"フルスクリーン\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"注釈をエクスポート\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"エクスポート\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"フォーマット\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"注釈をFoliateにインポートする場合は「JSON」を選択してください\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"コピー\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"名前を付けて保存\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"反時計回りに90°回転\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"時計回りに90°回転\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"注釈をインポート\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"インポート\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"識別子が一致しません。これらの注釈はこの本のものではない可能性があります。\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"インポートする\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"リストビュー\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"グリッドビュー\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"開く\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"メインメニュー\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"開く\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"ライブラリメニュー\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"ライブラリを検索\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"戻る\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"進む\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"まだ本がありません\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"本を開いて読み始めてください\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"位置\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"ナレーション\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"セクションを読み終えるまでの所要時間\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"本を読み終わるまでの所要時間\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"ページ\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"ペーストして移動\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"セクション\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"最初のセクション\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"前のセクション\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"ジャンプする\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"次のセクション\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"最後のセクション\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"ハイライト\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"ここから読み上げ\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"引用付きコピー\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"識別子をコピー\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"セクションを印刷\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"スピード\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"ピッチ\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"再生/一時停止\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"停止\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"フォント\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"フォントサイズ\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"デフォルトのフォントサイズ\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"最小フォントサイズ\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"フォントファミリー\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"デフォルトのフォント\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"セリフ\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"サンセリフ\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"出版社のフォントを上書きする\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"セリフフォント\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"サンセリフフォント\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"等幅フォント\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"レイアウト\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"段落\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"行の高さ\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"行の両端を揃える\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"ハイフネーション\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"余白\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"一画面の最大列数\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"最大インラインサイズ\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"最大列幅（横書きの場合）または最大高さ（縦書きの場合）\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"最大ブロックサイズ\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"最大高さ（横書きの場合）または最大幅（縦書きの場合）\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"カラー\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"動作\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"アニメーションを減らす\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"電子書籍ビューア\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"電子書籍;本;EPUB;ビューア;リーダー;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"GNOME向けにカスタマイズされた最新の電子書籍リーダー、Foliateで読書の新しい章\"\n\"を発見しましょう。独自の好みに合わせて設計されたカスタマイズ機能を備えた、気\"\n\"が散ることのないインターフェイスで読書に没頭しましょう。\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"機能は次のとおりです:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"EPUB、Mobipocket、Kindle、FB2、CBZ、PDFファイルを開く\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"ページモードとスクロールモード\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"フォントと行間隔をカスタマイズする\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"ライト、セピア、ダーク、反転モード\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"章マーク付きの読書進捗スライダー\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"ブックマークと注釈\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"本の中で検索\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"素早い辞書検索\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"章がページ区切りで始まる場合に章末が切り取られる問題を修正\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"表内のテキストの折り返しが正しく行われなかった問題を修正\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"OPDSカタログのパフォーマンス問題を修正\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"OPDSカタログのサポート追加、OPDS2.0もサポート\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"出版社のフォントを上書きするオプションを追加\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"アニメーションを減らすオプションを追加\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"CBZ に JPEG XL のサポートを追加\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Flatpak の Tracker からファイルを取得する問題を修正\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"年のみではない 1 世紀および紀元前の日付の解析を修正\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliateは、新しい電子書籍レンダリングライブラリと最新のプラットフォームライブ\"\n\"ラリであるGTK4および Libadwaitaを使用してゼロから書き直され、UIが刷新され、パ\"\n\"フォーマンスが向上しました。\"\n"
  },
  {
    "path": "po/ka.po",
    "content": "# Georgian translation for com.github.johnfactotum.Foliate.\n# Copyright (C) 2026 com.github.johnfactotum.Foliate's authors\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Ekaterine Papava <papava.e@gtu.ge>, 2026.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2026-01-20 18:41+0100\\n\"\n\"Last-Translator: Ekaterine Papava <papava.e@gtu.ge>\\n\"\n\"Language-Team: Georgian <(nothing)>\\n\"\n\"Language: ka\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.8\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"სანიშნე წაიშალა\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"გაუქმება\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"ხაზგასმული\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"ტალღებიანი\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"გადახაზული\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"ყვითელი\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"ნარინჯისფერი\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"წითელი\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"ალისფერი\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"წყლის ფერი\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"ლიმნისფერი\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"მორგებული ფერი…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"ხელით\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON ფაილები\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"ყველა ფაილი\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"ანოტაციების გარეშე\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"შემოტანილ ფაილს ანოტაციები არ აქვს\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"ანოტაციების შემოტანა შეუძლებელია\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"აღმოჩენილია შეცდომა\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"ამ წიგნისთვის ანოტაციები არ გაქვთ\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"ანოტაციები “%s”-ისთვის\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d ანოტაცია\"\nmsgstr[1] \"%d ანოტაცია\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"დახურვა\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"გაუქმება\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"ელწიგნის ფაილები\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"წაიკითხეთ ელწიგნები სტილით\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"ეკატერინე პაპავა\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"საწყისი კოდი\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"გამომცემელი\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"გამოქვეყნებულია\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"განახლებულია\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"ენა\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"თარგმნა\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"ჩასწორებულია\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"მოთხრობილია\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"ილუსტრირებულია\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"გამოცემულია\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"დიზაინის ავტორი\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"ფერები არჩეულია\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"მოხალისეები\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"იდენტიფიკატორი\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"ამ წიგნის შესახებ\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"მდებ. %s %s-დან\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"გვერდი %s %s-დან\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"გვერდი: %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"სქოლიო\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"სქოლიოზე გადასვლა\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"ქვედა სქოლიო\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"გადასვლა განმარტებებზე და შენიშვნებზე\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"შენიშვნა\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"შენიშვნაზე გადასვლა\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"აღწერა\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"აღწერაზე გადასვლა\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"ბიბლიოგრაფია\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"ბიბლიოგრაფიაზე გადასვლა\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"სანიშნეს წაშლა\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"სანიშნეს დამატება\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"ფაილი ვერ მოიძებნა\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"ფაილის ტიპი მხარდაჭერილი არაა\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"ანოტაცია წაიშალა\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"გამოსახულება “%s”-დან\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"გამოსახულება\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"%d-დან\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"იტვირთება\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"ჩატვირთვის შეცდომა\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"თავიდან ჩატვირთვა\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"ყველას ნახვა\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"ძებნა\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"ფილტრი\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"გადმოწერა\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"შეძენა\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"მინიატურა\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"სინჯი\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"თხოვება\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"გამოწერა\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"უფასო\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"პირველი\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"წინა\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"შემდეგი\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"ბოლო\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"ძებნის პირობები\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"სათაური\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"ავტორი\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"მოხალისე\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"წავშალო წიგნი?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"კითხვის მიმდინარეობა, ანოტაციები და სანიშნეები სამუდამოდ დაიკარგება\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"გაუ_ქმება\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_წაშლა\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"გახსნის შეცდომა\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"ფაილი არჩეული აპლიკაციით ვერ გაიხსნა\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"გადმოწერის შეცდომა\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"სახელის გადარქმევა…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"წაშლა\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"სახელის გადარქმევა\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"სახელი\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"ყველა წიგნი\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"კატალოგის დამატება…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"ბიბლიოთეკა\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"კატალოგები\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"კატალოგი წაიშალა\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"კატალოგის დამატება\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"დამატება\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://\"\n\"opds.io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"შეგიძლიათ, დაათვალიეროთ და გადმოწეროთ წიგნები OPDS კატალოგებიდან. <a \"\n\"href=\\\"https://opds.io\\\">გაიგეთ მეტი…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"ლექსიკონი\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wiktionary</a>-დან. გამოქვეყნებულია ლიცენზიით <a \"\n\"href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"აღწერები აღმოჩენილი არაა\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"ძებნა Wiktionary-ზე\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wikipedia</a>-დან. გამოქვეყნებულია ლიცენზიით <a \"\n\"href=\\\"https://en.wikipedia.org/wiki/\"\n\"Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"ძებნა Wikipedia-ზე\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"თარგმნა\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"თარგმანი Google Translate-ით\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"თარგმანის მიღება შეუძლებელია\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"ძებნა…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"ნაგულისხმევი\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"ნაცრისფერი\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"სეპია\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"ბალახი\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"ალუბალი\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"ცა\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"სოლარიზება\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"გრუვბოქსი\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"ნორი\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"ტექსტის წარმოთქმის შეცდომა\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"დარწმუნდით, რომ Speech Dispatcher დაყენებული გაქვთ და მუშაა\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"დაკოპირდა გაცვლის ბაფერში\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"გამოკვეთის სტილი\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"წაშლა\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"მენიუ\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"შენიშვნის დამატება…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"ახალ ფანჯარაში გახსნა\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"გარე აპში გახსნა\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"ანოტაციების გატანა…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"ახალი ფანჯარა\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"ასლის გახსნა\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"ანოტაციების შემოტანა…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliate-ის შესახებ\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"ყველა სექცია\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"მიმდინარე სექცია\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"მხოლოდ მთელი სიტყვების დამთხვევა\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"რეგისტრის დამთხვევა\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"დიაკრიტიკების დამთხვევა\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"ფონტისა და განლაგების მორგება\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"გადახვევის რეჟიმი\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"ფერების ინვერსია მუქ რეჟიმში\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"კურსორის ავტოდამალვა\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"ბეჭდვა…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"ინსპექტორი\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"წიგნის გახსნა შეუძლებელია\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"დეტალები\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"სხვა ფაილის გახსნა…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"გვერდითი პანელის მიმაგრება\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"წიგნის მენიუ\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"ძებნა\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"წიგნში ძებნა…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"შემცველობა\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"ანოტაციები\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"ანოტაციების დასამატებლად მონიშნეთ ტექსტი\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"ანოტაციების გაფილტვრა…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"სანიშნეები\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"სანიშნეების გარეშე\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"დაამატეთ სანიშნეები და მათ აქ დაინახავთ\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"შედეგების გარეშე\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"სცადეთ სხვა ძებნა\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"გვერდითი პანელი\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"ხედის მენიუ\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"დაპატარავება\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"გადიდების ჩამოყრა\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"გადიდება\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"სისტემის სტილის მიყოლა\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"ღია სტილი\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"მუქი სტილი\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"სრულ ეკრანზე\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"ანოტაციების გატანა\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"გატანა\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"ფორმატი\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"აირჩიეთ \\\"JSON\\\", თუ აპირებთ, ანოტაციები ისევ შემოიტანოთ Foliate-ში\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"კოპირება\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"შენახვა, როგორც…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"90°-ით ისრის საწ. მიმართულებით შებრუნება\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"90°-ით საათის მიმართულებით შებრუნება\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"ანოტაციების შემოტანა\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"შემოტანა\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"იდენტიფიკატორი არ ემთხვევა. შეიძლება, ეს ანოტაციები ამ წიგნისთვის არაა.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"მაინც შემოტანა\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"სიის ხედი\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"ბადის ხედი\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"გახსნა…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"მთავარი მენიუ\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"გახსნა\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"ბიბლიოთეკის მენიუ\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"ბიბლიოთეკაში ძებნა…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"უკან\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"წინ\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"ჯერ წიგნები არაა\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"გახსენით წიგნი კითხვის დასაწყებად\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"მდებარეობა\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"თხრობა\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"სექციაში დარჩენილი დრო\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"წიგნში დარჩენილი დრო\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"გვერდი\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"ჩასმა და გადასვლა\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"განყოფილება\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"პირველი სექცია\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"წინა სექცია\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"გადასვლა სად…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"შემდეგი სექცია\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"ბოლო სექცია\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"გამოკვეთა\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"წარმოთქმა აქედან\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"კოპირება ციტირებით\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"იდენტიფიკატორის კოპირება\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"მონიშნულის დაბეჭდვა…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"სიჩქარე\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"ხმის სიმაღლე\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"დაკვრა/პაუზა\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"გაჩერება\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"ფონტი\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"ფონტის ზომა\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"ნაგულისხმევი ფონტის ზომა\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"ფონტის მინიმალური ზომა\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"ფონტების ოჯახი\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"ნაგულისხმევი ფონტი\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"გამომცემლის შრიფტის გადაფარვა\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serif ფონტი\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"ფონტი Sans-Serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"ერთსიგანიან ფონტი\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"განლაგება\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"პარაგრაფი\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"ხაზის სიმაღლე\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"სრული დასაბუთება\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"გადატანა\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"გვერდის ველები\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"სვეტების მაქსიმალური რაოდენობა\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"მაქსიმალური შიდა ზომა\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"მაქსიმალური სვეტის სიგანე (ჰორიზონტალური დამწერლობისთვის) ან სიმაღლე \"\n\"(ვერტიკალური დამწერლობისთვის)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"ბლოკის მაქსიმალური ზომა\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"მაქსიმალური სიმაღლე (ჰორიზონტალური დამწერლობისთვის) ან სიგანე (ვერტიკალური \"\n\"დამწერლობისთვის)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"ფერი\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"ქცევა\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"ანიმაციის შემცირება\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"ელწიგნის დამთვალიერებელი\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;ელწიგნი;წიგნი;წამკითხველი;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"აღმოაჩინეთ ახალი თავი წიგნების კითხვაში Foliate-ისთან, თანამედროვე \"\n\"ელწიგნების მკითხველთან ერთად, რომელიც GNOME-ის პაკეტში შედის. ჩაეფალით \"\n\"წიგნის კითხვაში ყველაფრის, რაც ყურადღებას გიფანტავთ, გარეშე, ფუნქციებით, \"\n\"რომლებსაც ინტერფეისის თქვენ უნიკალურ მოთხოვნებზე მორგება შეუძლიათ.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"ფუნქციები შეიცავს:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"გახსენით EPUB, Mobipocket, Kindle, FB2, CBZ და PDF ფაილები\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"გვერდებად წარმოდგენის რეჟიმი და გადახვევადი რეჟიმი\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"მოირგეთ ფონტი და ხაზებს შორის დაშორება\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"ღია, სეპია, მუქი და ინვერსიული რეჟიმები\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"კითხვის მიმდინარეობის ჩოჩია თავის ნიშნებით\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"სანიშნეები და ანოტაციები\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"წიგნში ძებნა\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"სწრაფი ძებნა ლექსიკონში\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"გასწორდა თავის ბოლოს წაკვეთა, როცა თავი გვერდის გადატანით იწყება\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"გასწორდა არასწორი ტექსტის გადატანა ცხრილებში\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"გასწორდა წარმადობის პრობლემა OPDS კატალოგებთან\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"დაემატა OPDS კატალოგების მხარდაჭერა. ახლა OPDS 2.0-ის მხარდაჭერით\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"დაემატა გამომცემლის ფონტის გადაფარვა\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"დაემატა პარამეტრი ანიმაციების შესამცირებლად\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"დაემატა JPEG XL ფორმატის მხარდაჭერა CBZ-ში\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"გასწორდა ფაილის Tracker-ით მიღება Flatpak-ში\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"გასწორდა არაა-წელი-არამედ-ჯერ-საუკუნე და ქრისტეშობამდე თარიღები\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate თავიდან დაიწერა ახალი ელწიგნის რენდერის ბიბლიოთეკით და გადაიწერა GTK \"\n\"4-ზე და Libadwaita-ზე, რომლებიც პლატფორმის უახლეს ბიბლიოთეკებს წარმოადგენენ, \"\n\"განახლებული ინტერფეისით და გაუმჯობესებული წარმადობით.\"\n"
  },
  {
    "path": "po/ko.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# JungHee Lee <daemul72@gmail.com>, 2020, 2021, 2025\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-03-03 13:04+0900\\n\"\n\"Last-Translator: Junghee Lee <daemul72@gmail.com>\\n\"\n\"Language-Team: 이정희 <daemul72@gmail.com>\\n\"\n\"Language: ko\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=n != 1;\\n\"\n\"X-Generator: Poedit 3.5\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"책갈피가 삭제되었습니다\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"실행 취소\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"밑줄\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"파선\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"취소선\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"노란색\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"주황색\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"빨간색\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"주홍색\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"청록색\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"라임색\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"사용자지정 색상…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"사용자지정\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON 파일\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"모든 파일\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"주석 없음\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"가져온 파일에 주석이 없습니다\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"주석을 가져올 수 없습니다\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"오류가 발생했습니다\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"이 책에 대한 주석이 없습니다\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s”에 대한 주석\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d개 주석\"\nmsgstr[1] \"%d개 주석\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"닫기\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"취소\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"전자책 파일\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"나만의 스타일로 전자책 읽기\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"이정희 <daemul72@gmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"소스 코드\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"출판사\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"출판일자\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"개정일자\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"언어\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"번역자 -\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"편집자 -\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"내레이션 -\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"일러스트 -\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"제작 책임자 -\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"아트워크 -\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"채색자 -\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"기여자\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"식별자\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"이 책에 대하여\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"%s/%s 위치\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"%s/%s 페이지\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"%s 페이지\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"각주\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"각주로 가기\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"미주\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"미주로 가기\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"메모\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"메모로 가기\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"규정\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"규정으로 가기\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"참고문헌\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"참고문헌으로 가기\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"책갈피 제거하기\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"책갈피 추가하기\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"파일을 찾을 수 없습니다\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"지원되지 않는 파일 형식입니다\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"주석이 삭제되었습니다\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"\\\"%s\\\"에서 가져온 이미지\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"이미지\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"/ %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"불러오는 중\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"불러올 수 없습니다\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"다시 불러오기\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"모두 보기\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"검색\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"필터\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"다운로드\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"구매\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"미리보기\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"견본\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"대여하기\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"구독하기\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"무료\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"처음\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"이전\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"다음\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"마지막\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"검색어\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"제목\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"저자\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"기고자\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"책을 제거하시겠습니까?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"읽기 진행 상황, 주석 및 북마크가 영구적으로 손실됩니다\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"취소(_C)\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"제거(_R)\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"열지 못했습니다\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"선택한 응용 프로그램으로 파일을 열 수 없습니다\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"다운로드하지 못했습니다\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"이름 바꾸기…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"제거하기\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"이름 바꾸기\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"이름\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"모든 책\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"카탈로그 추가하기…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"라이브러리\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"카탈로그\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"카탈로그가 제거되었습니다\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"카탈로그 추가하기\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"추가하기\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://\"\n\"opds.io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"OPDS 카탈로그에서 책을 찾아보고 다운로드할 수 있습니다. <a href=\\\"https://\"\n\"opds.io\\\">자세한 내용 보기…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"사전\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">위키낱말사전(Wiktionary)</a>에서 발췌하였으며, <a \"\n\"href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA 라이선스</\"\n\"a>에 따라 공개되었습니다.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"규정을 찾을 수 없습니다\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"위키백과에서 검색하기\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"위키백과(Wikipedia)\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">위키백과(Wikipedia)</a>에서 발췌하였으며, CC BY-SA 라이선스</\"\n\"a>에 따라 공개되었습니다.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"위키백과(Wikipedia)에서 검색하기\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"번역하기\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"구글 번역으로 번역하기\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"번역을 가져올 수 없습니다\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"검색하기…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"기본값\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"회색\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"적갈색\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"잔디색\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"버찌색\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"하늘색\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"텍스트 음성 변환 오류\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Speech Dispatcher가 시스템에 설치되어 작동 중인지 확인하세요\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"클립보드에 복사되었습니\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"강조 표시 스타일\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"삭제하기\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"메뉴\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"메모 추가하기…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"새 창에서 열기\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"외부 앱으로 열기\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"주석 내보내기…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"새 창\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"사본 열기\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"주석 가져오기…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliate 소개\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"모든 섹션\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"현재 섹션\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"전체 단어만 일치\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"대/소문자 구분\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"발음 구별 기호 구분\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"글꼴 및 레이아웃 설정\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"스크롤 보기 모드\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"다크 모드에서 색상 반전\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"커서 자동 숨김\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"인쇄하기…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"검사기\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"책을 열 수 없습니다\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"상세정보\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"파일 열기다른 파일 열기…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"사이드바 고정\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"책 메뉴\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"찾기\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"책에서 찾기…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"콘텐츠\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"주석\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"주석을 추가하려면 일부 텍스트를 선택하세요\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"주석 필터링…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"책갈피\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"책갈피 없음\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"여기에 표시하려면 몇 개의 북마크를 추가하세요\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"검색 결과가 없습니다\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"다른 검색을 시도하세요\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"사이드바\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"보기 메뉴\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"축소\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"확대/축소 재설정\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"확대\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"시스템 스타일 따르기\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"밝은 스타일\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"어두운 스타일\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"전체화면\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"주석 내보내기\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"내보내기\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"형식\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Foliate로 주석을 다시 가져오려면 \\\"JSON\\\"을 선택하세요\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"마크다운\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org 모드\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"복사하기\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"다른 이름으로 저장…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"시계 반대 방향으로 90° 회전하기\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"시계 방향으로 90° 회전하기\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"주석 가져오기\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"가져오기\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"식별자가 일치하지 않습니다. 이 주석은 이 책에 대한 것이 아닐 수 있습니다.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"무시하고 가져오기\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"목록 보기\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"격자 보기\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"열기…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"기본 메뉴\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"열기\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"라이브러리 메뉴\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"라이브러리 검색하기…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"뒤로\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"앞으로\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"아직 책이 없습니다\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"책을 열어 읽기를 시작합니다\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"위치\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"내레이션\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"섹션에 남은 시간\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"책에 남은 시간\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"페이지\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"붙여넣고 가기\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"섹션\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"첫 번째 섹션\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"이전 섹션\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"건너뛰기…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"다음 섹션\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"마지막 섹션\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"강조표시\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"여기에서 음성듣기\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"인용으로 복사하기\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"식별자 복사하기\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"선택항목 인쇄하기…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"속도\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"소리의 높낮이\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"재생/일시정지\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"중지하기\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"글꼴\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"글꼴 크기\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"기본 글꼴 크기\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"최소 글꼴 크기\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"글꼴 집합\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"기본 글꼴\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"세리프 서체\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"산세리프 서체\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"출판사 글꼴 재정의\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"세리프 글꼴\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"산세리프 글꼴\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"모노스페이스 글꼴\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"레이아웃\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"문단\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"줄 높이\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"전체 폭 맞춤\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"자동 줄 바꿈\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"여백\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"최대 열 수\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"최대 가로 크기\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"최대 열 너비(가로쓰기) 또는 높이(세로쓰기)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"최대 블록 크기\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"최대 높이(가로쓰기) 또는 최대 너비(세로쓰기)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"색상\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"동작\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"애니메이션 축소하기\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"전자책 뷰어\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;이북;도서;뷰어;리더;책;전자책;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Foliate로 독서의 새로운 장을 열어보세요. GNOME 환경에 맞춰 제작된 현대적인 전\"\n\"자책 리더기입니다. 방해 요소 없는 인터페이스에 몰입하고, 당신의 개성에 맞춘 \"\n\"사용자 정의 기능들을 경험해 보세요.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"다음과 같은 기능이 있습니다:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"EPUB, Mobipocket, Kindle, FB2, CBZ, PDF 파일 열기\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"페이지 보기 모드와 스크롤 보기 모드\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"글꼴 및 줄 간격 사용자 정의\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"밝은 모드, 적갈색 모드, 어두운 모드, 색상 반전 모드\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"챕터 표시가 있는 읽기 진행률 슬라이더\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"책갈피 및 주석\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"책에서 찾기\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"빠른 사전 검색\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"페이지 나누기로 챕터가 시작될 때 챕터 끝이 잘리는 문제 수정됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"테이블에서 잘못된 텍스트 줄 바꿈 수정됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"OPDS 카탈로그의 성능 문제 수정됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"OPDS 카탈로그에 대한 지원이 추가되었으며 이제 OPDS 2.0도 지원합니다\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"출판사 글꼴을 재정의하는 옵션 추가됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"애니메이션을 줄이는 옵션 추가됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"CBZ에서 JPEG XL에 대한 지원 추가됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Flatpak의 Tracker에서 파일을 가져오는 기능 수정됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"1세기 및 기원전 날짜 중 연도만 포함하지 않는 날짜의 구문 분석 오류 수정됨\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate는 새로운 전자책 렌더링 라이브러리와 최신 플랫폼 라이브러리인 GTK 4 \"\n\"및 Libadwaita를 사용하여 처음부터 다시 작성되었고, UI가 새로워지고 성능이 개\"\n\"선되었습니다.\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"메뉴\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"메뉴\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"환경설정\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"환경설정\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"키보드 단축키\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"환경설정\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"음성듣기\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"사이드바 표시\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"성우\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"파일 저장\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"강조표시 색상 변경\"\n\n#~ msgid \"More\"\n#~ msgstr \"자세히\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"이 책 소개\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"사이드바 사용\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"확대/축소 복원\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"이전 페이지로 가기\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"이전 위치로 돌아가기\"\n"
  },
  {
    "path": "po/meson.build",
    "content": "i18n.gettext(meson.project_name(), preset: 'glib')\n"
  },
  {
    "path": "po/nb.po",
    "content": "# Norwegian (Bokmål) translations for Foliate \n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Kay Siver Bø <63042612+tupubozu@users.noreply.github.com>, 2020.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2020-08-29 19:59+0200\\n\"\n\"Last-Translator: Kay Siver Bø <63042612+tupubozu@users.noreply.github.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: nb\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 2.4.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Bokmerker\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Andre endringer:\"\n\n#: src/annotations.js:442\n#, fuzzy\nmsgid \"Red\"\nmsgstr \"Last opp på nytt\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Velg egendefinert farge\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Egendefinert tema\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"Alle filer\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Alle filer\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Kommentarer\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Importer kommentarer…\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Et problem oppstod.\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Kommentarer\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Kommentarer\"\nmsgstr[1] \"Kommentarer\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"E-bok filer\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Kay Siver Bø\"\n\n#: src/app.js:414\n#, fuzzy\nmsgid \"Source Code\"\nmsgstr \"Kilde: \"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Utgiver\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Utgiver\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\n#, fuzzy\nmsgid \"Updated\"\nmsgstr \"Oppdater\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Språk\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Oversett\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Innhold\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifikator\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Om denne boka\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Neste side\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Gå til plassering\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Fjern bok\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Legg til bøker\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"Fil ikke funnet.\"\n\n#: src/book-viewer.js:715\n#, fuzzy\nmsgid \"File type not supported\"\nmsgstr \"Filtype ikke støttet.\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Kommentar\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Bilde fra “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Bilde\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"av %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Last opp på nytt\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Søk\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Søk\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Innhold\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Fjern bok\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Meny\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Legg til bøker…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliotek\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Oversett\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Søk\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Tekst-til-Tale\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Høydepunkt\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Slett\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Legg til bøker…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Eksporter kommentarer…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Åpne kopi\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importer kommentarer…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Om Foliate\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Samlinger\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Nåværende kapittel\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Rullet\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detaljer\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Åpne fil\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Vis sidemeny\"\n\n#: src/ui/book-viewer.ui:253\n#, fuzzy\nmsgid \"Book Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Søk\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Finn i bok\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Innhold\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Kommentarer\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Ingen kommentarer\"\n\n#: src/ui/book-viewer.ui:433\n#, fuzzy\nmsgid \"Filter annotations…\"\nmsgstr \"Søk i kommentarer\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Bokmerker\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Bokmerker\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\n#, fuzzy\nmsgid \"Try a different search\"\nmsgstr \"Prøv et annet søk.\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Vis sidemeny\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Zoom ut\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Zoom inn\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Lys\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Mørk-modus\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Fullskjerm\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Eksporter kommentarer…\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopier\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Lagre som\"\n\n#: src/ui/image-viewer.ui:25\n#, fuzzy\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Roter 90° mot klokka\"\n\n#: src/ui/image-viewer.ui:32\n#, fuzzy\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Roter 90° med klokka\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Importer kommentarer…\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Vis\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Vis\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Åpne…\"\n\n#: src/ui/library.ui:67\n#, fuzzy\nmsgid \"Main Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Åpne…\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Bibliotek\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Søker…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Ingen bøker enda\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Åpne ei bok for å starte lesingen.\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Plassering\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"Gjenstående tid i bok\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"Gjenstående tid i bok\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Neste side\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Seksjon\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Nåværende kapittel\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Gå tilbake til forrige plassering\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Nåværende kapittel\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Seksjon\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Høydepunkt\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Snakk fra her\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Identifikator\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Nåværende kapittel\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:47\n#, fuzzy\nmsgid \"Serif\"\nmsgstr \"Serier\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Lys\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Auto-orddeling\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marger\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Kommentarer\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"E-bok Fremviser\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-bok;Bok;EPUB;Fremviser;Leser;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Kommentarer\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Finn i bok\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Meny\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Meny\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Innstillinger\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Innstillinger\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Tastatursnarveier\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Innstillinger\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Snakk\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Vis sidemeny\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Lagre fil\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Endre fremhevingsfarge\"\n\n#~ msgid \"More\"\n#~ msgstr \"Mer\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Om denne boka\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Bruk sidemeny\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Nullstill zoom\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Gå til forrige side\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Gå tilbake til forrige plassering\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Gå til neste side\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Gå til plassering\"\n"
  },
  {
    "path": "po/nl.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2024-11-30 14:02+0100\\n\"\n\"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\\n\"\n\"Language-Team: Dutch <vistausss@outlook.com>\\n\"\n\"Language: nl_NL\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.4.2\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Bladwijzers\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Geel\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Oranje\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Rood\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Limoen\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Eigen kleur kiezen\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Eigen thema\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"Alle bestanden\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Alle bestanden\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Aantekeningen\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Aantekeningen importeren…\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Er is een fout opgetreden.\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Aantekeningen\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Aantekeningen\"\nmsgstr[1] \"Aantekeningen\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"E-boekbestanden\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Heimen Stoffels <vistausss@fastmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Broncode\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Uitgever\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Gepubliceerd op\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Bijgewerkt op\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Taal\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Vertaald door\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Bewerkt door\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Ingesproken door\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Geïllustreerd door\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Samengesteld door\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Vormgegeven door\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Ingekleurd door\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Bijdragers\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificatie\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Over dit boek\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Loc. %s van %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Pag. %s van %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Pagina %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Voetnoot\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Ga naar voetnoot\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Eindnoot\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Ga naar eindnoot\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Noot\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Ga naar noot\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definitie\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Ga naar definitie\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografie\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Ga naar bibliografie\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Bladwijzer verwijderen\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Bladwijzer toevoegen\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Bestand niet aangetroffen\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Bestandstype niet ondersteund\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Aantekening verwijderd\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Afbeelding van ‘%s’\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Afbeelding\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"van %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Bezig met laden…\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Het laden is mislukt\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Herladen\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Alles bekijken\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Zoeken\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filteren\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Downloaden\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Kopen\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Voorvertonen\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Inkijkexemplaar\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Lenen\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Abonneren\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratis\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Eerste\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Vorige\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Volgende\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Laatste\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Zoekopdracht\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Titel\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Auteur\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Bijdrager\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Boek verwijderen?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"De leesvoortgang, aantekeningen en bladwijzers worden eveneens verwijderd\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Annuleren\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"Ve_rwijderen\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Het openen is mislukt\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Het bestand kan niet worden geopend met de gekozen toepassing\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Het downloaden is mislukt\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Naam wijzigen…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Verwijderen\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Naam wijzigen\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Naam\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Alle boeken\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Catalogus toevoegen…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliotheek\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catalogi\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"De catalogus is verwijderd\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Catalogus toevoegen\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Toevoegen\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"U kunt boeken inkijken en downloaden uit OPDS-catalogi. <a href=\\\"https://\"\n\"opds.io\\\">Meer informatie…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"Url\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Woordenboek\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Afkomstig van <a id=\\\"link\\\">Wiktionary</a>, uitgebracht onder de <a \"\n\"href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA-licentie</\"\n\"a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Er zijn geen definities\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Opzoeken op Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Afkomstig van <a id=\\\"link\\\">Wikipedia</a>, uitgebracht onder de <a \"\n\"href=\\\"https://en.wikipedia.org/wiki/Wikipedia:\"\n\"Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA-licentie</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Opzoeken op Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Vertalen\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Vertaald door Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"De vertaling kan niet worden opgehaald\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Zoeken…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Standaard\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Grijs\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Grasgroen\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Kersenrood\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Helderblauw\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Gesolariseerd\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Voorleesfout\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Zorg dat Speech Dispatcher geïnstalleerd en ingesteld is\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Gekopieerd naar het klembord\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Markeerstijl\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Verwijderen\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Aantekening maken…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Openen in nieuw venster\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Openen in andere toepassing\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Aantekeningen exporteren…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nieuw venster\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Kopie openen\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Aantekeningen importeren…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Over Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Alle secties\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Huidige sectie\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Alleen gehele woorden\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Hoofdlettergevoelig\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Diakritische tekens\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Lettertype- en indelingsvoorkeuren\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Oneindige modus\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Kleuren in donkere modus omdraaien\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Cursor automatisch verbergen\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Afdrukken…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspectie\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Het boek kan niet worden geopend\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Details\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Ander bestand openen…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Zijbalk vastmaken\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Boekmenu\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Zoeken\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Boek doorzoeken…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Inhoud\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Aantekeningen\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Selecteer tekst om aantekeningen van te maken\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Aantekeningen doorzoeken…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Bladwijzers\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Er zijn geen bladwijzers\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Voeg bladwijzers toe om ze hier te tonen\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Er zĳn geen zoekresultaten\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Probeer een andere zoekopdracht\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Zĳbalk\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Weergavemenu\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Uitzoomen\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Oorspronkelijk zoomniveau\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Inzoomen\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Systeemthema\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Licht thema\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Donker thema\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Schermvullend\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Aantekeningen exporteren\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exporteren\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formaat\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Kies json als u van plan bent om aantekeningen nogmaals met Foliate te \"\n\"importeren\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"Json\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"Html\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org.modus\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopiëren\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Opslaan als…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"90° naar links draaien\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"90° naar rechts draaien\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Aantekeningen importeren\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importeren\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"De identificatie komt niet overeen - mogelijk behoren de aantekeningen bij \"\n\"een ander boek.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Tóch importeren\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Lijstweergave\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Roosterweergave\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Openen…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Hoofdmenu\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Openen\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Bibliotheekmenu\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Bibliotheek doorzoeken…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Terug\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Vooruit\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Er zijn nog geen boeken\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Open een boek en begin met lezen\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Locatie\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Ingesproken door\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Resterende leestijd van sectie\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Resterende leestijd van boek\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Pagina\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Plakken en gaan\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Sectie\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Eerste sectie\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Vorige sectie\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Ga naar…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Volgende sectie\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Laatste sectie\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Markeren\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Vanaf hier voorlezen\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Kopiëren met citaat\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Identificatie kopiëren\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Selectie afdrukken…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Snelheid\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Toonhoogte\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Beluisteren/Pauzeren\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Onderbreken\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Lettertype\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Tekstgrootte\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Standaard tekstgrootte\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Minimale tekstgrootte\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Lettertype\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Standaardlettertype\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Met schreef\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Schreefloos\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Ander lettertype afdwingen\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Lettertype met schreef\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Schreefloos lettertype\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Vastebreedtelettertype\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Indeling\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Alinea\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Regelhoogte\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Volledige breedte\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Woordafbreking\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marges\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Maximaal aantal kolommen\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Maximale inlinegrootte\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Maximale kolombreedte (horizontaal schrift) of -hoogte (verticaal schrift)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Maximale blokgrootte\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Maximale hoogte (horizontaal schrift) of -breedte (verticaal schrift)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Kleur\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Gedrag\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Bewegingen verminderen\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"E-boeklezer\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-boek;Boek;EPUB;Lezer;Bekijken;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Ontdek een nieuwe manier van lezen met Foliate, dé moderne e-boeklezer voor \"\n\"GNOME. Er zijn geen afleidingen, maar wel een hoop instelmogelijkheden. Zo \"\n\"kunt u helemaal opgaan in het verhaal.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Kenmerken:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\"Ondersteuning voor epub-, mobipocket-, Kindle, fb2-, cbz- en pdf-bestanden\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Pagina- en oneindige modi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Zet het lettertype en de regelhoogte naar eigen hand\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Lichte, sepia, donkere en omgekeerdekleurenmodi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Leesvoortgangsbalk met hoofdstukmarkeringen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Bladwijzers en aantekeningen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Doorzoek boeken\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Zoek woorden op in het woordenboek\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Opgelost: einde van hoofdstuk werd afgebroken bij gebruik van pagina-eindes\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Opgelost: onjuiste tekstafbreking in tabellen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Opgelost: prestatieproblemen met OPDS-catalogi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Nieuw: ondersteuning voor OPDS-catalogi vanaf OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Nieuw: optie om een eigen lettertype af te dwingen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Nieuw: optie om bewegingen te verminderen\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Nieuw: ondersteuning voor JPEG XL in CBZ-bestanden\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Opgelost: bestanden uit Flatpak ophalen met behulp van Tracker\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Opgelost: verwerken van diverse datums\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Nieuw: Foliate is volledig opnieuw ontworpen en maakt voortaan gebruik van \"\n\"een nieuwe e-boekbibliotheek, GTK4 en Libadwaita. Ook is de vormgeving \"\n\"opgepoetst en zijn de prestaties verbeterd.\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Menu\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Menu\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Voorkeuren\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Voorkeuren\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Sneltoetsen\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Voorkeuren\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Voorlezen\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Zijbalk tonen\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"Stemacteur\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Bestand opslaan\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Markeerkleur wijzigen\"\n\n#~ msgid \"More\"\n#~ msgstr \"Meer\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Over dit boek\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Zijbalk tonen\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Oorspronkelijk zoomniveau\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Ga naar de vorige pagina\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Ga terug naar de vorige locatie\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Ga naar de volgende pagina\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Ga naar locatie\"\n"
  },
  {
    "path": "po/nn.po",
    "content": "# Norwegian (Nynorsk) translations for Foliate \n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Kay Siver Bø <63042612+tupubozu@users.noreply.github.com>, 2020.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2020-08-29 19:57+0200\\n\"\n\"Last-Translator: Kay Siver Bø <63042612+tupubozu@users.noreply.github.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: nn\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 2.4.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\n#, fuzzy\nmsgid \"Bookmark deleted\"\nmsgstr \"Bokmerkjer\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: src/annotations.js:441\n#, fuzzy\nmsgid \"Orange\"\nmsgstr \"Andre endringar:\"\n\n#: src/annotations.js:442\n#, fuzzy\nmsgid \"Red\"\nmsgstr \"Last opp på nytt\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"\"\n\n#: src/annotations.js:446\n#, fuzzy\nmsgid \"Custom Color…\"\nmsgstr \"Vel eigendefinert farge\"\n\n#: src/annotations.js:498\n#, fuzzy\nmsgid \"Custom\"\nmsgstr \"Egendefinert tema\"\n\n#: src/annotations.js:592\n#, fuzzy\nmsgid \"JSON Files\"\nmsgstr \"Alle filer\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Alle filer\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\n#, fuzzy\nmsgid \"No Annotations\"\nmsgstr \"Kommentarar\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"\"\n\n#: src/annotations.js:625\n#, fuzzy\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Importer kommentarar…\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\n#, fuzzy\nmsgid \"An error occurred\"\nmsgstr \"Eit problem oppstod.\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"\"\n\n#: src/annotations.js:648\n#, fuzzy, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Kommentarar\"\n\n#: src/annotations.js:649\n#, fuzzy, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"Kommentarar\"\nmsgstr[1] \"Kommentarar\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"\"\n\n#: src/app.js:136\n#, fuzzy\nmsgid \"E-Book Files\"\nmsgstr \"E-bok filer\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Kay Siver Bø\"\n\n#: src/app.js:414\n#, fuzzy\nmsgid \"Source Code\"\nmsgstr \"Kjelde: \"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Utgivar\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\n#, fuzzy\nmsgid \"Published\"\nmsgstr \"Utgivar\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\n#, fuzzy\nmsgid \"Updated\"\nmsgstr \"Oppdater\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Språk\"\n\n#: src/book-info.js:139\n#, fuzzy\nmsgid \"Translated by\"\nmsgstr \"Omsett\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"\"\n\n#: src/book-info.js:146\n#, fuzzy\nmsgid \"Contributors\"\nmsgstr \"Innhald\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifikator\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Om denne boka\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:29\n#, fuzzy, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Neste side\"\n\n#: src/book-viewer.js:32\n#, fuzzy\nmsgid \"Footnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:33\n#, fuzzy\nmsgid \"Go to Footnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"\"\n\n#: src/book-viewer.js:35\n#, fuzzy\nmsgid \"Go to Endnote\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"\"\n\n#: src/book-viewer.js:37\n#, fuzzy\nmsgid \"Go to Note\"\nmsgstr \"Gå til neste side\"\n\n#: src/book-viewer.js:38\n#, fuzzy\nmsgid \"Definition\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/book-viewer.js:39\n#, fuzzy\nmsgid \"Go to Definition\"\nmsgstr \"Gå til plassering\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"\"\n\n#: src/book-viewer.js:622\n#, fuzzy\nmsgid \"Remove bookmark\"\nmsgstr \"Fjern bok\"\n\n#: src/book-viewer.js:623\n#, fuzzy\nmsgid \"Add bookmark\"\nmsgstr \"Legg til bøker\"\n\n#: src/book-viewer.js:714\n#, fuzzy\nmsgid \"File not found\"\nmsgstr \"Fant ikkje fil.\"\n\n#: src/book-viewer.js:715\n#, fuzzy\nmsgid \"File type not supported\"\nmsgstr \"Filtype ikkje støtta.\"\n\n#: src/book-viewer.js:804\n#, fuzzy\nmsgid \"Annotation deleted\"\nmsgstr \"Kommentar\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Bilete frå “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Bilete\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"av %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Last opp på nytt\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Søk\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Søk\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Innhald\"\n\n#: src/library.js:438\n#, fuzzy\nmsgid \"Remove Book?\"\nmsgstr \"Fjern bok\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"\"\n\n#: src/library.js:740\n#, fuzzy\nmsgid \"All Books\"\nmsgstr \"Meny\"\n\n#: src/library.js:746\n#, fuzzy\nmsgid \"Add Catalog…\"\nmsgstr \"Legg til bøker…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliotek\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\n#, fuzzy\nmsgid \"No Definitions Found\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\n#: src/selection-tools.js:52\n#, fuzzy\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Omsett\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Søk\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"\"\n\n#: src/tts.js:117\n#, fuzzy\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Tekst-til-Tale\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"\"\n\n#: src/ui/annotation-popover.ui:13\n#, fuzzy\nmsgid \"Highlight Style\"\nmsgstr \"Høydepunkt\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Slett\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/annotation-popover.ui:47\n#, fuzzy\nmsgid \"Add Note…\"\nmsgstr \"Legg til bøker…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Eksporter kommentarar…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Opne kopi\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importer kommentarar…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Om Foliate\"\n\n#: src/ui/book-viewer.ui:45\n#, fuzzy\nmsgid \"All Sections\"\nmsgstr \"Samlingar\"\n\n#: src/ui/book-viewer.ui:50\n#, fuzzy\nmsgid \"Current Section\"\nmsgstr \"Noverande kapittel\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:89\n#, fuzzy\nmsgid \"Scrolled Mode\"\nmsgstr \"Rulla\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detaljer\"\n\n#: src/ui/book-viewer.ui:193\n#, fuzzy\nmsgid \"Open Another File…\"\nmsgstr \"Opne fil\"\n\n#: src/ui/book-viewer.ui:245\n#, fuzzy\nmsgid \"Pin Sidebar\"\nmsgstr \"Vis sidemeny\"\n\n#: src/ui/book-viewer.ui:253\n#, fuzzy\nmsgid \"Book Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Søk\"\n\n#: src/ui/book-viewer.ui:276\n#, fuzzy\nmsgid \"Find in book…\"\nmsgstr \"Finn i bok\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Innhald\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Kommentarar\"\n\n#: src/ui/book-viewer.ui:403\n#, fuzzy\nmsgid \"Select some text to add annotations\"\nmsgstr \"Ingen kommentarar\"\n\n#: src/ui/book-viewer.ui:433\n#, fuzzy\nmsgid \"Filter annotations…\"\nmsgstr \"Søk i kommentarar\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Bokmerkjer\"\n\n#: src/ui/book-viewer.ui:458\n#, fuzzy\nmsgid \"No Bookmarks\"\nmsgstr \"Bokmerkjer\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\n#, fuzzy\nmsgid \"No Results Found\"\nmsgstr \"Ingen resultat funnet\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\n#, fuzzy\nmsgid \"Try a different search\"\nmsgstr \"Prøv eit anna søk.\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\n#, fuzzy\nmsgid \"Sidebar\"\nmsgstr \"Vis sidemeny\"\n\n#: src/ui/book-viewer.ui:556\n#, fuzzy\nmsgid \"View Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\n#, fuzzy\nmsgid \"Zoom Out\"\nmsgstr \"Zoom ut\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\n#, fuzzy\nmsgid \"Zoom In\"\nmsgstr \"Zoom inn\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"\"\n\n#: src/ui/book-viewer.ui:611\n#, fuzzy\nmsgid \"Light Style\"\nmsgstr \"Lys\"\n\n#: src/ui/book-viewer.ui:621\n#, fuzzy\nmsgid \"Dark Style\"\nmsgstr \"Mørk-modus\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Fullskjerm\"\n\n#: src/ui/export-dialog.ui:5\n#, fuzzy\nmsgid \"Export Annotations\"\nmsgstr \"Eksporter kommentarar…\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopier\"\n\n#: src/ui/image-viewer.ui:10\n#, fuzzy\nmsgid \"Save As…\"\nmsgstr \"Lagra som\"\n\n#: src/ui/image-viewer.ui:25\n#, fuzzy\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Roter 90° mot klokka\"\n\n#: src/ui/image-viewer.ui:32\n#, fuzzy\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Roter 90° med klokka\"\n\n#: src/ui/import-dialog.ui:7\n#, fuzzy\nmsgid \"Import Annotations\"\nmsgstr \"Importer kommentarar…\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"\"\n\n#: src/ui/library.ui:6\n#, fuzzy\nmsgid \"List View\"\nmsgstr \"Vis\"\n\n#: src/ui/library.ui:11\n#, fuzzy\nmsgid \"Grid View\"\nmsgstr \"Vis\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Opne…\"\n\n#: src/ui/library.ui:67\n#, fuzzy\nmsgid \"Main Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Opne…\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Bibliotek\"\n\n#: src/ui/library.ui:134\n#, fuzzy\nmsgid \"Search library…\"\nmsgstr \"Søkjer…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"\"\n\n#: src/ui/library-view.ui:21\n#, fuzzy\nmsgid \"No Books Yet\"\nmsgstr \"Ingen bøker endå\"\n\n#: src/ui/library-view.ui:22\n#, fuzzy\nmsgid \"Open a book to start reading\"\nmsgstr \"Opne ei bok for å starte lesinga.\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Plassering\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:162\n#, fuzzy\nmsgid \"Time Left in Section\"\nmsgstr \"Gjenståande tid i bok\"\n\n#: src/ui/navbar.ui:192\n#, fuzzy\nmsgid \"Time Left in Book\"\nmsgstr \"Gjenståande tid i bok\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\n#, fuzzy\nmsgid \"Page\"\nmsgstr \"Neste side\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Seksjon\"\n\n#: src/ui/navbar.ui:388\n#, fuzzy\nmsgid \"First Section\"\nmsgstr \"Noverande kapittel\"\n\n#: src/ui/navbar.ui:397\n#, fuzzy\nmsgid \"Previous Section\"\nmsgstr \"Gå tilbake til forrige plassering\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"\"\n\n#: src/ui/navbar.ui:414\n#, fuzzy\nmsgid \"Next Section\"\nmsgstr \"Noverande kapittel\"\n\n#: src/ui/navbar.ui:423\n#, fuzzy\nmsgid \"Last Section\"\nmsgstr \"Seksjon\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Høydepunkt\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Snakk frå her\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"\"\n\n#: src/ui/selection-popover.ui:40\n#, fuzzy\nmsgid \"Copy Identifier\"\nmsgstr \"Identifikator\"\n\n#: src/ui/selection-popover.ui:44\n#, fuzzy\nmsgid \"Print Selection…\"\nmsgstr \"Noverande kapittel\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:47\n#, fuzzy\nmsgid \"Serif\"\nmsgstr \"Serier\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:121\n#, fuzzy\nmsgid \"Line Height\"\nmsgstr \"Lys\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Blokkjustert\"\n\n#: src/ui/view-preferences-window.ui:146\n#, fuzzy\nmsgid \"Hyphenation\"\nmsgstr \"Auto-orddeling\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margar\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"\"\n\n#: src/ui/view-preferences-window.ui:246\n#, fuzzy\nmsgid \"Reduce Animation\"\nmsgstr \"Kommentarar\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\n#, fuzzy\nmsgid \"E-Book Viewer\"\nmsgstr \"E-bok Framsynar\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-bok;Bok;EPUB;Framsynar;Lesar;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\n#, fuzzy\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Kommentarar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\n#, fuzzy\nmsgid \"Find in book\"\nmsgstr \"Finn i bok\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"Meny\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"Meny\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Innstillingar\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Innstillingar\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Tastatursnarvegar\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Innstillingar\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Snakk\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Vis sidemeny\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Lagra fil\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Endre framhevingsfarge\"\n\n#~ msgid \"More\"\n#~ msgstr \"Mer\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Om denne boka\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Bruk sidemeny\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Nullstill zoom\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Gå til forrige side\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Gå tilbake til forrige plassering\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Gå til neste side\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Gå til plassering\"\n"
  },
  {
    "path": "po/oc.po",
    "content": "# Occitan translation file.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Quentin PAGÈS, 2024.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-07-13 17:15+0200\\n\"\n\"Last-Translator: Quentin PAGÈS\\n\"\n\"Language-Team: \\n\"\n\"Language: oc\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.6\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Marcapagina suprimit\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Desfar\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Soslinhar\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Desformat\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Raiat\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Jaune\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Irange\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Roge\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aiga\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Verd citron\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Colors personalizadas…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personalizar\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Fichièrs JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Totes los fichièrs\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Cap d’anotacion\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Lo fichièr importat a pas cap d’anotacion\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Importacion de las anotacions impossibla\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Una error s'es producha\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Avètz pas cap d’anotacion per aqueste libre\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anotacions per « %s »\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d anotacion\"\nmsgstr[1] \"%d anotacions\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Tampar\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Anullar\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Fichièrs E-Book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Legir d’e-books amb estil\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Quentin PAGÈS\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Còdi font\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Editor\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publicat\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Mes a jorn\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Lenga\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Traduch per\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Editat per\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrat per\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illustrat per\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Produch per\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Grafisme per\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Color per\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Contributors\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificator\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"A prepaus d’aqueste libre\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Emp. %s de %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Pagina %s de %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Pagina %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Nòta de pè de pagina\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Anar a la nòta de pè de pagina\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Nòta de fin\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Anar a la nòta de fin\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nòta\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Anar a la nòta\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definicion\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Anar a la definicion\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografia\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Anar a la biografia\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Suprimir lo marcapagina\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Apondre un marcapagina\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Impossible de trobar lo fichièr\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Tipe Mime pas pres en carga\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Anotacion suprimida\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"« %s »\\n\"\n\"—%s, « %s », p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"« %s »\\n\"\n\"— « %s », p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"« %s » (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"« %s »\\n\"\n\"—%s, « %s »\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"« %s »\\n\"\n\"— « %s »\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"« %s »\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Imatge de « %s »\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Imatge\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"de %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Cargament\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Fracàs de cargament\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recargar\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Tot veire\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Recercar\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtre\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Telecargar\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Crompar\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Apercebut\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Exemple\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Manlevar\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"S'abonar\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratuit\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Primièr\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Precedent\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Seguent\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Darrièr\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Tèrmes de recercar\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Títol\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autor\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Contributor\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Suprimir lo libre ?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"La progression de la lectura, las anotacion e marcapaginas seràn perduts per \"\n\"totjorn\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Anullar\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Suprimir\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Impossible de dobrir\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Impossible de dobrir lo fichièr amb l’aplicacion seleccionada\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Fracàs del telecargament\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Renomenar…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Suprimir\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Renomenar\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Totes los libres\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Apondre catalòg…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliotèca\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catalògues\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Catalòg suprimit\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Apondre catalòg\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Apondre\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Podètz percórrer e telecargar de libres a partir del catalòg OPDS. <a \"\n\"href=\\\"https://opds.io\\\">Ne saber mai…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Diccionari\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wikiccionari</a>, publicat sota la licéncia <a \"\n\"href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Cap de definicion pas trobada\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Cercar sul Wikiccionari\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipèdia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"De <a id=\\\"link\\\">Wikipèdia</a>, publicat sota la licéncia <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Cercar sus Wikipèdia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traduire\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Traduccion de Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Recuperacion impossibla de la traduccion\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Recercar…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Per defaut\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gris\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sèpia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Èrba\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cerièra\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Cèl\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizat\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Aisinas\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nòrd\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Error de sintèsi vocala\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Asseguratz-vos que Speech Dispatcher es installat e fonciona sul sistèma\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copiat al quichapapièrs\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Estil de mesa en evidéncia\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Suprimir\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menú\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Apondre una nòta…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Dobrir dins una fenèstra novèla\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Dobrir amb una aplicacion extèrna\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportar las anotacions…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Fenèstra novèla\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Dobrir una còpia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importar las anotacions…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"A prepaus de Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Totas las seccions\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Seccion actuala\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Trapar los mots entièrs solament\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Respectar la cassa\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Correspondéncia d’accents grafics\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Polissa e paramètres d’agençament\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Mòde defilament\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Intervertir las colors en mòde escur\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Rescondre auto lo cursor\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Imprimir…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspector\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Se pòt pas dobrir lo libre\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detalhs\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Dobrir un autre fichièr…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Penjar lo panèl lateral\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menú libre\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Cercar\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Cercar dins lo libre…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Contengut\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anotacions\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Seleccionar de tèxte per ajustar d’anotacions\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrar las anotacions…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marcapaginas\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Cap de marcapagina\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Ajustatz-ne per los veire aicí\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Cap de resultat pas trobat\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Ensajatz una autra recèrca\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Panèl lateral\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Afichar lo menú\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Zoom avant\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Reïnicializar lo zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Zoom arrièr\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Seguir lo tèma del sistèma\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Estil clar\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Estil escur\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Ecran complèt\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exportar las anotacions\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportar\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Format\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Causissètz « JSON » s’avètz previst d’importar d’anotacion dins Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Enregistrar jos…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotacion 90° sens antiorari\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotacion 90° sens orari\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importar las anotacions\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importar\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"L’identificant correspond pas. Aquestas anotacions son benlèu pas per \"\n\"aqueste libre.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importar malgrat tot\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Vista en lista\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Vista en grasilha\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Dobrir…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menú principal\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Dobrir\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Menú bibliotèca\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Cercar dins la bibliotèca…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Retorn\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"En avant\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Cap de libre pel moment\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Dobrir un libre per començar de legir\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Emplaçament\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narracion\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Temps restant dins la seccion\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Temps restant dins lo libre\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Pagina\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Pegar e anar\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Seccion\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Primièra seccion\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Seccion precedenta\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Anar a…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Seccion seguenta\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Darrièra seccion\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Susbrilhança\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Parlar d’aquí\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copiar amb citacion\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copiar l’identificant\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Imprimir la seleccion…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Velocitat\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Ton\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Lectura/Pausa\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Arrestar\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Polissa\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Talha de polissa\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Talha de polissa per defaut\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Talha minimala de la polissa\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Familha de polissa\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Polissa per defaut\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Subrecargar la polissa de l’editor\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Polissa serif\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Polissa sans-serif\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Polissa de chassa fixa\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Agençament\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragraf\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Nautor de linha\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Justificacion\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Copadura dels mots\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marges\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Nombre maximum de colomnas\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Talha maximala de linha\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Largor maximala de colomna (escritura orizontala) o nautor (escritura \"\n\"verticala)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Talah maximala dels paragrafes\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Largor maximala (escritura orizontala) o nautor (escritura verticala)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Color\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Compòrtament\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Redusir l’animacion\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Visionadoira de libre electronic\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"\"\n\"Ebook;libre;EPUB;visualizaire;visualizaira;visionador;visionadoira;lector;\"\n\"legeire;legeira;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Descobrissètz un capítol novèl en legissent amb Foliate, lo lector d’e-book \"\n\"modèrn fargat per GNOME. Immergissètz-vos dins una interfàcia sens cap de \"\n\"distraccion, amb de foncionalitats personalizablas concebudas per \"\n\"correspondre a vòstras preferéncias unicas.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Foncionalitats inclusas :\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Dobrir de fichièrs EPUB, Mobipocket, Kindle, FB2, CBZ, e PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Mòde paginat e defilament\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Personalizar la polissa e la nautor de linha\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Mòde clar, sepia, escur e intervertir\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Barra de progression de la lectura amb marcadors pels capítols\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Marcapaginas e anotacions\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Cercar dins lo libre\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Consulta rapida del diccionari\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Correccion del problèma de la fin de capítol quand lo capítol comença amb \"\n\"una pagina de saut\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Correccion de l'ensemble de tèxte dins los tablèus\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Correccion de problèma de performança amb los catalògues OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\"Apondon de la presa en carga dels catalògues OPDS, ara amb presa en carga \"\n\"per OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Opcion aponduda per subrecargar la polissa de l’editor\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Apondon de l’opcion per reduire l’animacion\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Apondon de la presa en carga per JPEG XL dins CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Correccion de l’obtencion de fichièr de Tracker dins Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"Analisi corregida de las datas del primièr sègle e abans lo Crist que son \"\n\"pas sonque d'annadas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate foguèt reinscrich de zèro amb una bibliotèca d’e-book novèla e las \"\n\"darrièras bibliotècas de la platafòrma, GTK 4 e Libadwaita, amb un \"\n\"refrescament de l’interfàcia utilizaire e de melhoraments de las \"\n\"performanças.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Libre\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Ebook\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Lector\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visionadoira\"\n"
  },
  {
    "path": "po/pt_BR.po",
    "content": "# Brazilian Portuguese translation for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2019 THE com.github.johnfactotum.Foliate\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n# Fábio Nogueira <fnogueira@gnome.org>, 2019.\n# Marcelo dos Santos Mafra <msmafra@gmail.com>, 2020.\n# Fúlvio Alves <fga.fulvio@gmail.com>, 2020, 2021, 2023.\n# Luan Henrique Oyera Chiacherini <oyera.dev@gmail.com>, 2025.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-03-17 00:04-0300\\n\"\n\"Last-Translator: Luan Henrique Oyera Chiacherini <oyera.dev@gmail.com>\\n\"\n\"Language-Team: Fábio Nogueira <fnogueira@gnome.org>; Marcelo dos Santos \"\n\"Mafra <msmafra@gmail.com>\\n\"\n\"Language: pt_BR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Generator: Poedit 3.4\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Marcador excluído\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Desfazer\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Sublinhado\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Ondulado\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Tachado\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Amarelo\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Laranja\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Vermelho\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lima\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Cor personalizada…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Personalizado\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Arquivos JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Todos os arquivos\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Sem anotações\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"O arquivo importado não possui anotações\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Não é possível importar anotações\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Ocorreu um erro\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Você não tem anotações parra este livro\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anotações para “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d anotação\"\nmsgstr[1] \"%d anotações\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Fechar\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Cancelar\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Arquivos de e-book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Leia e-books com estilo\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Fábio Nogueira\\n\"\n\"Marcelo dos Santos Mafra\\n\"\n\"Fúlvio Alves\\n\"\n\"Luan Henrique Oyera Chiacherini\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Código fonte\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Editora\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publicado\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Atualizado\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Idioma\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Traduzido por\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Editado por\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Narrado por\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ilustrado por\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Produzido por\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Arte de\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Cor por\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Contribuidores\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identificador\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Sobre este livro\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Loc. %s de %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Página %s de %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Página %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Nota de rodapé\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Ir para a nota de rodapé\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Nota de fim\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Ir para a nota de fim\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Nota\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Ir para a nota\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definição\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Ir para a definição\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografia\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Ir para a Bibliografia\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Remover marcador\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Adicionar marcador\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Arquivo não encontrado\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Tipo de arquivo não suportado\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Anotação excluída\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Imagem de “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Imagem\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"de %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Carregando\"\n\n#: src/library.js:48\n#, fuzzy\nmsgid \"Failed to Load\"\nmsgstr \"Copiado para a área de transferência\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Recarregar\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Ver Todos\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Pesquisar\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtrar\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Descarregar\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Comprar\"\n\n#: src/library.js:58\n#, fuzzy\nmsgid \"Preview\"\nmsgstr \"Anterior\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Amostra\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Emprestar\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Subscrever\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Grátis\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Primeiro\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Anterior\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Próxima\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Último\"\n\n#: src/library.js:70\n#, fuzzy\nmsgid \"Search Terms\"\nmsgstr \"Pesquisar\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Título\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Autor\"\n\n#: src/library.js:74\n#, fuzzy\nmsgid \"Contributor\"\nmsgstr \"Contribuidores\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Remover livro?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"O progresso de leitura, as anotações e os marcadores serão perdidos \"\n\"permanentemente\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Cancelar\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Remover\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Copiado para a área de transferência\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Não foi possível abrir o arquivo com o aplicativo selecionado\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Descarregamento falhado\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Renomear…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Remover\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Renomear\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Todos os livros\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Adicionar catálogo…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Biblioteca\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Catálogos\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Catálogo removido\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Adicionar Catálogo\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Adicionar\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Pode consultar e descarregar livros dos catálogos OPDS. <a href=\\\"https://\"\n\"opds.io\\\">Saiba mais…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Dicionário\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Do <a id=\\\"link\\\">Wikcionário</a>, disponibilizado sob a <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">Licença CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Nenhuma definição encontrada\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Pesquisar no Wikcionário\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipédia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Da <a id=\\\"link\\\">Wikipédia</a>, disponibilizada sob a <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">Licença CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Pesquisar na Wikipédia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Traduzir\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Tradução por Google Tradutor\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Não é possível obter a tradução\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Pesquisar\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Padrão\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Cinza\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sépia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Grama\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Cereja\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Céu\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarizado\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Erro de conversão de texto em fala\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Certifique-se de que o Speech Dispatcher esteja instalado e funcionando em \"\n\"seu sistema\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Copiado para a área de transferência\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Estilo de realce\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Excluir\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Adicionar nota…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Abrir em nova janela\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Abrir com aplicativo externo\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportar Anotações…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nova janela\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Abrir uma Cópia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importar Anotações…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Sobre o Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Todas as seções\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Seção atual\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Apenas palavras inteiras\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Caso de compatibilidade\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Diacríticos de correspondência\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Configurações de fonte e layout\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Modo de rolagem\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Inverter cores no modo escuro\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Ocultar cursor automaticamente\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Imprimir…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspetor\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"O livro não pode ser aberto\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detalhes\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Abrir outro arquivo…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Fixar barra lateral\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menu do livro\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Encontrar\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Encontrar no livro…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Conteúdo\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anotações\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Selecione algum texto para adicionar marcações\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrar anotações…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Marcadores\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Sem marcadores\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Adicione alguns marcadores para vê-los aqui\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Sem resultados\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Tente uma pesquisa diferente\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Barra lateral\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Menu de visualização\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Reduzir o zoom\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Redefinir zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Ampliar o zoom\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Seguir o estilo do sistema\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Estilo claro\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Estilo escuro\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Tela cheia\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exportar anotações\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportar\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Formatar\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Escolha “JSON” se você planeja importar anotações de volta para o Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Salvar como…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Girar 90° no sentido anti-horário\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Girar 90° no sentido horário\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importar Anotações\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importar\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"O identificador não corresponde. Essas anotações podem não ser deste livro.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importar mesmo assim\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Visualização em lista\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Visualização em grade\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Abrir…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menu principal\"\n\n#: src/ui/library.ui:110\n#, fuzzy\nmsgid \"Open\"\nmsgstr \"Abrir…\"\n\n#: src/ui/library.ui:117\n#, fuzzy\nmsgid \"Library Menu\"\nmsgstr \"Biblioteca\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Pesquisar biblioteca…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Voltar\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Avançar\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Ainda não há livros\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Abra um livro para começar a ler\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Localização\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Narração\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Tempo restante na seção\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Tempo restante no livro\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Página\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Colar e ir\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Seção\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Primeira seção\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Seção anterior\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Pular para…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Próxima seção\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Última seção\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Realçar\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Falar à partir daqui\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Copiar com citação\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Copiar identificador\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Imprimir seleção…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Velocidade\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Tom\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Reproduzir/Pausar\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Parar\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Fonte\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Tamanho da fonte\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Tamanho de fonte padrão\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Tamanho mínimo da fonte\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Família de fonte\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Fonte padrão\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serifada\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sem serifa\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Sobrepor a Fonte do Publicador\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Fonte serifada\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Fonte sem serifa\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Fonte monoespaçada\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Layout\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Parágrafo\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Altura da linha\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Justificação Completa\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Hifenização\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Margens\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Número máximo de colunas\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Tamanho máximo em linha\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Largura (escrita horizontal) ou altura (escrita vertical) máxima da coluna\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Tamanho máximo do bloco\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Altura (escrita horizontal) ou largura (escrita vertical) máxima\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Cor\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Comportamento\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Reduzir animações\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Visualizador de e-book\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Descubra um novo capítulo na leitura com o Foliate, o moderno leitor de e-\"\n\"books feito sob medida para o GNOME. Mergulhe em uma interface livre de \"\n\"distrações, com recursos de personalização projetados para atender às suas \"\n\"preferências únicas.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Entre as características, estão:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Abrir arquivos EPUB, Mobipocket, Kindle, FB2, CBZ e PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Modo paginado e modo de rolagem\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Personalização de fonte e de espaçamento entre linhas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Modo claro, sépia, escuro e invertido\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Controle deslizante de progresso de leitura com marcação de capítulo\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Marcadores e anotações\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Localizar no livro\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Pesquisa rápida de dicionário\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Corrigido corte no final do capítulo quando o capítulo começa com quebra de página\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Corrigido encaixe incorreto de texto em tabelas\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Corrigido um problema de desempenho com catálogos OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Adicionado suporte a catálogos OPDS, agora com suporte para OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Adicionada opção para substituir a fonte do editor\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Adicionada opção para reduzir animações\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Adicionado suporte para JPEG XL em CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Corrigido problema ao obter arquivo do Tracker no Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Corrigido o parsing de datas do primeiro século e antes de Cristo não exclusivamente com anos\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"O Foliate foi reescrito do zero com uma nova biblioteca de renderização de e-\"\n\"books e com as bibliotecas de plataforma mais recentes, GTK 4 e Libadwaita, \"\n\"com interface de usuário atualizada e desempenho aprimorado.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Livro\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"E-book\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Leitor\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visualizador\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Preferências\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Preferências\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Atalhos de teclado\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Preferências\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Falar\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Mostrar barra lateral\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"Dublador\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Salvar Arquivo\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Mudar cor de realce\"\n\n#~ msgid \"More\"\n#~ msgstr \"Mais\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Sobre este livro\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Usar barra lateral\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Restaurar zoom\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Ir para a página anterior\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Voltar para a localização anterior\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Ir para a próxima página\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Ir para localização\"\n"
  },
  {
    "path": "po/ru.po",
    "content": "# Russian translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2022 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Schwonder Reismus <schw0reismus@protonmail.com>, 2019.\n# Artem Polishchuk <ego.cordatus@gmail.com>, 2019.\n# Artemii Sudakov <finziyr@yandex.ru>, 2020.\n# Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2021.\n# ViktorOn https://github.com/viktoron 2022.\n# Ser82-png <asvmail.as@gmail.com>, 2023.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Ser82-png <asvmail.as@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: ru\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \"\n\"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\"X-Generator: Poedit 3.0.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Закладка удалена\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Отменить\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Подчеркнуть\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Подчеркнуть волнистой линией\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Зачеркнуть\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Жёлтый\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Оранжевый\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Красный\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Пурпурный\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Аква\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Лайм\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Выбрать свой цвет…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Пользовательский\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Файлы JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Все файлы\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Нет примечаний\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Импортированный файл не содержит примечаний\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Невозможно импортировать примечания\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Произошла ошибка\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"У вас нет никаких аннотаций к этой книге\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Примечания для «%s»\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d примечание\"\nmsgstr[1] \"%d примечания\"\nmsgstr[2] \"%d примечаний\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Закрыть\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Отменить\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Файлы электронных книг\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Читайте электронные книги стильно\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Schwonder Reismus, 2019\\n\"\n\"Artem Polishchuk, 2019\\n\"\n\"Artemii Sudakov, 2020\\n\"\n\"Alexandre Prokoudine, 2021\\n\"\n\"ViktorOn, 2022\\n\"\n\"Ser82-png <asvmail.as@gmail.com>, 2023\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Исходный код\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Издатель\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Опубликовано\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Обновлено\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Язык\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Переведено\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Отредактировано\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Озвучено\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Проиллюстрировано\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Создано\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Художественное оформление\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Цвет\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Участники\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Идентификатор\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Об этой книге\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Расп. %s из %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Страница %s из %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Страница %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Сноска\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Перейти к сноске\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Концевая сноска\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Перейти к концевой сноске\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Заметка\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Перейти к заметке\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Определение\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Перейти к определению\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Библиография\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Перейти к библиографии\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Удалить закладку\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Добавить закладку\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Файл не найден\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Тип файла не поддерживается\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Примечание удалено\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, «%s», с. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—«%s», с. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (с. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, «%s»\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—«%s»\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Изображение с «%s»\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Изображение\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"из %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Загрузка\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Не удалось загрузить\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Перезагрузить\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Показать все\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Поиск\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Фильтр\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Скачать\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Купить\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Просмотр\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Ознакомиться\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Одолжить\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Подписаться\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Бесплатно\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Первый\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Предыдущий\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Следующий\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Последний\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Поисковый запрос\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Название\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Автор\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Участник\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Удалить книгу?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Прогресс чтения, примечания и закладки будут безвозвратно потеряны\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Отменить\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Удалить\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Не удалось открыть\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Не удалось открыть файл с помощью выбранного приложения\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Не удалось скачать\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Переименовать…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Удалить\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Переименовать\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Название\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Все книги\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Добавить каталог…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Библиотека\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Каталоги\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Каталог удалён\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Добавить каталог\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Добавить\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Вы можете просматривать и скачивать книги из каталогов OPDS. <a \"\n\"href=\\\"https://opds.io\\\">Узнать больше…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Cловарь\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Из <a id=\\\"link\\\">Викисловаря</a>, распространяемого под <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">лицензией CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Определений не найдено\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Поиск в Викисловаре\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Википедия\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Из <a id=\\\"link\\\">Википедии</a>, распространяемой под <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">лицензией CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Поиск по Википедии\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Перевести\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Перевести с помощью Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Не удалось получить перевод\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Искать…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"По умолчанию\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Серый\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Сепия\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Трава\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Вишня\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Небо\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Север\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Ошибка при озвучки текста\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Убедитесь, что Speech Dispatcher установлен и работает в вашей системе\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Скопировано в буфер обмена\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Стиль выделения\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Удалить\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Меню\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Добавить заметку…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Открыть в новом окне\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Открыть с помощью внешнего приложения\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Экспортировать примечания…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Новое окно\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Открыть копию\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Импортировать примечания…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"О Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Все разделы\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Текущий раздел\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Только слова целиком\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Учитывать регистр\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Учитывать диакритические знаки\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Шрифт и настройка макета\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Режим прокрутки\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Инвертировать цвета в тёмном режиме\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Автоматически скрывать курсор\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Печать…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Инспектор\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Книга не может быть открыта\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Подробности\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Открыть другой файл…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Закрепить боковую панель\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Меню книги\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Искать\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Искать в книге…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Оглавление\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Примечания\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Выделите какой-нибудь текст, чтобы добавить примечание\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Фильтр примечаний…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Закладки\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Нет закладок\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Добавьте какие-нибудь закладки, чтобы увидеть их здесь\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Ничего не найдено\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Попробуйте изменить поисковой запрос\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Боковая панель\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Меню просмотра\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Уменьшить масштаб\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Сбросить масштаб\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Увеличить масштаб\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Системный стиль\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Светлый стиль\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Тёмный стиль\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Во весь экран\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Экспортировать примечания\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Экспортировать\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Формат\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Выберите «JSON», если планируете повторно импортировать свои примечания в \"\n\"Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org-режим\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Копировать\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Сохранить как…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Повернуть на 90° против часовой стрелки\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Повернуть на 90° по часовой стрелке\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Импортировать примечания\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Импортировать\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Идентификатор не совпадает. Эти примечания могут быть для другой книги.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Всё равно импортировать\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Вид списком\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Вид сеткой\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Открыть…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Главное меню\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Открыть\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Меню библиотеки\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Поиск в библиотеке…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Назад\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Вперёд\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Книг пока нет\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Откройте книгу, чтобы приступить к чтению\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Расположение\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Озвучивание\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Раздел осталось читать\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Книгу осталось читать\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Страница\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Вставить и продолжить\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Раздел\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Первый раздел\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Предыдущий раздел\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Перейти к…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Следующий раздел\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Последний раздел\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Выделить\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Озвучить отсюда\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Копировать с указанием источника\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Копировать идентификатор\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Печатать выделенное…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Скорость\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Питч\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Запуск/Пауза\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Остановить\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Шрифт\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Размер шрифта\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Размер шрифта по умолчанию\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Минимальный размер шрифта\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Семейство шрифта\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Шрифт по умолчанию\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"С засечками\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Без засечек\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Переопределить шрифт издателя\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Шрифт с засечками\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Шрифт без засечек\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Моноширный шрифт\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Макет\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Абзац\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Высота строки\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Выравнивание по ширине\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Автоматическая расстановка переносов\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Поля\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Максимальное количество столбцов\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Максимальный размер элемента\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Максимальная ширина столбца (горизонтальное написание) или высота \"\n\"(вертикальное написание)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Максимальный размер блока\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Максимальная высота (горизонтальное написание) или ширина (вертикальное \"\n\"написание)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Цвет\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Поведение\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Отключить анимацию\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Читалка электронных книг\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Книга;Книги;EPUB;Просмотрщик;Читалка;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Откройте для себя новую главу в чтении с Foliate, современным приложением \"\n\"для чтения электронных книг, разработанным специально для GNOME. Погрузитесь \"\n\"в удобный интерфейс с функциями настройки, разработанными в соответствии с \"\n\"вашими уникальными предпочтениями.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Включает следующие функции:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Открытие файлов: EPUB, Mobipocket, Kindle, FB2, CBZ и PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Режим разбивки на страницы и режим прокрутки\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Настройка шрифта и межстрочного интервала\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Режимы: «Светлый», «Сепия», «Тёмный» и «Инвертированный»\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Ползунок прогресса чтения с отметками глав\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Закладки и примечания\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Найти в книге\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Быстрая проверка по словарю\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Исправлено прерывание конца главы, когда глава начинается с разрыва страницы\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Исправлен неправильный перенос текста в таблицах\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Исправлена проблема с производительностью каталогов OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Добавлена поддержка каталогов OPDS, теперь поддерживается OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Добавлена возможность переопределения шрифта издателя\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Добавлена возможность отключения анимации\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Добавлена поддержка формата JPEG XL в CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Исправлено получение файла с трекера во Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\"Исправлен синтаксический анализ «non-year-only first-century» и дат до нашей \"\n\"эры\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Приложение Foliate было переписано с нуля с использованием новой библиотеки \"\n\"рендеринга электронных книг и новейших библиотек (GTK 4 и Libadwaita) с \"\n\"обновлённым пользовательским интерфейсом и улучшенной производительностью.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Книга\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"E-book\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Читалка\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Просмотрщик\"\n"
  },
  {
    "path": "po/sr.po",
    "content": "# Serbian translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2024 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Tomica Korac <tomica.korac@mail.ru>, 2024.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Tomica Korac <tommica.korac@mail.ru>\\n\"\n\"Language-Team: Open Serbian Foundation\\n\"\n\"Language: sr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \"\n\"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\"X-Generator: Poedit 3.0.1\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Одбирак је обрисан\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Опозови\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Подвуци\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Таласасто\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Прецртано\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Жуто\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Наранџасто\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Црвено\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Магента\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Аква\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Лимета\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Подешена боја…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Подешено\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Фајлови „JSON“\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Сви фајлови\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Нема белешки\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Увезени фајл нема белешки\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Није могуће увести белешке\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Дошло је до грешке\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Немате никакве белешке за ову књигу\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Белешке за „%s“\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d белешка\"\nmsgstr[1] \"%d белешке\"\nmsgstr[2] \"%d белешки\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Затвори\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Откажи\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Фајлови е-књига\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Читај е-књиге у стилу\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Томица Кораћ, 2024\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Изворни код\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Издавач\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Издато\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Обновљено\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Језик\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Превео/ла\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Изменио/ла\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Испричао/ла\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Илустровао/ла\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Произвео/ла\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Украсио/ла\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Обојио/ла\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Сарадници\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Идентификатор\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"О овој књизи\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Место %s од %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Страна %s од %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Страна %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Фуснота\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Иди на фусноту\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Енднота\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Иди на ендноту\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Примедба\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Иди на примедбу\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Одредница\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Иди на одредницу\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Библиографија\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Иди на библиографију\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Уклони одбирак\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Додај одбирак\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Фајл није нађен\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Овај тип фајла није подржан\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Белешка је обрисана\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, «%s», с. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—„%s“, с. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (с. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, „%s“\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—„%s“\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Слика од “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Слика\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"од %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Учитавање\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Учитавање није успело\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Освежи\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Види све\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Тражи\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Филтар\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Преузми\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Купи\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Осмотри\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Узорак\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Позајми\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Претплати се\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Бесплатно\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Прво\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Претходно\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Следеће\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Последње\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Тражи услове\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Наслов\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Творац\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Сарадник\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Уклонити књигу?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Напредак читања, белешке и одабир ће бити трајно изгубљени\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Откажи\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Уклони\"\n\n#: src/library.js:472\n#, fuzzy\nmsgid \"Failed to Open\"\nmsgstr \"Учитавање није успело\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Преузимање није успело\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Преименуј…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Уклони\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Уклони\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Назив\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Све књиге\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Додај катало…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Књижара\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Каталози\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Каталог је уклоњен\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Додај каталог\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Додај\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Можете да прегледате и преузимате књиге из „ОПДС“ каталога.<a href=\\\"https://\"\n\"opds.io\\\">Сазнајте више…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"УРЛ\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Речник\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Са <a id=\\\"link\\\">Викиречника</a>, објабљено под <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">лиценцом „CC BY-SA“</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Није нађена одредница\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Тражи на Викиречнику\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Википедија\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Са <a id=\\\"link\\\">Википедије</a>, објављено под <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">лиценцом „CC BY-SA“</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Тражи на Википедији\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Преведи\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Превод са Гугл Преводиоца\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Није могуће прибавити превод\"\n\n#: src/selection-tools.js:67\n#, fuzzy\nmsgid \"Search…\"\nmsgstr \"Тражи\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Задато\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Сиво\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Сепија\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Трава\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Вишња\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Небо\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Осунчано\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Грувбокс\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Север\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Грешка при говору из текста\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Проверите да ли је диспечер говора инсталиран и исправан у систему\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Копирано у оставу\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Стил означавања\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Обриши\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Мени\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Додај примедбу…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Отвори у новом прозору\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Извези белешке…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Нови прозор\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Отвори копију\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Увези белешке…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"О Фолијејту\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Сви одељци\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Тренутни одељак\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Спој само целе речи\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Спој величину\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Спој дијакритике\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Поставке фонта и распореда\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Мод свитка\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Обрни боје у тамном моду\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Сакриј показивач\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Штампај…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Иследник\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Књига не може да се отвори\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Подробности\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Отвори други…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Прикачи бочну траку\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Мени књиге\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Нађи\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Нађи у књизи…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Садржај\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Белешке\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Изаберите неки текст да додате белешку\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Филтрирај белешке…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Одабир\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Нема одбирака\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Додајте одбирке да бисте их видели овде\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Нема резултата\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Пробај другу претрагу\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Бочна трака\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Мени приказа\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Умањи\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Ресетуј увећање\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Увећај\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Прати системски стил\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Светли стил\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Тамни стил\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Цео екран\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Извоз белешки\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Извоз\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Формат\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Изаберите „ЏејСОН“ ако желите да увезете белешке назад у Фолијејт\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"ЏејСОН\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"ХТМЛ\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Маркдаун\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Орг мод\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Копирај\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Сачувај као…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Заврти 90° супротно од казааљке\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Заврти 90° у смеру казаљке\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Увези белешке\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Увоз\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Идентификатор се не поклапа. Ове белешке можда нису за ову књигу.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Ипак увези\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Приказ списком\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Приказ мрежом\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Отвори…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Главни мени\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Отвори\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Мени књижаре\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Тражи у књижари…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Назад\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Напред\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Још нема књига\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Отворите књигу да почнете читање\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Место\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Приповедање\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Преостало време у одељку\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Преостало време у књизи\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Страна\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Налепи и иди\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Одељак\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Први одељак\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Претходни одељак\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Скочи на…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Следећи одељак\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Последњи одељак\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Истакни\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Причај одавде\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Копирај са цитатом\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Копирај идентификатор\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Штампај избор…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Брзина\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Висина\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Пусти/Заустави\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Стани\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Фонт\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Величина фонта\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Задата величина фонта\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Најмања величина фонта\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Породица фонтова\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Задати фонт\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Серифни\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Безсерифни\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Занемари фонт издавача\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Серифни фонт\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Безсерифни фонт\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Једноредни фонт\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Распоред\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Пасус\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Висина реда\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Обострано поравнање\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Прекид речи\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Маргине\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Највећи број стубаца\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Највећа величина у реду\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Највећа ширина ступца (у водоравном писању) или висина (у усправном писању)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Највећа величина блока\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Највећа висина (у водоравном писању) или ширина (у усправном писању)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Боја\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Понашање\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Смањи анимацију\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Приказивач е-књига\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Е-књига;Књига;ЕПУБ;Приказивач;Читач;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Откријте ново поглавље у читању уз Фолијејт, савремени читач е-књига \"\n\"прилагођен за ГНОМ. Утоните у прочеље без икаквих ометања, уз могућности \"\n\"прилагођавања свим Вашим потребама.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Неке могућности:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Отвара ЕПУБ, Мобипокет, Киндл, ФБ2, ЦБЗ, и ПДФ фајлове\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Читање по страницама или у свитку\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Прилагодљив фонт и размаци\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Светли, тамни, „сепија“ и обратни мод\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Показивач напретка читања са ознакама поглавља\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Одабир и белешке\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Тражење у књизи\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Претрага речника\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\n#, fuzzy\nmsgid \"Added option to override publisher font\"\nmsgstr \"Занемари фонт издавача\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Фолијејт је прерађен од главе до пете и сада има нову библиотеку рендеровања \"\n\"и најновије библиотеке платформе, ГТК4 и Либадваита, са дорађеним прочељем и \"\n\"побољшаним радом.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Књига\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"ЕПУБ\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Е-књига\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Читач\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Приказивач\"\n"
  },
  {
    "path": "po/sv.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-03-15 07:31+0200\\n\"\n\"Last-Translator: Jonatan Nyberg\\n\"\n\"Language-Team: \\n\"\n\"Language: sv\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Generator: Poedit 3.2.2\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Bokmärke har tagits bort\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Ångra\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Understrykning\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Snirklig\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Genomstruken\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Gul\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Orange\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Röd\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Aqua\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Lime\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Anpassad färg…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Anpassad\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON-filer\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Alla filer\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Inga anteckningar\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Den importerade filen har inga kommentarer\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Kan inte importera kommentarer\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Ett fel uppstod\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Du har inga kommentarer till för den här boken\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Anteckningar för “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d anteckningar\"\nmsgstr[1] \"%d anteckningar\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Stäng\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Avbryt\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"E-bok filer\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Läs e-böcker med stil\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Jonatan Nyberg\\n\"\n\"Luna Jernberg\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Källkod\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Förlag\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Publicerad\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Uppdatera\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Språk\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Översatt av\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Redigerad av\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Berättad av\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Illustrerad av\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Producerad av\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Konstverk av\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Färg av\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Bidragsgivare\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Identifierare\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Om denna bok\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Lok. %s av %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Sida %s av %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Sida %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Fotnot\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Gå till fotnot\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Slutanteckning\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Gå till ślutanteckning\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Anteckning\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Gå till anteckning\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Definition\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Gå till definition\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Bibliografi\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Gå till Bibliografi\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Ta bort bokmärke\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Lägg till bokmärke\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Filen hittades inte\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Filtyp stöds inte\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Anteckning borttagen\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, s. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (s. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Bild från \\\"%s\\\"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Bild\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"av %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Läser in\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Det gick inte att läsa in\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Uppdatera\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Se alla\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Sök\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Filtrera\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Hämta\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Köp\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Förhandsvisning\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Prov\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Låna\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Prenumerera\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Gratis\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Första\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Föregående\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Nästa\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Sista\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Söktermer\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Titel\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Författare\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Bidragsgivare\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Ta bort bok?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"\"\n\"Läsförlopp, anteckningar och bokmärken kommer att gå förlorade permanent\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Avbryt\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Ta bort\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Det gick inte att öppna\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Det gick inte att öppna filen med det valda programmet\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Hämtningen misslyckades\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Byt namn…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Ta bort\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Byt namn\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Namn\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Alla böcker\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Lägg till katalog…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Bibliotek\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Kataloger\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalog borttagen\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Lägg till katalog\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Lägg till\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Du kan bläddra och hämta böcker från OPDS-kataloger. <a href=\\\"https://opds.\"\n\"io\\\">Läs mer…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Ordbok\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Från <a id=\\\"link\\\">Wiktionary</a>, släppt under <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA-licensen</a> .\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Inga definitioner hittades\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Sök på Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Från <a id=\\\"link\\\">Wikipedia</a>, släppt under <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA-licensen< /a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Sök på Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Översätt\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Översättning av Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Det går inte att hämta översättning\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Sök…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Standard\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Grå\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Gräs\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Körsbär\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Himmel\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solariserad\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvlåda\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Text-till-tal-fel\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Se till att Speech Dispatcher är installerad och fungerar på ditt system\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Kopierade till urklipp\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Markera stil\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Ta bort\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Meny\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Lägg till anteckning…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Öppna i nytt fönster\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Öppna med extern app\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Exportera anteckningar…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Nytt fönster\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Öppna en kopia\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Importera anteckningar…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Om Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Alla sektioner\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Nuvarande sektion\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Matcha endast hela ord\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Matcha skiftläge\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Matcha Diakritiska tecken\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Teckensnitt- & layoutinställningar\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Rullat läge\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Invertera färger i mörkt läge\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Dölj markören automatiskt\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Skriva ut…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Inspektör\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Boken kan inte öppnas\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Detalj\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Öppna en annan fil…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Fäst sidofält\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Bok meny\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Hitta\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Hitta i bok…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Innehåll\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Anteckningar\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Markera en del text för att lägga till kommentarer\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Filtrera kommentarer…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Bokmärken\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Inga bokmärken\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Lägg till några bokmärken för att se dem här\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Inga resultat funna\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Försök med en annan sökning\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Sidofält\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Visa meny\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Zooma ut\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Återställ zoom\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Zooma in\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Följ System stil\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Ljus stil\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Mörk stil\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Helskärmsläge\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Exportera anteckningar\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Exportera\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Format\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"\"\n\"Välj \\\"JSON\\\" om du planerar att importera kommentarer tillbaka till Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Organisationsläge\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopiera\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Spara som…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Rotera 90° moturs\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Rotera 90° medurs\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Importera anteckningar\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Importera\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"\"\n\"Identifieraren matchar inte. Dessa kommentarer kanske inte är för den här \"\n\"boken.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Importera ändå\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Listvy\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Rutnätsvy\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Öppna…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Huvudmeny\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Öppna\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Biblioteksmeny\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Sök i biblioteket…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Tillbaka\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Framåt\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Inga böcker än\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Öppna en bok för att börja läsa\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Plats\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Berättande\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Tid kvar i sektion\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Tid kvar i bok\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Sida\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Klistra in och gå\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Sektion\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Första sektion\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Föregående sektion\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Hoppa till…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Nästa sektion\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Sista sektion\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Markera\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Tala härifrån\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Kopiera med citat\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Kopiera identifierare\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Skriv ut urval…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Hastighet\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Tonhöjd\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Spela/Pausa\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Stopp\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Typsnitt\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Typsnitt storlek\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Standard typsnitt storlek\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Minsta typsnitt storlek\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Typsnitt familj\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Standard typsnitt\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Åsidosätt utgivarens teckensnitt\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serif typsnitt\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Sans-Serif typsnitt\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Monospace typsnitt\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Layout\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragraf\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Linjehöjd\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Fullständig justering\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Avstavning\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Marginaler\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Maximalt antal kolumner\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Maximal inlinestorlek\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Maximal kolumnbredd (horisontell skrift) eller höjd (vertikal skrift)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Maximal blockstorlek\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Maximal höjd (horisontell skrift) eller bredd (vertikal skrift)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Färg\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Beteende\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Minska animering\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"E-bokvisare\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"E-bok;Bok;EPUB;Visare;Läsare;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Upptäck ett nytt kapitel i läsning med Foliate, den moderna e-boksläsaren \"\n\"skräddarsydd för GNOME. Fördjupa dig i ett distraktionsfritt gränssnitt, med \"\n\"anpassningsfunktioner utformade för att matcha dina unika preferenser.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Funktioner inkluderar:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Öppna EPUB-, Mobipocket-, Kindle-, FB2-, CBZ- och PDF-filer\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Paginerat läge och rullat läge\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Anpassa teckensnitt och radavstånd\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Ljus, sepia, mörkt och inverterat läge\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Reglage för läsförlopp med kapitelmarkeringar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Bokmärken och anteckningar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Hitta i bok\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Snabbt uppslag i ordbok\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Åtgärdat att avslut på kapitel skärs av när kapitel börjar med sidbrytningar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Åtgärdat felaktig textbrytning i tabeller\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Åtgärdat ett prestandaproblem med OPDS-kataloger\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Tillagt stöd för OPDS-kataloger, nu med stöd för OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Tillagt alternativ för att åsidosätta utgivarens teckensnitt\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Tillagt alternativ för att minska animering\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Tillagt stöd för JPEG XL i CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Åtgärdat hämtning av fil från Tracker i Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Åtgärdat analys av datum från första århundradet och f.Kr\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate har skrivits om från grunden med ett nytt e-boksrenderingsbibliotek \"\n\"och de senaste plattformsbiblioteken, GTK 4 och Libadwaita, med uppdaterat \"\n\"användargränssnitt och förbättrad prestanda.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Bok\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"E-bok\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Läsenhet\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Visare\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Inställningar\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Inställningar\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Tangentbordsgenvägar\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Inställningar\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"Tala\"\n\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Vik in sidofält\"\n\n#~ msgid \"OK\"\n#~ msgstr \"OK\"\n\n#~ msgid \"Voice\"\n#~ msgstr \"Röst\"\n\n#~ msgid \"Start Speaking\"\n#~ msgstr \"Börja prata\"\n\n#~ msgid \"Stop Speaking\"\n#~ msgstr \"Sluta prata\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Spara fil\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Ändra markeringsfärg\"\n\n#~ msgid \"More\"\n#~ msgstr \"Mer\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Om denna bok\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Använd sidofält\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Återställ zoom\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Gå till föregående sida\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Gå tillbaka till föregående plats\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Gå till nästa sida\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Gå till platsen\"\n"
  },
  {
    "path": "po/tr.po",
    "content": "# Turkish translation of Foliate.\n# Copyright (C) 2020-2022 Foliate's COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n#\n# Sabri Ünal <libreajans@gmail.com>, 2022.\n# Emin Tufan Çetin <etcetin@gmail.com>, 2020, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-03-12 08:00+0300\\n\"\n\"Last-Translator: Sabri Ünal <libreajans@gmail.com>\\n\"\n\"Language-Team: Türkçe <takim@gnome.org.tr>\\n\"\n\"Language: tr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 3.4.2\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Yer imi silindi\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Geri Al\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Altı Çizili\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Dalgalı\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Üstü Çizili\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Sarı\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Turuncu\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Kırmızı\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Macenta\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Deniz Mavisi\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Limon\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Özel Renk…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Özel\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON Dosyaları\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Tüm Dosyalar\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Not Yok\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"İçe aktarılan dosyada not yok\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Notlar İçe Aktarılamadı\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Hata oluştu\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Bu kitap için notunuz yok\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s” notları\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Not\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Kapat\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"İptal\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"E-Kitap Dosyaları\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"E-kitapları şık biçimde okuyun\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Emin Tufan Çetin <etcetin@gmail.com>\\n\"\n\"Sabri Ünal <libreajans@gmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Kaynak Kodu\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Yayımcı\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Yayın\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Güncellenme\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Dil\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Çeviren\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Düzenleyen\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Anlatan\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Resimleyen\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Üreten\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Grafikler\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Renk\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Katkıda Bulunanlar\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Tanımlayıcı\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Bu Kitap Hakkında\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Konum %s / %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Sayfa %s / %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Sayfa %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Dipnot\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Dipnota Git\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Sonnot\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Sonnota Git\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Not\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Nota Git\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Tanım\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Tanıma Git\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Kaynakça\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Kaynakçaya Git\"\n\n# Konumu gereği başlık düzeni tercih edildi.\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Yer İmini Kaldır\"\n\n# Konumu gereği başlık düzeni tercih edildi.\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Yer İmi Ekle\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Dosya bulunamadı\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Dosya türü desteklenmiyor\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Not silindi\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, s. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, s. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (s. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"“%s” kaynağından resim\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Resim\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"/ %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Yükleniyor\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Yüklenemedi\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Yeniden Yükle\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Tümünü Gör\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Ara\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Süz\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"İndir\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Satın Al\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Ön İzle\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Örnek\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Ödünç Al\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Abone Al\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Ücretsiz\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"İlk\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Önceki\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Sonraki\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"En Son\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Arama Terimleri\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Başlık\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Yazar\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Katkıda Bulunanlar\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Kitap Kaldırılsın Mı?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Okuma ilerlemesi, notlar ve yer imleri kalıcı olarak kaybedilecek\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"İ_ptal\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Kaldır\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Açılamadı\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Seçili uygulamayla dosya açılamadı\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"İndirilemedi\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Yeniden Adlandır…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Kaldır\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Yeniden Adlandır\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Ad\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Tüm Kitaplar\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Katalog Ekle…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Kitaplık\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Kataloglar\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Katalog kaldırıldı\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Katalog Ekle\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Ekle\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"OPDS kataloglarından kitaplara göz atabilir ve indirebilirsiniz. <a \"\n\"href=\\\"https://opds.io\\\">Daha Fazla Bilgi…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Sözlük\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Vikisözlük</a>’ten, <a href=\\\"https://creativecommons.org/\"\n\"licenses/by-sa/4.0/\\\">CC BY-SA Lisansı</a> ile yayınlanmıştır.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Tanım Bulunamadı\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Vikisözlük’te Ara\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Vikipedi\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"<a id=\\\"link\\\">Wikipedia</a> tarafından <a href=\\\"https://en.wikipedia.org/\"\n\"wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA Lisansı</a> altında \"\n\"yayınlanmıştır.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Wikipedia’da ara\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Çevir\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Google Çeviri ile çevir\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Çeviri alınamadı\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Ara…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Öntanımlı\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Gri\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepya\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Çimen\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Kiraz\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Gökyüzü\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarize\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Metinden Sese Hatası\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Speech Dispatcher’ın sisteminizde kurulu ve çalışır olduğundan emin olun\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Panoya kopyalandı\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Vurgulama Biçemi\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Sil\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menü\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Not Ekle…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Yeni Pencerede Aç\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Dış Uygulamayla Aç\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Notları Dışa Aktar…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Yeni Pencere\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Kopya Aç\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Notları İçe Aktar…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Foliate Hakkında\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Tüm Bölümler\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Geçerli Bölüm\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Sadece Tam Kelimeleri Eşleştir\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Büyük Küçük Harf Eşleştir\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Aksanları Eşleştir\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Yazı Tipi ve Düzen Ayarları\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Kaydırmalı Kip\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Koyu Kipte Renkleri Ters Çevir\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"İmleci Kendiliğinden Gizle\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Yazdır…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"İnceleyici\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Kitap Açılamadı\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Ayrıntılar\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Başka Dosya Aç\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Kenar Çubuğunu Sabitle\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Kitap Menüsü\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Bul\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Kitapta bul…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"İçindekiler\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Notlar\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Not eklemek için metin seçin\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Notları süz…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Yer İmleri\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Yer İmi Yok\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Burada görünmeleri için yer imleri ekleyin\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Sonuç Bulunamadı\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Başka arama dene\"\n\n# Konumu gereği başlık düzeni tercih edildi.\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Kenar çubuğu\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Menüyü Göster\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Uzaklaştır\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Yakınlaştırmayı Sıfırla\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Yakınlaştır\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Sistem Biçemini İzle\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Açık Biçem\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Koyu Biçem\"\n\n# Konumu gereği başlık düzeni tercih edildi.\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Tam Ekran\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Notları Dışa Aktar\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Dışa Aktar\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Biçim\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Notları Foliate’e içe aktarmayı planlıyorsanız “JSON” biçimini seçin\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Organizasyon Kipi\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Kopyala\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Farklı Kaydet…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"90° Sola Döndür\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"90° Sağa Döndür\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Notları İçe Aktar\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"İçe Aktar\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Tanımlayıcı eşleşmiyor. Bu notlar bu kitap için olmayabilir.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Yine De İçe Aktar\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Liste Görünümü\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Izgara Görünümü\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Aç…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Ana Menü\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Aç\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Kitaplık Menüsü\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Kitaplıkta ara…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Geri\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"İleri\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Henüz Kitap Yok\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Okumaya başlamak için kitap açın\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Konum\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Öyküleme\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Bölümde Kalan Zaman\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Kitapta Kalan Zaman\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Sayfa\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Yapıştır ve Git\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Bölüm\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"İlk Bölüm\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Önceki Bölüm\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Git…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Sonraki Bölüm\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Son Bölüm\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Vurgula\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Buradan Konuş\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Atıfla Kopyala\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Tanımlayıcıyı Kopyala\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Seçimi Yazdır…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Hız\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Ses Tonu\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Oynat/Beklet\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Durdur\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Yazı Tipi\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Yazı Tipi Boyutu\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Öntanımlı Yazı Tipi Boyutu\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Asgari Yazı Tipi Boyutu\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Yazı Tipi Ailesi\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Öntanımlı Yazı Tipi\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Serif\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Sans-serif\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Yayıncı Yazı Tipini Geçersiz Kıl\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Serif Yazı Tipi\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Sans-Serif Yazı Tipi\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Eşaralıklı Yazı Tipi\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Düzen\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Paragraf\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Satır Yüksekliği\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"İki Yana Yasla\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Tireleme\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Kenar Boşlukları\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Azami Sütun Sayısı\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Azami Satır Boyutu\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Azami sütun genişliği (yatay yazı) ya da yükseklik (dikey yazı)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Azami Blok Boyutu\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Azami yükseklik (yatay yazı) ya da genişlik (dikey yazı)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Renk\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Davranış\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Canlandırmayı Azalt\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"E-Kitap Görüntüleyici\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ekitap;Kitap;EPUB;Görüntüleyici;Okuyucu;E-kitap;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"GNOME için özel hazırlanmış modern e-kitap okuyucu Foliate ile okumada yeni \"\n\"bir sayfa açın. Özel tercihlerinize uyacak şekilde tasarlanmış özelleştirme \"\n\"özellikleriyle, dikkat dağıtmayan bir arayüze kendinizi kaptırın.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Özellikleri şunlardır:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"EPUB, Mobipocket, Kindle, FB2, CBZ ve PDF dosyalarını açın\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Sayfalandırılmış kip ve kaydırmalı kip\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Yazı tipini ve satır aralığını özelleştirme\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Açık, sepya, koyu ve ters çevirme kipleri\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Bölüm imli okuma ilerleme kaydırıcısı\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Yer imleri ve notlar\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Kitapta bul\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Hızlı sözlük araması\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Bölüm sayfa sonuyla başladığında bölümün sonu kesimi sorunu giderildi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Tablolardaki geçersiz metin kaydırma sorunu giderildi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"OPDS kataloglarındaki bir başarım sorunu giderildi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"OPDS kataloglarına destek eklendi, şimdi OPDS 2.0 desteği ile\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Yayıncı yazı tipini geçersiz kılacak seçenek eklendi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Canlandırmaları azaltacak seçenek eklendi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"CBZ içine JPEG XL desteği eklendi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Flatpak’te Tracker’dan dosya alma sorunu giderildi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"İlk yüzyıl ve MÖ tarihlerin ayrıştırmasındaki sorun giderildi\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate, yeni bir e-kitap oluşturma kütüphanesi ve en son platform \"\n\"kütüphaneleri olan GTK 4 ve Libadwaita ile yenilenmiş kullanıcı arayüzü ve \"\n\"geliştirilmiş performans ile sıfırdan yeniden yazılmıştır.\"\n"
  },
  {
    "path": "po/uk.po",
    "content": "# Ukrainian translation for Foliate.\n# Copyright (C) 2020-2025 THE Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the PACKAGE package.\n# Danylo Korostil <ted.korostiled@gmail.com>, 2020.\n# Anton Isachenko <antonyua23@gmail.com>, 2020.\n# volkov <volkovissocool@gmail.com>, 2023.\n# freeducks-debug, 2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-07-05 11:23+0300\\n\"\n\"Last-Translator: freeducks-debug <209897795+freeducks-\"\n\"debug@users.noreply.github.com>\\n\"\n\"Language-Team: <trans-uk@lists.fedoraproject.org>\\n\"\n\"Language: uk\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && \"\n\"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\\n\"\n\"X-Generator: Poedit 3.6\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Закладка видалена\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Скасувати\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Пікреслений\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Хвилястий\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Закреслений\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Жовтий\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Помаранчевий\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Червоний\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Пупурний\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Аква\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Лаймовий\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Власний колір…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Власний\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON файли\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Усі файли\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Немає нотаток\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Імпортований файл не містить нотаток\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Не вдалося імпортувати нотатки\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Сталася помилка\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"У вас немає жодних нотаток для цієї книги\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Нотатки для \\\"%s\\\"\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d нотатка\"\nmsgstr[1] \"%d нотатки\"\nmsgstr[2] \"%d нотаток\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Закрити\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Скасувати\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Файли електронних книг\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Читайте електронні книги у стилі\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Danylo Korostil <ted.korostiled@gmail.com>\\n\"\n\"Юрій Яновський <lytvyn349@ukr.net>\\n\"\n\"volkov <volkovissocool@gmail.com>\\n\"\n\"freeducks-debug\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Джерельний код\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Видавець\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Опубліковано\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Оновлено\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Мова\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Переклад\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Редактор\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Озвучив\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Ілюстрації\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Вироблено\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Обкладинка\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Колір\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Вкладачі\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Ідентифікатор\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Про цю книгу\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Позиція %s із %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Сторінка %s із %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Сторінка %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Виноска\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Перейти до виноски\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Кінцева виноска\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Перейти до кінцевої виноски\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Нотатка\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Перейти до примітки\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Визначення\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Перейти до визначення\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Бібліографія\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Перейти у Бібліографію\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Видалити закладку\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Додати закладку\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Файл не знайдено\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Тип файлу не підтримується\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Нотатка видалена\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"\\\"%s\\\"\\n\"\n\"— %s, \\\"%s\\\", стр. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"\\\"%s\\\"\\n\"\n\"—\\\"%s\\\", сторінка %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"\\\"%s\\\" (сторінка %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"\\\"%s\\\"\\n\"\n\"—%s, \\\"%s\\\"\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"\\\"%s\\\"\\n\"\n\"—\\\"%s\\\"\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"\\\"%s\\\"\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Зображення з \\\"%s\\\"\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Зображення\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"з %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Завантаження\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Не вдалося завантажити\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Перезавантажити\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Побачити усі\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Пошук\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Фільтр\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Завантажити\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Купити\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Попередній перегляд\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Зразок\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Позичити\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Підписатися\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Безкоштовно\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Перше\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Попереднє\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Наступне\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Останнє\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Терміни пошуку\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Назва\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Автор\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Вкладач\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Вилучити книгу?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Прогрес читання, нотатки та закладки будуть назавжди втрачені\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Скасувати\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Видалити\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Не вдалося відкрити\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Не вдалося відкрити файл обраним додатком\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Не вдалось завантажити\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Перейменувати…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Видалити\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Перейменувати\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Назва\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Усі книги\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Додати каталог…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Бібліотека\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Каталоги\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Каталог видалено\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Додати каталог\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Додати\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://\"\n\"opds.io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"Ви можете переглядати та завантажувати книжки із OPDS каталогів. <a \"\n\"href=\\\"https://opds.io\\\">Дізнатися більше…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL-адреса\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Словник\"\n\n# Одразу переадресовувати на українську версію статті.\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Із <a id=\\\"link\\\">Вікісловника</a>, розповсюджується під <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/deed.uk\\\">CC BY-SA ліцензею</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Жодних визначень не було знайдено\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Шукати на Вікісловник\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Вікіпедія\"\n\n# Я би додав українську версію цієї сторінки, але нажаль такої не існує - ніхто не зробив.\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"Із <a id=\\\"link\\\">Вікіпедії</a>, розповсюджується під <a href=\\\"https://\"\n\"en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA ліцензею</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Шукати у Вікіпедії\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Переклад\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Перекладено через Google перекладач\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Не вдалося отримати переклад\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Пошук…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Стандартний\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Сірий\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Сепія\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Трава\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Вишня\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Небо\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Помилка синтезу мовлення\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"\"\n\"Впевніться що Speech Dispatcher модуль встановлений і коректно працює на \"\n\"вашій системі\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Скопійовано в буфер обміну\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Стиль виділення\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Вилучити\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Меню\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Додати нотатку…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Відкрити в новому вікні\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Відкрити у зовнішньому додатку\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Експортувати нотатки…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Нове вікно\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Відкрити копію\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Імпортувати нотатки…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Про Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Усі розділи\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Поточний розділ\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Шукати тільки цілі слова\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Враховувати регістр\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Враховувати діакритичні знаки\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Налаштування шрифту та макету\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Режим гортання\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Інвертувати кольори у темному стилі\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Автоматично ховати курсор\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"Друк…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Інспектор\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Неможливо відкрити книгу\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Подробиці\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Відкрити інший файл…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Закріпити бічну панель\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Меню книги\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Знайти\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Пошук в книзі…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Вміст\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Нотатки\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Оберіть текст щоб додати його до нотаток\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Фільтрувати нотатки…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Закладки\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Немає закладок\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Додайте закладки щоб побачити їх тут\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Нічого не знайдено\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Спробуйте інший пошуковий запит\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Бічна панель\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Меню перегляду\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Зменшити\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Скинути масштаб\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Збільшити\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Використовувати стиль системи\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Світлий стиль\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Темний стиль\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Повноекранний режим\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Експортувати нотатки\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Експортувати\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Формат\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Оберіть \\\"JSON\\\" якщо ви плануєте імпортувати нотатки назад у Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Скопіювати\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Зберегти як…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Повернути на 90° проти годинникової стрілки\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Повернути на 90° за годинниковою стрілкою\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Імпортувати нотатки\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Імпортувати\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Ідентифікатори не збігаються. Можливо, ці нотатки не для цієї книги.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Все рівно імпортувати\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Перегляд списком\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Перегляд ґраткою\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Відкрити…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Головне меню\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Відкрити\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Меню бібліотеки\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Пошук у бібліотеці…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Назад\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Вперед\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Поки що книжок немає\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Відкрийте книгу, щоб почати читати\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Позиція\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Озвучення\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Залишилось часу в розділі\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Залишилось часу в книзі\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Сторінка\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Скопіювати та перейти\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Розділ\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Перший розділ\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Попередній розділ\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Перестрибнути до…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Наступний розділ\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Останній розділ\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Виділити\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Промовити звідси\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Копіювати з цитатою\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Копіювати ідентифікатор\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"Друкувати обране…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Швидкість\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Гучність\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Грати/Призупинити\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Зупинити\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Шрифт\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Розмір шрифту\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Стандартний розмір шрифту\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Мінімальний розмір шрифту\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Сімейство шрифту\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Стандартний шрифт\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Із засічками\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Без засічок\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Замінити шрифти видавця\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Шрифт із засічками\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Шрифт без засічок\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Моноширинний шрифт\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Макет\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Параграф\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Висота рядка\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Повне вирівнювання\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Перенесення слів\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Поля\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Максимальна кількість стовпців\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Максимальний вбудований розмір\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"\"\n\"Максимальна ширина стовпця (для горизонтального напису) або висота (для \"\n\"вертикального напису)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Максимальний розмір блоку\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"\"\n\"Максимальна висота (для горизонтального напису) або ширина (для \"\n\"вертикального напису)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Колір\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Поведінка\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Зменшити обсяг анімацій\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Переглядач електронних книг\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;pdf;книга;переглядач;читач;документ;електронна;читалка;пдф;єпаб;епаб;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Досліджуйте новий розділ читаючи з Foliate - сучасною читалкою електронних \"\n\"книг адаптованою для GNOME. Заглибтеся у читання з не відволікаючим \"\n\"інтерфейсом з налаштуваннями функцій під ваші особисті уподобання.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Можливості:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Вміє відкривати EPUB, Mobipocket, Kindle, FB2, CBZ, та PDF файли\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Посторінковий і режим гортання\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Налаштування шрифтів та міжстрочний інтервал\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Світлий, сепія, темний та інвертовані стилі\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Прогрес читання з підтримкою закладок\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Примітки та нотатки\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Пошук в книзі\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Швидкий пошук у словнику\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"\"\n\"Виправлено помилку, коли коли остання частина розділу була відрізана, якщо \"\n\"розділ починається з розриву сторінки\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Виправлена не коректний перенос тексту у таблицях\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Виправлені проблеми з швидкодією OPDS каталогів\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Додана підтримка OPDS каталогів, а також підтримка OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Додана опція, щоб замінити шрифти видавця\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Додана опція для зменшення кількості анімацій\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Додана підтримка JPEG XL зображень у CBZ архівах\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Виправлено отримання файлів із трекеру у Flatpak версії додатку\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Виправлені отримання дат із файлів\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate був переписаний з нуля з використанням нової бібліотеки рендеру \"\n\"електронних книг і найновіших бібліотек платформи, такі як GTK 4 та \"\n\"Libadwaita з оновленим інтерфейсом та покращеннями продуктивності.\"\n\n#~ msgid \"Book\"\n#~ msgstr \"Книга\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"Електронна книга\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"Читач\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"Переглядач\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"Налаштування\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"Налаштування\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"Клавіатурні скорочення\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"Налаштування\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"Показувати бічну панель\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"Зберегти файл\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"Змінити колір виділення\"\n\n#~ msgid \"More\"\n#~ msgstr \"Більше\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"Про цю книгу\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"Бічна панель\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"Відновити масштаб\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"Попередня сторінки\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"Перейти до попереднього розташування\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"Наступна сторінка\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"Вилучити поточну позицію\"\n"
  },
  {
    "path": "po/vi.po",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-11-24 06:52+0700\\n\"\n\"Last-Translator: Loc Huynh <huynhloc.contact@gmail.com>\\n\"\n\"Language-Team: \\n\"\n\"Language: vi\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 3.4.2\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"Đã xóa đánh dấu\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805 src/library.js:865\nmsgid \"Undo\"\nmsgstr \"Hoàn tác\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"Gạch chân\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"Gạch lượn sóng\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"Gạch giữa\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"Vàng\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"Cam\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"Đỏ\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"Hồng sẫm\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"Xanh lam\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"Xanh lá mạ\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"Màu tùy chỉnh…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"Tùy Chỉnh\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"Tệp JSON\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"Tất Cả Tệp\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"Không Có Chú Thích\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"Tệp đã nhập không có chú thích\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"Không Thể Nhập Chú Thích\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"Đã xảy ra lỗi\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"Bạn chưa có chú thích nào cho sách này\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"Chú thích cho “%s”\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d Chú Thích\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"Đóng\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11 src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"Hủy\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"Tệp E-Book\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6 data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"Đọc e-book một cách phong cách\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"Loc Huynh <huynhloc.contact@gmail.com>\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"Mã Nguồn\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"Nhà Xuất Bản\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"Phát Hành\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"Cập Nhật\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"Ngôn Ngữ\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"Dịch bởi\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"Biên tập bởI\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"Kể chuyện bởI\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"Minh họa bởi\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"Sản xuất bởi\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"Hình ảnh bởi\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"Tô màu bởi\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"Người Đóng Góp\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"Định Danh\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15 src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"Giới Thiệu Sách Này\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"Vị trí %s/%s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"Trang %s/%s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"Trang %s\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"Chú Thích Cuối Trang\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"Đi tới Chú Thích Cuối Trang\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"Chú Thích Cuối Sách\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"Đi tới Chú Thích Cuối Sách\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"Ghi Chú\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"Đi tới Ghi Chú\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"Định Nghĩa\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"Đi tới Định Nghĩa\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"Tài Liệu Tham Khảo\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"Đi tới Tài Liệu Tham Khảo\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"Xóa đánh dấu\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"Thêm đánh dấu\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"Không tìm thấy tệp\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"Loại tệp không được hỗ trợ\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"Đã xóa chú thích\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, tr. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, tr. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (tr. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"Hình ảnh từ “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"Hình ảnh\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"trong %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"Đang tải\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"Tải Thất Bại\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"Tải Lại\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"Xem Tất Cả\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"Tìm Kiếm\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"Lọc\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"Tải Xuống\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"Mua\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"Xem Trước\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"Mẫu\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"Mượn\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"Đăng Ký\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"Miễn Phí\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"Đầu Tiên\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"Trước\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"Tiếp\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"Cuối Cùng\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"Từ Khóa Tìm Kiếm\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"Tiêu Đề\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"Tác Giả\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"Người Đóng Góp\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"Xóa Sách?\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"Tiến độ đọc, chú thích và đánh dấu sẽ bị mất vĩnh viễn\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"_Hủy\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"_Xóa\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"Mở Thất Bại\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"Không thể mở tệp bằng ứng dụng đã chọn\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"Tải Xuống Thất Bại\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"Đổi Tên…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"Xóa\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"Đổi Tên\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"Tên\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"Tất Cả Sách\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"Thêm Danh Mục…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239 src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"Thư Viện\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"Danh Mục\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"Đã xóa Danh Mục\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"Thêm Danh Mục\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"Thêm\"\n\n#: src/library.js:957\nmsgid \"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.io\\\">Learn More…</a>\"\nmsgstr \"Bạn có thể duyệt và tải sách từ các danh mục OPDS. <a href=\\\"https://opds.io\\\">Tìm hiểu thêm…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"URL\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"Từ điển\"\n\n#: src/selection-tools.js:37\nmsgid \"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"Từ <a id=\\\"link\\\">Wiktionary</a>, được phát hành theo giấy phép <a href=\\\"https://creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"Không Tìm Thấy Định Nghĩa\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"Tìm trên Wiktionary\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"Wikipedia\"\n\n#: src/selection-tools.js:50\nmsgid \"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"Từ <a id=\\\"link\\\">Wikipedia</a>, được phát hành theo giấy phép <a href=\\\"https://en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License\\\">CC BY-SA</a>.\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"Tìm trên Wikipedia\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"Dịch\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"Dịch bởi Google Translate\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"Không thể lấy bản dịch\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"Tìm Kiếm…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"Mặc Định\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"Xám\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"Sepia\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"Xanh Cỏ\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"Hồng Anh Đào\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"Xanh Da Trời\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"Lỗi Chuyển Văn Bản Thành Giọng Nói\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"Hãy đảm bảo Speech Dispatcher đã được cài đặt và hoạt động trên hệ thống của bạn\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"Đã sao chép vào bộ nhớ tạm\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"Kiểu Highlight\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63 src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"Xóa\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79 src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"Thêm Ghi Chú…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"Mở trong Cửa Sổ Mới\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"Mở bằng Ứng Dụng Bên Ngoài\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"Xuất Chú Thích…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"Cửa Sổ Mới\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"Mở Một Bản Sao\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"Nhập Chú Thích…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"Giới Thiệu Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"Tất Cả Chương\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"Chương Hiện Tại\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"Chỉ Khớp Từ Hoàn Chỉnh\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"Phân Biệt Chữ HOA/thường\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"Phân Biệt Dấu\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"Cài Đặt Phông Chữ & Bố Cục\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"Chế Độ Cuộn\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"Đảo Màu trong Chế Độ Tối\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"Tự Động Ẩn Con Trỏ\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"In…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"Trình Kiểm Tra\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"Không Thể Mở Sách\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"Chi tiết\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"Mở Tệp Khác…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"Ghim Thanh Bên\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"Menu Sách\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"Tìm\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"Tìm trong sách…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"Nội Dung\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"Chú Thích\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"Chọn một đoạn văn bản để thêm chú thích\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"Lọc chú thích…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"Đánh Dấu\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"Không Có Đánh Dấu\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"Thêm một số đánh dấu để xem ở đây\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"Không Tìm Thấy Kết Quả\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"Thử tìm kiếm khác\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"Thanh Bên\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"Hiển Thị Menu\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"Thu Nhỏ\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"Đặt Lại Thu Phóng\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"Phóng To\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"Theo Kiểu Hệ Thống\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"Kiểu Sáng\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"Kiểu Tối\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"Toàn Màn Hình\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"Xuất Chú Thích\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"Xuất\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"Định Dạng\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"Chọn “JSON” nếu bạn định nhập lại chú thích vào Foliate\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"Sao Chép\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"Lưu Dưới Dạng…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"Xoay 90° ngược chiều kim đồng hồ\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"Xoay 90° theo chiều kim đồng hồ\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"Nhập Chú Thích\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"Nhập\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"Định danh không khớp. Các chú thích này có thể không dành cho sách này.\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"Vẫn Nhập\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"Xem Dạng Danh Sách\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"Xem Dạng Lưới\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"Mở…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"Menu Chính\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"Mở\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"Trình đơn thư viện\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"Tìm trong thư viện…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"Quay Lại\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"Tiến Tới\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"Chưa Có Sách\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"Mở một cuốn sách để bắt đầu đọc\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"Vị Trí\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"Đọc To\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"Thời Gian Còn Lại trong Chương\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"Thời Gian Còn Lại trong Sách\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"Trang\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"Dán và Đi Tới\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"Chương\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"Chương Đầu\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"Chương Trước\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"Nhảy Tới…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"Chương Tiếp\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"Chương Cuối\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"Highlight\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"Đọc to từ Đây\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"Sao Chép kèm Trích Dẫn\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"Sao Chép Định Danh\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"In Phần Đã Chọn…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"Tốc Độ\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"Âm Độ\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"Phát/Tạm Dừng\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"Dừng\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"Phông Chữ\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"Cỡ Chữ\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"Cỡ Chữ Mặc Định\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"Cỡ Chữ Tối Thiểu\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"Họ Phông Chữ\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"Phông Chữ Mặc Định\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"Có Chân\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"Không chân\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"Ghi Đè Phông Chữ Nhà Xuất Bản\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"Phông Chữ Có Chân\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"Phông chữ không chân\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"Phông chữ chiều rộng cố định\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"Bố cục\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"Đoạn văn\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"Chiều cao dòng\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"Căn đều hai bên\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"Ngắt từ\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"Lề\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"Số cột tối đa\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"Kích thước nội dòng tối đa\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"Chiều rộng cột tối đa (viết ngang) hoặc chiều cao (viết dọc)\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"Kích thước khối tối đa\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"Chiều cao tối đa (viết ngang) hoặc chiều rộng (viết dọc)\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"Màu sắc\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"Hành vi\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"Giảm hiệu ứng động\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"Trình xem e-book\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Sách điện tử;Sách;EPUB;Trình xem;Trình đọc;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"Discover a new chapter in reading with Foliate, the modern e-book reader tailored for GNOME. Immerse yourself in a distraction-free interface, with customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"Khám phá một chương mới trong việc đọc sách với Foliate – trình đọc e-book hiện đại được thiết kế dành riêng cho GNOME. Đắm mình trong giao diện không phiền nhiễu với các tính năng tùy chỉnh phù hợp với sở thích riêng của bạn.\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"Các tính năng bao gồm:\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"Mở các tệp EPUB, Mobipocket, Kindle, FB2, CBZ và PDF\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"Chế độ phân trang và chế độ cuộn\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"Tùy chỉnh phông chữ và khoảng cách dòng\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"Chế độ sáng, nâu sepia, tối và đảo màu\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"Thanh tiến độ đọc có đánh dấu chương\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"Đánh dấu và chú thích\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"Tìm trong sách\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"Tra từ điển nhanh\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"Sửa lỗi bị cắt nội dung cuối chương khi chương bắt đầu bằng ngắt trang\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"Sửa lỗi xuống dòng văn bản sai trong bảng\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"Sửa lỗi hiệu năng với danh mục OPDS\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"Thêm hỗ trợ danh mục OPDS, hiện hỗ trợ OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"Thêm tùy chọn ghi đè phông chữ của nhà xuất bản\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"Thêm tùy chọn giảm hiệu ứng động\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"Thêm hỗ trợ JPEG XL trong CBZ\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"Sửa lỗi lấy tệp từ Tracker trong Flatpak\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"Sửa lỗi phân tích ngày chỉ có năm thuộc thế kỷ đầu và trước Công nguyên\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"Foliate has been rewritten from scratch with a new e-book rendering library and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI and improved performance.\"\nmsgstr \"Foliate đã được viết lại hoàn toàn từ đầu với thư viện hiển thị e-book mới cùng các thư viện nền tảng mới nhất – GTK 4 và Libadwaita – mang đến giao diện được làm mới và hiệu năng cải thiện đáng kể.\"\n"
  },
  {
    "path": "po/zh_CN.po",
    "content": "# Simplified Chinese translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# 王滋涵 Zephyr Wang <wi24rd@fedoraproject.org>, 2020.\n# Tranquilo Chan <cdh4227@foxmail.com>, 2020-2021.\n# lumingzh <lumingzh@qq.com>, 2023-2025.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2025-04-04 10:17+0800\\n\"\n\"Last-Translator: lumingzh <lumingzh@qq.com>\\n\"\n\"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\\n\"\n\"Language: zh_CN\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Gtranslator 48.0\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"书签已删除\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"撤消\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"下划线\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"弯曲的\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"删除线\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"黄色\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"橙色\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"红色\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"品红\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"湖绿\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"青柠\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"自定义颜色…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"自定义\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON 文件\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"所有文件\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"无笔记\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"导入的文件没有笔记\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"无法导入笔记\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"发生了一个错误\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"您没有该书籍的任何笔记\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"“%s”的笔记\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d 条笔记\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"关闭\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"取消\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"电子书文件\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"别具风格地阅读电子书\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Tranquilo Chan <cdh4227@foxmail.com>, 2020-2021.\\n\"\n\"王滋涵 Zephyr Wang <wi24rd@fedoraproject.org>, 2020.\\n\"\n\"lumingzh <lumingzh@qq.com>, 2023-2025.\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"源代码\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"出版社\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"出版日期\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"更新日期\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"语言\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"翻译\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"编辑\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"朗读\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"插图\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"制作\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"美术\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"上色\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"贡献者\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"标识符\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"关于此书\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"行 %s 共 %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"页 %s 共 %s\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"第 %s 页\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"脚注\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"前往脚注\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"尾注\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"前往尾注\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"笔记\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"前往笔记\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"定义\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"前往定义\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"参考文献\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"前往参考文献\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"移除书签\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"添加书签\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"文件未找到\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"不支持的文件类型\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"笔记已删除\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"‘%s’ (p. %s)\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"‘%s’\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"图片来自 “%s”\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"图片\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"共 %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"加载中\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"加载失败\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"重新载入\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"查看全部\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"搜索\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"筛选器\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"下载\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"购买\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"预览\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"样品\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"借阅\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"订阅\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"免费\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"首页\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"上页\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"下页\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"尾页\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"搜索方式\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"标题\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"作者\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"贡献者\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"删除书籍吗？\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"阅读进度、笔记和书签将永远丢失\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"取消(_C)\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"移除(_R)\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"打开失败\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"无法使用选择的应用程序打开该文件\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"下载失败\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"重命名…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"移除\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"重命名\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"名称\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"所有书籍\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"添加书目…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"书库\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"书目\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"书目已移除\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"添加书目\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"添加\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"您可以从 OPDS 书目浏览和下载书籍。<a href=\\\"https://opds.io\\\">了解更多…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"网址\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"词典\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"来自 <a id=\\\"link\\\">Wiktionary</a>，以 <a href=\\\"https://creativecommons.org/\"\n\"licenses/by-sa/4.0/\\\">CC BY-SA 许可证</a>发布。\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"未找到定义\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"在 Wiktionary 上搜索\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"维基百科\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"来自 <a id=\\\"link\\\">Wikipedia</a>，以 <a href=\\\"https://en.wikipedia.org/\"\n\"wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA 许可证</a>发布。\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"在维基百科上搜索\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"翻译\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"由 Google Translate 翻译\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"无法获取翻译\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"搜索…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"默认\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"灰色\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"褐色\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"青草\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"樱桃\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"天空\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"Solarized\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"Gruvbox\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"Nord\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"文字转语音出错\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"请确保语音调度器已在您的系统上安装并工作正常\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"已复制到剪贴板\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"高亮样式\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"删除\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"菜单\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"添加笔记…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"在新窗口中打开\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"使用外部应用打开\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"导出笔记…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"新建窗口\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"打开副本\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"导入笔记…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"关于 Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"全部章节\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"当前章节\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"仅匹配整个词语\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"匹配大小写\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"匹配音符\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"字体和布局设置\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"滚动模式\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"暗色模式时反转颜色\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"自动隐藏指针\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"打印…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"检查器\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"书籍无法打开\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"详情\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"打开另一个文件…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"固定侧边栏\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"书籍菜单\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"查找\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"在书籍中查找…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"目录\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"笔记\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"选择一些文字来添加笔记\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"筛选笔记…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"书签\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"无书签\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"添加一些书签来在这里查看它们\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"未找到结果\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"尝试不同的搜索\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"侧边栏\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"视图菜单\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"缩小\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"重置缩放\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"放大\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"跟随系统样式\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"亮色样式\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"暗色样式\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"全屏\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"导出笔记\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"导出\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"格式\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"如果您计划将笔记导回 Foliate 请选择“JSON”\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org 模式\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"复制\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"另存为…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"逆时针旋转 90°\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"顺时针旋转 90°\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"导入笔记\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"导入\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"标识符不匹配。这些笔记可能不是该书籍的。\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"仍然导入\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"列表视图\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"网格视图\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"打开…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"主菜单\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"打开\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"书库菜单\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"搜索书库…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"返回\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"前进\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"尚无书籍\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"打开书籍开始阅读\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"位置\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"朗读\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"本章节剩余时间\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"本书籍剩余时间\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"页\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"粘贴并前往\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"章节\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"首个章节\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"上一章节\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"跳转至…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"下一章节\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"最后章节\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"高亮\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"从此处开始朗读\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"带引文复制\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"复制标识符\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"打印选区…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"语速\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"音高\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"播放/暂停\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"停止\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"字体\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"字体大小\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"默认字体大小\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"最小字体大小\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"字体家族\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"默认字体\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"无衬线\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"衬线\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"覆盖出版商字体\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"无衬线字体\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"衬线字体\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"等宽字体\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"布局\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"段落\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"行高\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"两端对齐\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"连字符\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"边界\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"最大栏数\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"最大内联大小\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"最大栏宽（横向书写）或栏高（竖向书写）\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"最大块大小\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"最大高度（横向书写）或宽度（竖向书写）\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"颜色\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"行为\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"减少动画\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"电子书查看器\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;电子书;图书;书籍;查看器;阅读器;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"使用 Foliate 这一为 GNOME 量身定做的现代电子书阅读器在阅读中发现新的篇章。通\"\n\"过设计为匹配您独特首选项的自定义特性，将您自己沉浸在无干扰的界面中。\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"特性包括：\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"打开 EPUB、Mobipocket、Kindle、FB2、CBZ 和 PDF 文件\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"分页模式和滚动模式\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"自定义字体和行间距\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"亮色、褐色、暗色和反转模式\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"带有章节标记的阅读进度滑动条\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"书签和笔记\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"书籍中查找\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"快速的词典查询\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"修复了章节以分页符起始时误判为章节末尾而截断内容的问题\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"修复了表格中文本未正确折行的问题\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"修复了 OPDS 书目的性能问题\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"添加了对 OPDS 2.0 与 OPDS 书目的支持\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"添加了覆盖出版商字体的选项\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"添加了减少动画的选项\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"添加了对 CBZ 中 JPEG XL 的支持\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"修复了 Flatpak 中从 Tracker 获取文件的问题\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"修复了对非纯年份公元一世纪和公元前日期的解析问题\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate 已从零重写，拥有新的电子书渲染库和最新的平台库、GTK 4 和 Libadwaita，\"\n\"带有重新设计的用户界面和性能提升。\"\n\n#~ msgid \"Book\"\n#~ msgstr \"书籍\"\n\n#~ msgid \"EPUB\"\n#~ msgstr \"EPUB\"\n\n#~ msgid \"Ebook\"\n#~ msgstr \"电子书\"\n\n#~ msgid \"Reader\"\n#~ msgstr \"阅读器\"\n\n#~ msgid \"Viewer\"\n#~ msgstr \"查看器\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"偏好设置\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"偏好设置\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"快捷键\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"偏好设置\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"朗读\"\n\n#, fuzzy\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"显示侧边栏\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"配音\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"保存文件\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"更改高亮颜色\"\n\n#~ msgid \"More\"\n#~ msgstr \"更多\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"关于此书\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"使用侧边栏\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"恢复默认缩放\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"上一页\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"上一位置\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"下一页\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"转到位置\"\n"
  },
  {
    "path": "po/zh_TW.po",
    "content": "# Traditional Chinese translations for com.github.johnfactotum.Foliate package.\n# Copyright (C) 2019 THE com.github.johnfactotum.Foliate'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the com.github.johnfactotum.Foliate package.\n# Automatically generated, 2019.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: com.github.johnfactotum.Foliate\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-11-28 11:04+0800\\n\"\n\"PO-Revision-Date: 2020-07-06 13:16+0800\\n\"\n\"Last-Translator: Peter Dave Hello\\n\"\n\"Language-Team: none\\n\"\n\"Language: zh_TW\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Generator: Poedit 2.3\\n\"\n\n#: src/annotations.js:137 src/annotations.js:172\nmsgid \"Bookmark deleted\"\nmsgstr \"書籤已刪除\"\n\n#: src/annotations.js:138 src/annotations.js:173 src/book-viewer.js:805\n#: src/library.js:865\nmsgid \"Undo\"\nmsgstr \"復原\"\n\n#: src/annotations.js:437\nmsgid \"Underline\"\nmsgstr \"底線\"\n\n#: src/annotations.js:438\nmsgid \"Squiggly\"\nmsgstr \"波浪線\"\n\n#: src/annotations.js:439\nmsgid \"Strikethrough\"\nmsgstr \"刪除線\"\n\n#: src/annotations.js:440\nmsgid \"Yellow\"\nmsgstr \"黃色\"\n\n#: src/annotations.js:441\nmsgid \"Orange\"\nmsgstr \"橘色\"\n\n#: src/annotations.js:442\nmsgid \"Red\"\nmsgstr \"紅色\"\n\n#: src/annotations.js:443\nmsgid \"Magenta\"\nmsgstr \"洋紅色\"\n\n#: src/annotations.js:444\nmsgid \"Aqua\"\nmsgstr \"水藍色\"\n\n#: src/annotations.js:445\nmsgid \"Lime\"\nmsgstr \"萊姆綠\"\n\n#: src/annotations.js:446\nmsgid \"Custom Color…\"\nmsgstr \"自訂顏色…\"\n\n#: src/annotations.js:498\nmsgid \"Custom\"\nmsgstr \"自訂\"\n\n#: src/annotations.js:592\nmsgid \"JSON Files\"\nmsgstr \"JSON 檔案\"\n\n#: src/annotations.js:597 src/app.js:149\nmsgid \"All Files\"\nmsgstr \"所有檔案\"\n\n#: src/annotations.js:606 src/annotations.js:634 src/ui/book-viewer.ui:402\nmsgid \"No Annotations\"\nmsgstr \"無註解\"\n\n#: src/annotations.js:607\nmsgid \"The imported file has no annotations\"\nmsgstr \"匯入的檔案中沒有任何註解\"\n\n#: src/annotations.js:625\nmsgid \"Cannot Import Annotations\"\nmsgstr \"無法匯入註解\"\n\n#: src/annotations.js:626 src/book-viewer.js:716 src/library.js:644\nmsgid \"An error occurred\"\nmsgstr \"發生錯誤\"\n\n#: src/annotations.js:635\nmsgid \"You don’t have any annotations for this book\"\nmsgstr \"您在這本書上沒有任何註解\"\n\n#: src/annotations.js:648\n#, javascript-format\nmsgid \"Annotations for “%s”\"\nmsgstr \"「%s」的註解\"\n\n#: src/annotations.js:649\n#, javascript-format\nmsgid \"%d Annotation\"\nmsgid_plural \"%d Annotations\"\nmsgstr[0] \"%d 則註解\"\n\n#: src/app.js:95 src/book-viewer.js:30\nmsgid \"Close\"\nmsgstr \"關閉\"\n\n#: src/app.js:112 src/library.js:50 src/ui/export-dialog.ui:11\n#: src/ui/import-dialog.ui:15\nmsgid \"Cancel\"\nmsgstr \"取消\"\n\n#: src/app.js:136\nmsgid \"E-Book Files\"\nmsgstr \"電子書檔案\"\n\n#: src/app.js:399 data/com.github.johnfactotum.Foliate.desktop.in:6\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:7\nmsgid \"Read e-books in style\"\nmsgstr \"風格化的電子書閱讀\"\n\n#. Translators: put your names here, one name per line\n#. they will be shown in the \"About\" dialog\n#: src/app.js:405\nmsgid \"translator-credits\"\nmsgstr \"\"\n\"Blan Chan\\n\"\n\"John Factotum\\n\"\n\"Peter Dave Hello\"\n\n#: src/app.js:414\nmsgid \"Source Code\"\nmsgstr \"原始碼\"\n\n#: src/book-info.js:133 src/library.js:75\nmsgid \"Publisher\"\nmsgstr \"出版\"\n\n#. Translators: this is the heading for the publication date\n#: src/book-info.js:135 src/library.js:76\nmsgid \"Published\"\nmsgstr \"出版日期\"\n\n#. Translators: this is the heading for the modified date\n#: src/book-info.js:137\nmsgid \"Updated\"\nmsgstr \"更新日期\"\n\n#: src/book-info.js:138 src/library.js:77\nmsgid \"Language\"\nmsgstr \"語言\"\n\n#: src/book-info.js:139\nmsgid \"Translated by\"\nmsgstr \"翻譯\"\n\n#: src/book-info.js:140\nmsgid \"Edited by\"\nmsgstr \"編輯\"\n\n#: src/book-info.js:141\nmsgid \"Narrated by\"\nmsgstr \"朗讀\"\n\n#: src/book-info.js:142\nmsgid \"Illustrated by\"\nmsgstr \"插畫\"\n\n#: src/book-info.js:143\nmsgid \"Produced by\"\nmsgstr \"製作\"\n\n#: src/book-info.js:144\nmsgid \"Artwork by\"\nmsgstr \"美術\"\n\n#: src/book-info.js:145\nmsgid \"Color by\"\nmsgstr \"上色\"\n\n#: src/book-info.js:146\nmsgid \"Contributors\"\nmsgstr \"貢獻者\"\n\n#: src/book-info.js:147 src/library.js:78 src/ui/navbar.ui:283\nmsgid \"Identifier\"\nmsgstr \"識別碼\"\n\n#: src/book-info.js:179 src/ui/book-item.ui:15 src/ui/book-row.ui:15\n#: src/ui/book-viewer.ui:368\nmsgid \"About This Book\"\nmsgstr \"關於此書\"\n\n#: src/book-viewer.js:27\n#, javascript-format\nmsgid \"Loc. %s of %s\"\nmsgstr \"位置 %s / %s\"\n\n#: src/book-viewer.js:28\n#, javascript-format\nmsgid \"Page %s of %s\"\nmsgstr \"第 %s 頁，共 %s 頁\"\n\n#: src/book-viewer.js:29\n#, javascript-format\nmsgid \"Page %s\"\nmsgstr \"第 %s 頁\"\n\n#: src/book-viewer.js:32\nmsgid \"Footnote\"\nmsgstr \"註腳\"\n\n#: src/book-viewer.js:33\nmsgid \"Go to Footnote\"\nmsgstr \"前往註腳\"\n\n#: src/book-viewer.js:34\nmsgid \"Endnote\"\nmsgstr \"章節附註\"\n\n#: src/book-viewer.js:35\nmsgid \"Go to Endnote\"\nmsgstr \"前往章節附註\"\n\n#: src/book-viewer.js:36\nmsgid \"Note\"\nmsgstr \"筆記\"\n\n#: src/book-viewer.js:37\nmsgid \"Go to Note\"\nmsgstr \"前往筆記\"\n\n#: src/book-viewer.js:38\nmsgid \"Definition\"\nmsgstr \"定義\"\n\n#: src/book-viewer.js:39\nmsgid \"Go to Definition\"\nmsgstr \"前往定義\"\n\n#: src/book-viewer.js:40\nmsgid \"Bibliography\"\nmsgstr \"參考書目\"\n\n#: src/book-viewer.js:41\nmsgid \"Go to Bibliography\"\nmsgstr \"前往參考書目\"\n\n#: src/book-viewer.js:622\nmsgid \"Remove bookmark\"\nmsgstr \"移除書籤\"\n\n#: src/book-viewer.js:623\nmsgid \"Add bookmark\"\nmsgstr \"新增書籤\"\n\n#: src/book-viewer.js:714\nmsgid \"File not found\"\nmsgstr \"找不到檔案\"\n\n#: src/book-viewer.js:715\nmsgid \"File type not supported\"\nmsgstr \"不支援的檔案類型\"\n\n#: src/book-viewer.js:804\nmsgid \"Annotation deleted\"\nmsgstr \"註解已刪除\"\n\n#: src/book-viewer.js:877\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”, p. %s\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—%s，《%s》，第 %s 頁\"\n\n#: src/book-viewer.js:879\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”, p. %s\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—《%s》，第 %s 頁\"\n\n#: src/book-viewer.js:880\n#, javascript-format\nmsgid \"‘%s’ (p. %s)\"\nmsgstr \"「%s」（第 %s 頁）\"\n\n#: src/book-viewer.js:883\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—%s, “%s”\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—%s，《%s》\"\n\n#: src/book-viewer.js:885\n#, javascript-format\nmsgid \"\"\n\"‘%s’\\n\"\n\"—“%s”\"\nmsgstr \"\"\n\"「%s」\\n\"\n\"—《%s》\"\n\n#: src/book-viewer.js:886\n#, javascript-format\nmsgid \"‘%s’\"\nmsgstr \"「%s」\"\n\n#: src/book-viewer.js:904\n#, javascript-format\nmsgid \"Image from “%s”\"\nmsgstr \"來自《%s》的圖片\"\n\n#: src/book-viewer.js:904\nmsgid \"Image\"\nmsgstr \"圖片\"\n\n#: src/format.js:127\n#, javascript-format\nmsgid \"of %d\"\nmsgstr \"共 %d\"\n\n#: src/library.js:47\nmsgid \"Loading\"\nmsgstr \"載入中\"\n\n#: src/library.js:48\nmsgid \"Failed to Load\"\nmsgstr \"載入失敗\"\n\n#: src/library.js:49 src/ui/book-viewer.ui:15\nmsgid \"Reload\"\nmsgstr \"重新載入\"\n\n#: src/library.js:51\nmsgid \"See All\"\nmsgstr \"查看全部\"\n\n#: src/library.js:52 src/ui/library.ui:124 src/ui/library.ui:182\nmsgid \"Search\"\nmsgstr \"搜尋\"\n\n#: src/library.js:53\nmsgid \"Filter\"\nmsgstr \"篩選\"\n\n#: src/library.js:55 src/library.js:57\nmsgid \"Download\"\nmsgstr \"下載\"\n\n#: src/library.js:56\nmsgid \"Buy\"\nmsgstr \"購買\"\n\n#: src/library.js:58\nmsgid \"Preview\"\nmsgstr \"預覽\"\n\n#: src/library.js:59\nmsgid \"Sample\"\nmsgstr \"試讀\"\n\n#: src/library.js:60\nmsgid \"Borrow\"\nmsgstr \"借閱\"\n\n#: src/library.js:61\nmsgid \"Subscribe\"\nmsgstr \"訂閱\"\n\n#: src/library.js:63\nmsgid \"Free\"\nmsgstr \"免費\"\n\n#: src/library.js:65\nmsgid \"First\"\nmsgstr \"第一頁\"\n\n#: src/library.js:66 src/ui/navbar.ui:8 src/ui/tts-box.ui:115\nmsgid \"Previous\"\nmsgstr \"上一頁\"\n\n#: src/library.js:67 src/ui/navbar.ui:124 src/ui/tts-box.ui:132\nmsgid \"Next\"\nmsgstr \"下一頁\"\n\n#: src/library.js:68\nmsgid \"Last\"\nmsgstr \"最後一頁\"\n\n#: src/library.js:70\nmsgid \"Search Terms\"\nmsgstr \"搜尋詞彙\"\n\n#: src/library.js:72\nmsgid \"Title\"\nmsgstr \"標題\"\n\n#: src/library.js:73\nmsgid \"Author\"\nmsgstr \"作者\"\n\n#: src/library.js:74\nmsgid \"Contributor\"\nmsgstr \"貢獻者\"\n\n#: src/library.js:438\nmsgid \"Remove Book?\"\nmsgstr \"要移除書籍嗎？\"\n\n#: src/library.js:439\nmsgid \"Reading progress, annotations, and bookmarks will be permanently lost\"\nmsgstr \"閱讀進度、註解和書籤將會永久被刪除\"\n\n#: src/library.js:441\nmsgid \"_Cancel\"\nmsgstr \"取消(_C)\"\n\n#: src/library.js:442\nmsgid \"_Remove\"\nmsgstr \"移除(_R)\"\n\n#: src/library.js:472\nmsgid \"Failed to Open\"\nmsgstr \"開啟失敗\"\n\n#: src/library.js:473\nmsgid \"Could not open the file with the selected application\"\nmsgstr \"無法使用所選擇的應用程式開啟檔案\"\n\n#: src/library.js:644\nmsgid \"Download Failed\"\nmsgstr \"下載失敗\"\n\n#: src/library.js:698\nmsgid \"Rename…\"\nmsgstr \"重新命名…\"\n\n#: src/library.js:699 src/ui/book-item.ui:25 src/ui/book-row.ui:25\nmsgid \"Remove\"\nmsgstr \"移除\"\n\n#: src/library.js:719 src/library.js:720\nmsgid \"Rename\"\nmsgstr \"重新命名\"\n\n#: src/library.js:725\nmsgid \"Name\"\nmsgstr \"名稱\"\n\n#: src/library.js:740\nmsgid \"All Books\"\nmsgstr \"所有書籍\"\n\n#: src/library.js:746\nmsgid \"Add Catalog…\"\nmsgstr \"新增目錄…\"\n\n#: src/library.js:813 src/ui/book-viewer.ui:130 src/ui/book-viewer.ui:239\n#: src/ui/library.ui:93\nmsgid \"Library\"\nmsgstr \"書庫\"\n\n#: src/library.js:821\nmsgid \"Catalogs\"\nmsgstr \"目錄\"\n\n#: src/library.js:864\nmsgid \"Catalog removed\"\nmsgstr \"目錄已移除\"\n\n#: src/library.js:951 src/library.js:956\nmsgid \"Add Catalog\"\nmsgstr \"新增目錄\"\n\n#: src/library.js:952\nmsgid \"Add\"\nmsgstr \"新增\"\n\n#: src/library.js:957\nmsgid \"\"\n\"You can browse and download books from OPDS catalogs. <a href=\\\"https://opds.\"\n\"io\\\">Learn More…</a>\"\nmsgstr \"\"\n\"您可以從 OPDS 目錄瀏覽和下載書籍。<a href=\\\"https://opds.io\\\">了解更多…</a>\"\n\n#: src/library.js:961\nmsgid \"URL\"\nmsgstr \"網址\"\n\n#. Translators: Do NOT translate! The is the application name!\n#: src/main.js:28 data/com.github.johnfactotum.Foliate.desktop.in:4\nmsgid \"Foliate\"\nmsgstr \"Foliate\"\n\n#: src/selection-tools.js:33\nmsgid \"Dictionary\"\nmsgstr \"字典\"\n\n#: src/selection-tools.js:37\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wiktionary</a>, released under the <a href=\\\"https://\"\n\"creativecommons.org/licenses/by-sa/4.0/\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"來自 <a id=\\\"link\\\">維基詞典</a>，以 <a href=\\\"https://creativecommons.org/\"\n\"licenses/by-sa/4.0/\\\">CC BY-SA 授權條款</a>釋出。\"\n\n#: src/selection-tools.js:38 src/selection-tools.js:51\nmsgid \"No Definitions Found\"\nmsgstr \"找不到定義\"\n\n#: src/selection-tools.js:39\nmsgid \"Search on Wiktionary\"\nmsgstr \"在維基詞典上搜尋\"\n\n#: src/selection-tools.js:46\nmsgid \"Wikipedia\"\nmsgstr \"維基百科\"\n\n#: src/selection-tools.js:50\nmsgid \"\"\n\"From <a id=\\\"link\\\">Wikipedia</a>, released under the <a href=\\\"https://en.\"\n\"wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-\"\n\"ShareAlike_4.0_International_License\\\">CC BY-SA License</a>.\"\nmsgstr \"\"\n\"來自 <a id=\\\"link\\\">維基百科</a>，以 <a href=\\\"https://en.wikipedia.org/wiki/\"\n\"Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_\"\n\"License\\\">CC BY-SA 授權條款</a>釋出。\"\n\n#: src/selection-tools.js:52\nmsgid \"Search on Wikipedia\"\nmsgstr \"在維基百科上搜尋\"\n\n#: src/selection-tools.js:59\nmsgid \"Translate\"\nmsgstr \"翻譯\"\n\n#: src/selection-tools.js:65\nmsgid \"Translation by Google Translate\"\nmsgstr \"由 Google 翻譯提供翻譯\"\n\n#: src/selection-tools.js:66\nmsgid \"Cannot retrieve translation\"\nmsgstr \"無法取得翻譯\"\n\n#: src/selection-tools.js:67\nmsgid \"Search…\"\nmsgstr \"搜尋…\"\n\n#: src/themes.js:8\nmsgid \"Default\"\nmsgstr \"預設\"\n\n#: src/themes.js:13\nmsgid \"Gray\"\nmsgstr \"灰色\"\n\n#: src/themes.js:18\nmsgid \"Sepia\"\nmsgstr \"棕褐色\"\n\n#: src/themes.js:23\nmsgid \"Grass\"\nmsgstr \"草綠色\"\n\n#: src/themes.js:28\nmsgid \"Cherry\"\nmsgstr \"櫻桃色\"\n\n#: src/themes.js:33\nmsgid \"Sky\"\nmsgstr \"天藍色\"\n\n#: src/themes.js:38\nmsgid \"Solarized\"\nmsgstr \"曬書紙\"\n\n#: src/themes.js:43\nmsgid \"Gruvbox\"\nmsgstr \"復古盒\"\n\n#: src/themes.js:48\nmsgid \"Nord\"\nmsgstr \"極光\"\n\n#: src/tts.js:117\nmsgid \"Text-to-Speech Error\"\nmsgstr \"文字轉語音錯誤\"\n\n#: src/tts.js:118\nmsgid \"Make sure Speech Dispatcher is installed and working on your system\"\nmsgstr \"請確認您的系統已安裝 Speech Dispatcher 且運作正常\"\n\n#: src/utils.js:168\nmsgid \"Copied to clipboard\"\nmsgstr \"已複製到剪貼簿\"\n\n#: src/ui/annotation-popover.ui:13\nmsgid \"Highlight Style\"\nmsgstr \"醒目顯示樣式\"\n\n#: src/ui/annotation-popover.ui:20 src/ui/annotation-row.ui:63\n#: src/ui/bookmark-row.ui:33\nmsgid \"Delete\"\nmsgstr \"刪除\"\n\n#: src/ui/annotation-popover.ui:28 src/ui/book-item.ui:65 src/ui/book-row.ui:79\n#: src/ui/image-viewer.ui:62\nmsgid \"Menu\"\nmsgstr \"選單\"\n\n#: src/ui/annotation-popover.ui:47\nmsgid \"Add Note…\"\nmsgstr \"新增筆記…\"\n\n#: src/ui/book-item.ui:5 src/ui/book-row.ui:5\nmsgid \"Open in New Window\"\nmsgstr \"在新視窗開啟\"\n\n#: src/ui/book-item.ui:9 src/ui/book-row.ui:9\nmsgid \"Open with External App\"\nmsgstr \"使用外部應用程式開啟\"\n\n#: src/ui/book-item.ui:19 src/ui/book-row.ui:19 src/ui/book-viewer.ui:25\nmsgid \"Export Annotations…\"\nmsgstr \"匯出註解…\"\n\n#: src/ui/book-viewer.ui:5\nmsgid \"New Window\"\nmsgstr \"新視窗\"\n\n#: src/ui/book-viewer.ui:11\nmsgid \"Open a Copy\"\nmsgstr \"開啟副本\"\n\n#: src/ui/book-viewer.ui:21\nmsgid \"Import Annotations…\"\nmsgstr \"匯入註解…\"\n\n#: src/ui/book-viewer.ui:37 src/ui/library.ui:42\nmsgid \"About Foliate\"\nmsgstr \"關於 Foliate\"\n\n#: src/ui/book-viewer.ui:45\nmsgid \"All Sections\"\nmsgstr \"所有章節\"\n\n#: src/ui/book-viewer.ui:50\nmsgid \"Current Section\"\nmsgstr \"目前章節\"\n\n#: src/ui/book-viewer.ui:57\nmsgid \"Match Whole Words Only\"\nmsgstr \"只符合完整單字\"\n\n#: src/ui/book-viewer.ui:61\nmsgid \"Match Case\"\nmsgstr \"區分大小寫\"\n\n#: src/ui/book-viewer.ui:65\nmsgid \"Match Diacritics\"\nmsgstr \"符合變音符號\"\n\n#: src/ui/book-viewer.ui:83\nmsgid \"Font & Layout Settings\"\nmsgstr \"字型與版面設定\"\n\n#: src/ui/book-viewer.ui:89\nmsgid \"Scrolled Mode\"\nmsgstr \"捲動模式\"\n\n#: src/ui/book-viewer.ui:93\nmsgid \"Invert Colors in Dark Mode\"\nmsgstr \"在深色模式反轉顏色\"\n\n#: src/ui/book-viewer.ui:97\nmsgid \"Autohide Cursor\"\nmsgstr \"自動隱藏游標\"\n\n#: src/ui/book-viewer.ui:103\nmsgid \"Print…\"\nmsgstr \"列印…\"\n\n#: src/ui/book-viewer.ui:107\nmsgid \"Inspector\"\nmsgstr \"檢查器\"\n\n#: src/ui/book-viewer.ui:167\nmsgid \"Book Cannot Be Opened\"\nmsgstr \"無法開啟書籍\"\n\n#: src/ui/book-viewer.ui:177\nmsgid \"Details\"\nmsgstr \"詳細資訊\"\n\n#: src/ui/book-viewer.ui:193\nmsgid \"Open Another File…\"\nmsgstr \"開啟其他檔案…\"\n\n#: src/ui/book-viewer.ui:245\nmsgid \"Pin Sidebar\"\nmsgstr \"釘選側邊欄\"\n\n#: src/ui/book-viewer.ui:253\nmsgid \"Book Menu\"\nmsgstr \"書籍選單\"\n\n#: src/ui/book-viewer.ui:260 src/ui/selection-popover.ui:17\nmsgid \"Find\"\nmsgstr \"尋找\"\n\n#: src/ui/book-viewer.ui:276\nmsgid \"Find in book…\"\nmsgstr \"在書中尋找…\"\n\n#: src/ui/book-viewer.ui:313\nmsgid \"Contents\"\nmsgstr \"目錄\"\n\n#: src/ui/book-viewer.ui:391\nmsgid \"Annotations\"\nmsgstr \"註解\"\n\n#: src/ui/book-viewer.ui:403\nmsgid \"Select some text to add annotations\"\nmsgstr \"選取文字以新增註解\"\n\n#: src/ui/book-viewer.ui:433\nmsgid \"Filter annotations…\"\nmsgstr \"篩選註解…\"\n\n#: src/ui/book-viewer.ui:447\nmsgid \"Bookmarks\"\nmsgstr \"書籤\"\n\n#: src/ui/book-viewer.ui:458\nmsgid \"No Bookmarks\"\nmsgstr \"無書籤\"\n\n#: src/ui/book-viewer.ui:459\nmsgid \"Add some bookmarks to see them here\"\nmsgstr \"新增書籤後，它們會顯示在這裡\"\n\n#: src/ui/book-viewer.ui:498 src/ui/library-view.ui:42\nmsgid \"No Results Found\"\nmsgstr \"找不到結果\"\n\n#: src/ui/book-viewer.ui:499 src/ui/library-view.ui:43\nmsgid \"Try a different search\"\nmsgstr \"嘗試不同的搜尋\"\n\n#: src/ui/book-viewer.ui:542 src/ui/library.ui:102 src/ui/library.ui:160\nmsgid \"Sidebar\"\nmsgstr \"側邊欄\"\n\n#: src/ui/book-viewer.ui:556\nmsgid \"View Menu\"\nmsgstr \"檢視選單\"\n\n#: src/ui/book-viewer.ui:569 src/ui/image-viewer.ui:41\nmsgid \"Zoom Out\"\nmsgstr \"縮小\"\n\n#: src/ui/book-viewer.ui:576 src/ui/image-viewer.ui:48\nmsgid \"Reset Zoom\"\nmsgstr \"重設縮放\"\n\n#: src/ui/book-viewer.ui:585 src/ui/image-viewer.ui:55\nmsgid \"Zoom In\"\nmsgstr \"放大\"\n\n#: src/ui/book-viewer.ui:601\nmsgid \"Follow System Style\"\nmsgstr \"依照系統樣式\"\n\n#: src/ui/book-viewer.ui:611\nmsgid \"Light Style\"\nmsgstr \"淺色樣式\"\n\n#: src/ui/book-viewer.ui:621\nmsgid \"Dark Style\"\nmsgstr \"深色樣式\"\n\n#: src/ui/book-viewer.ui:636 src/ui/library.ui:26\nmsgid \"Fullscreen\"\nmsgstr \"全螢幕\"\n\n#: src/ui/export-dialog.ui:5\nmsgid \"Export Annotations\"\nmsgstr \"匯出註解\"\n\n#: src/ui/export-dialog.ui:16\nmsgid \"Export\"\nmsgstr \"匯出\"\n\n#: src/ui/export-dialog.ui:28\nmsgid \"Format\"\nmsgstr \"格式\"\n\n#: src/ui/export-dialog.ui:29\nmsgid \"Choose “JSON” if you plan on importing annotations back to Foliate\"\nmsgstr \"如果您預計將註解匯回 Foliate，請選擇「JSON」\"\n\n#: src/ui/export-dialog.ui:33\nmsgid \"JSON\"\nmsgstr \"JSON\"\n\n#: src/ui/export-dialog.ui:34\nmsgid \"HTML\"\nmsgstr \"HTML\"\n\n#: src/ui/export-dialog.ui:35\nmsgid \"Markdown\"\nmsgstr \"Markdown\"\n\n#: src/ui/export-dialog.ui:36\nmsgid \"Org Mode\"\nmsgstr \"Org Mode\"\n\n#: src/ui/image-viewer.ui:6 src/ui/navbar.ui:302 src/ui/selection-popover.ui:7\nmsgid \"Copy\"\nmsgstr \"複製\"\n\n#: src/ui/image-viewer.ui:10\nmsgid \"Save As…\"\nmsgstr \"另存新檔…\"\n\n#: src/ui/image-viewer.ui:25\nmsgid \"Rotate 90° Counter-Clockwise\"\nmsgstr \"逆時針旋轉 90 度\"\n\n#: src/ui/image-viewer.ui:32\nmsgid \"Rotate 90° Clockwise\"\nmsgstr \"順時針旋轉 90 度\"\n\n#: src/ui/import-dialog.ui:7\nmsgid \"Import Annotations\"\nmsgstr \"匯入註解\"\n\n#: src/ui/import-dialog.ui:21\nmsgid \"Import\"\nmsgstr \"匯入\"\n\n#: src/ui/import-dialog.ui:33\nmsgid \"\"\n\"The identifier doesn’t match. These annotations may not be for this book.\"\nmsgstr \"識別碼不符。這些註解可能不屬於這本書。\"\n\n#: src/ui/import-dialog.ui:34\nmsgid \"Import Anyway\"\nmsgstr \"仍要匯入\"\n\n#: src/ui/library.ui:6\nmsgid \"List View\"\nmsgstr \"清單檢視\"\n\n#: src/ui/library.ui:11\nmsgid \"Grid View\"\nmsgstr \"網格檢視\"\n\n#: src/ui/library.ui:20 src/ui/library-view.ui:27\nmsgid \"Open…\"\nmsgstr \"開啟…\"\n\n#: src/ui/library.ui:67\nmsgid \"Main Menu\"\nmsgstr \"主選單\"\n\n#: src/ui/library.ui:110\nmsgid \"Open\"\nmsgstr \"開啟\"\n\n#: src/ui/library.ui:117\nmsgid \"Library Menu\"\nmsgstr \"書庫選單\"\n\n#: src/ui/library.ui:134\nmsgid \"Search library…\"\nmsgstr \"搜尋書庫…\"\n\n#: src/ui/library.ui:168 src/ui/navbar.ui:22\nmsgid \"Back\"\nmsgstr \"返回\"\n\n#: src/ui/library.ui:175 src/ui/navbar.ui:36\nmsgid \"Forward\"\nmsgstr \"往前\"\n\n#: src/ui/library-view.ui:21\nmsgid \"No Books Yet\"\nmsgstr \"尚無書籍\"\n\n#: src/ui/library-view.ui:22\nmsgid \"Open a book to start reading\"\nmsgstr \"開啟書籍以開始閱讀\"\n\n#: src/ui/navbar.ui:62 src/ui/navbar.ui:253\nmsgid \"Location\"\nmsgstr \"位置\"\n\n#: src/ui/navbar.ui:91\nmsgid \"Narration\"\nmsgstr \"朗讀\"\n\n#: src/ui/navbar.ui:162\nmsgid \"Time Left in Section\"\nmsgstr \"章節剩餘時間\"\n\n#: src/ui/navbar.ui:192\nmsgid \"Time Left in Book\"\nmsgstr \"全書剩餘時間\"\n\n#: src/ui/navbar.ui:226 src/ui/view-preferences-window.ui:159\nmsgid \"Page\"\nmsgstr \"頁面\"\n\n#: src/ui/navbar.ui:309\nmsgid \"Paste and Go\"\nmsgstr \"貼上並前往\"\n\n#: src/ui/navbar.ui:322\nmsgid \"Section\"\nmsgstr \"章節\"\n\n#: src/ui/navbar.ui:388\nmsgid \"First Section\"\nmsgstr \"第一章節\"\n\n#: src/ui/navbar.ui:397\nmsgid \"Previous Section\"\nmsgstr \"上一章節\"\n\n#: src/ui/navbar.ui:405\nmsgid \"Jump To…\"\nmsgstr \"跳至…\"\n\n#: src/ui/navbar.ui:414\nmsgid \"Next Section\"\nmsgstr \"下一章節\"\n\n#: src/ui/navbar.ui:423\nmsgid \"Last Section\"\nmsgstr \"最後一章節\"\n\n#: src/ui/selection-popover.ui:12\nmsgid \"Highlight\"\nmsgstr \"醒目顯示\"\n\n#: src/ui/selection-popover.ui:30\nmsgid \"Speak from Here\"\nmsgstr \"從這裡開始朗讀\"\n\n#: src/ui/selection-popover.ui:36\nmsgid \"Copy with Citation\"\nmsgstr \"複製並加上引用\"\n\n#: src/ui/selection-popover.ui:40\nmsgid \"Copy Identifier\"\nmsgstr \"複製識別碼\"\n\n#: src/ui/selection-popover.ui:44\nmsgid \"Print Selection…\"\nmsgstr \"列印選取範圍…\"\n\n#: src/ui/tts-box.ui:34\nmsgid \"Speed\"\nmsgstr \"速度\"\n\n#: src/ui/tts-box.ui:67\nmsgid \"Pitch\"\nmsgstr \"音調\"\n\n#: src/ui/tts-box.ui:123\nmsgid \"Play/Pause\"\nmsgstr \"播放/暫停\"\n\n#: src/ui/tts-box.ui:141\nmsgid \"Stop\"\nmsgstr \"停止\"\n\n#: src/ui/view-preferences-window.ui:5\nmsgid \"Font\"\nmsgstr \"字型\"\n\n#: src/ui/view-preferences-window.ui:9\nmsgid \"Font Size\"\nmsgstr \"字型大小\"\n\n#: src/ui/view-preferences-window.ui:12\nmsgid \"Default Font Size\"\nmsgstr \"預設字型大小\"\n\n#: src/ui/view-preferences-window.ui:25\nmsgid \"Minimum Font Size\"\nmsgstr \"最小字型大小\"\n\n#: src/ui/view-preferences-window.ui:40\nmsgid \"Font Family\"\nmsgstr \"字型家族\"\n\n#: src/ui/view-preferences-window.ui:43\nmsgid \"Default Font\"\nmsgstr \"預設字型\"\n\n#: src/ui/view-preferences-window.ui:47\nmsgid \"Serif\"\nmsgstr \"襯線體\"\n\n#: src/ui/view-preferences-window.ui:48\nmsgid \"Sans-serif\"\nmsgstr \"無襯線體\"\n\n#: src/ui/view-preferences-window.ui:56\nmsgid \"Override Publisher Font\"\nmsgstr \"覆蓋出版商字型\"\n\n#: src/ui/view-preferences-window.ui:71\nmsgid \"Serif Font\"\nmsgstr \"襯線體字型\"\n\n#: src/ui/view-preferences-window.ui:84\nmsgid \"Sans-Serif Font\"\nmsgstr \"無襯線體字型\"\n\n#: src/ui/view-preferences-window.ui:97\nmsgid \"Monospace Font\"\nmsgstr \"等寬字型\"\n\n#: src/ui/view-preferences-window.ui:114\nmsgid \"Layout\"\nmsgstr \"版面配置\"\n\n#: src/ui/view-preferences-window.ui:118\nmsgid \"Paragraph\"\nmsgstr \"段落\"\n\n#: src/ui/view-preferences-window.ui:121\nmsgid \"Line Height\"\nmsgstr \"行高\"\n\n#: src/ui/view-preferences-window.ui:135\nmsgid \"Full Justification\"\nmsgstr \"左右對齊\"\n\n#: src/ui/view-preferences-window.ui:146\nmsgid \"Hyphenation\"\nmsgstr \"連字號\"\n\n#: src/ui/view-preferences-window.ui:162\nmsgid \"Margins\"\nmsgstr \"邊界\"\n\n#: src/ui/view-preferences-window.ui:176\nmsgid \"Maximum Number of Columns\"\nmsgstr \"最大欄數\"\n\n#: src/ui/view-preferences-window.ui:189\nmsgid \"Maximum Inline Size\"\nmsgstr \"最大內容寬度\"\n\n#: src/ui/view-preferences-window.ui:190\nmsgid \"Maximum column width (horizontal writing) or height (vertical writing)\"\nmsgstr \"最大欄寬（橫書）或高度（直書）\"\n\n#: src/ui/view-preferences-window.ui:203\nmsgid \"Maximum Block Size\"\nmsgstr \"最大區塊大小\"\n\n#: src/ui/view-preferences-window.ui:204\nmsgid \"Maximum height (horizontal writing) or width (vertical writing)\"\nmsgstr \"最大高度（橫書）或寬度（直書）\"\n\n#: src/ui/view-preferences-window.ui:221\nmsgid \"Color\"\nmsgstr \"顏色\"\n\n#: src/ui/view-preferences-window.ui:240\nmsgid \"Behavior\"\nmsgstr \"行為\"\n\n#: src/ui/view-preferences-window.ui:246\nmsgid \"Reduce Animation\"\nmsgstr \"減少動畫效果\"\n\n#: data/com.github.johnfactotum.Foliate.desktop.in:5\nmsgid \"E-Book Viewer\"\nmsgstr \"電子書閱讀器\"\n\n#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!\n#: data/com.github.johnfactotum.Foliate.desktop.in:14\nmsgid \"Ebook;Book;EPUB;Viewer;Reader;\"\nmsgstr \"Ebook;Book;EPUB;Viewer;Reader;電子書;書;EPUB;檢視器;閱讀器;\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:10\nmsgid \"\"\n\"Discover a new chapter in reading with Foliate, the modern e-book reader \"\n\"tailored for GNOME. Immerse yourself in a distraction-free interface, with \"\n\"customization features designed to match your unique preferences.\"\nmsgstr \"\"\n\"使用 Foliate 展開嶄新的閱讀篇章，這是一款為 GNOME 量身打造的現代化電子書閱讀器。\"\n\"讓您沉浸在無干擾的介面中，並提供可依您個人喜好設定的自訂功能。\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:11\nmsgid \"Features include:\"\nmsgstr \"功能特色：\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:13\nmsgid \"Open EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files\"\nmsgstr \"開啟 EPUB、Mobipocket、Kindle、FB2、CBZ 與 PDF 格式的檔案\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:14\nmsgid \"Paginated mode and scrolled mode\"\nmsgstr \"分頁模式與捲動模式\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:15\nmsgid \"Customize font and line-spacing\"\nmsgstr \"自訂字型與行距\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:16\nmsgid \"Light, sepia, dark, and invert mode\"\nmsgstr \"淺色、深褐色、深色與反轉顏色模式\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:17\nmsgid \"Reading progress slider with chapter marks\"\nmsgstr \"帶有章節標記的閱讀進度滑桿\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:18\nmsgid \"Bookmarks and annotations\"\nmsgstr \"書籤與註解\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:19\nmsgid \"Find in book\"\nmsgstr \"在書中尋找\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:20\nmsgid \"Quick dictionary lookup\"\nmsgstr \"字典速查\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:55\nmsgid \"Fixed end of chapter cut off when chapter starts with page break\"\nmsgstr \"修正章節以分頁符號開始時章節結尾會被截斷的問題\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:56\nmsgid \"Fixed incorrect text wrapping in tables\"\nmsgstr \"修正表格中不正確的文字換行\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:57\nmsgid \"Fixed a performance issue with OPDS catalogs\"\nmsgstr \"修正 OPDS 目錄的效能問題\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:64\nmsgid \"Added support for OPDS catalogs, now with support for OPDS 2.0\"\nmsgstr \"新增對 OPDS 目錄的支援，現在已支援 OPDS 2.0\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:65\nmsgid \"Added option to override publisher font\"\nmsgstr \"新增覆蓋出版商字型的選項\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:66\nmsgid \"Added option to reduce animation\"\nmsgstr \"新增減少動畫效果的選項\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:67\nmsgid \"Added support for JPEG XL in CBZ\"\nmsgstr \"新增對 CBZ 中 JPEG XL 格式的支援\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:68\nmsgid \"Fixed getting file from Tracker in Flatpak\"\nmsgstr \"修正從 Flatpak 中的 Tracker 取得檔案的問題\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:69\nmsgid \"Fixed parsing of non-year-only first-century and BCE dates\"\nmsgstr \"修正解析非僅年份的一世紀和西元前日期的問題\"\n\n#: data/com.github.johnfactotum.Foliate.metainfo.xml.in:76\nmsgid \"\"\n\"Foliate has been rewritten from scratch with a new e-book rendering library \"\n\"and the latest platform libraries, GTK 4 and Libadwaita, with refreshed UI \"\n\"and improved performance.\"\nmsgstr \"\"\n\"Foliate 已使用全新的電子書渲染及平台函式庫 GTK 4 與 Libadwaita 從頭開始重寫，\"\n\"帶來煥然一新的使用者介面和效能提升。\"\n\n#, fuzzy\n#~ msgid \"Book\"\n#~ msgstr \"書籍選單\"\n\n#, fuzzy\n#~ msgid \"Viewer\"\n#~ msgstr \"檢視選單\"\n\n#~ msgid \"John Factotum\"\n#~ msgstr \"John Factotum\"\n\n#, fuzzy\n#~ msgid \"Reference\"\n#~ msgstr \"偏好設定\"\n\n#, fuzzy\n#~ msgid \"Go to Reference\"\n#~ msgstr \"偏好設定\"\n\n#~ msgid \"Keyboard Shortcuts\"\n#~ msgstr \"鍵盤快捷鍵\"\n\n#~ msgid \"Preferences\"\n#~ msgstr \"偏好設定\"\n\n#~ msgid \"Speak\"\n#~ msgstr \"朗讀\"\n\n#~ msgid \"Fold Sidebar\"\n#~ msgstr \"折疊側邊欄\"\n\n#~ msgid \"OK\"\n#~ msgstr \"確定\"\n\n#, fuzzy\n#~ msgid \"Voice\"\n#~ msgstr \"配音\"\n\n#~ msgid \"Start Speaking\"\n#~ msgstr \"開始朗讀\"\n\n#~ msgid \"Stop Speaking\"\n#~ msgstr \"停止朗讀\"\n\n#~ msgid \"Save File\"\n#~ msgstr \"儲存檔案\"\n\n#, fuzzy\n#~ msgid \"Choose highlight style\"\n#~ msgstr \"更改標示顏色\"\n\n#~ msgid \"More\"\n#~ msgstr \"更多\"\n\n#, fuzzy\n#~ msgid \"About this book\"\n#~ msgstr \"關於這本書\"\n\n#, fuzzy\n#~ msgid \"Toggle sidebar\"\n#~ msgstr \"使用側邊欄\"\n\n#~ msgid \"Restore zoom\"\n#~ msgstr \"重設縮放\"\n\n#~ msgid \"Go to previous page\"\n#~ msgstr \"前往上一頁\"\n\n#~ msgid \"Go back to previous location\"\n#~ msgstr \"返回先前位置\"\n\n#, fuzzy\n#~ msgid \"Go to next section\"\n#~ msgstr \"前往下一頁\"\n\n#, fuzzy\n#~ msgid \"Go to last section\"\n#~ msgstr \"前往位置\"\n"
  },
  {
    "path": "snapcraft.yaml",
    "content": "name: foliate\ngrade: stable\nadopt-info: foliate\nlicense: GPL-3.0+\nbase: core24\nconfinement: strict\ncompression: lzo\nplatforms:\n  amd64:\n  arm64:\n  armhf:\nlayout:\n  /usr/lib/$CRAFT_ARCH_TRIPLET/webkitgtk-6.0:\n    bind: $SNAP/webkitgtk-platform/usr/lib/$CRAFT_ARCH_TRIPLET/webkitgtk-6.0\nslots:\n  foliate:\n    interface: dbus\n    bus: session\n    name: com.github.johnfactotum.Foliate\nplugs:\n  webkitgtk-6-gnome-2404:\n    interface: content\n    target: $SNAP/webkitgtk-platform\n    default-provider: webkitgtk-6-gnome-2404\napps:\n  foliate:\n    command: usr/bin/foliate\n    extensions:\n      - gnome\n    plugs:\n      - home\n      - removable-media\n      - network\n      - network-status\n      - unity7\n      - audio-playback\n    desktop: usr/share/applications/com.github.johnfactotum.Foliate.desktop\n    common-id: com.github.johnfactotum.Foliate\n    environment:\n      SPEECHD_ADDRESS: \"unix_socket:/run/user/$SNAP_UID/speech-dispatcher/speechd.sock\"\n      LD_LIBRARY_PATH: $SNAP/webkitgtk-platform/usr/lib:$SNAP/webkitgtk-platform/usr/lib/$CRAFT_ARCH_TRIPLET:$LD_LIBRARY_PATH\n      GI_TYPELIB_PATH: $SNAP/gnome-platform/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:$SNAP/gnome-platform/usr/lib/$CRAFT_ARCH_TRIPLET/gjs/girepository-1.0:$SNAP/webkitgtk-platform/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0\nparts:\n  foliate:\n    plugin: meson\n    source: https://github.com/johnfactotum/foliate.git\n    source-tag: '3.3.0'\n    build-environment:\n      - PKG_CONFIG_PATH: /snap/webkitgtk-6-gnome-2404-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig:$PKG_CONFIG_PATH\n    meson-parameters:\n      - --prefix=/snap/foliate/current/usr\n    override-pull: |\n      craftctl default\n      sed -i '1c#!/snap/foliate/current/gnome-platform/usr/bin/gjs -m' src/main.js\n    build-packages:\n      - xmlstarlet\n    build-snaps:\n      - webkitgtk-6-gnome-2404-sdk/latest/stable\n    parse-info:\n      - usr/share/metainfo/com.github.johnfactotum.Foliate.metainfo.xml\n    organize:\n      snap/foliate/current/usr: usr\n  deps:\n    plugin: nil\n    stage-packages:\n      - libspeechd2 # probably necessary, need testing\n    prime:\n      - usr/lib/*/libspeechd.so.*\n\n"
  },
  {
    "path": "src/annotations.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport Gio from 'gi://Gio'\nimport GObject from 'gi://GObject'\nimport { gettext as _, ngettext } from 'gettext'\nimport * as utils from './utils.js'\nimport * as CFI from './foliate-js/epubcfi.js'\nimport { vprintf, locales } from './format.js'\n\nconst Bookmark = utils.makeDataClass('FoliateBookmark', {\n    'value': 'string',\n    'label': 'string',\n})\n\nconst Annotation = utils.makeDataClass('FoliateAnnotation', {\n    'value': 'string',\n    'color': 'string',\n    'text': 'string',\n    'note': 'string',\n    'created': 'string',\n    'modified': 'string',\n})\n\nconst AnnotationHeading = utils.makeDataClass('FoliateAnnotationHeading', {\n    'label': 'string',\n    'index': 'uint',\n    'subitems': 'object',\n})\n\nconst BookmarkRow = GObject.registerClass({\n    GTypeName: 'FoliateBookmarkRow',\n    Template: pkg.moduleuri('ui/bookmark-row.ui'),\n    Children: ['button'],\n    InternalChildren: ['label', 'value'],\n}, class extends Gtk.Box {\n    update({ value, label }) {\n        this.value = value\n        this.label = label\n        this._label.label = label\n        this._value.label = value\n    }\n})\n\nconst dateFormat = new Intl.DateTimeFormat(locales, {\n    year: 'numeric', month: 'short', day: 'numeric',\n    hour: 'numeric', minute: 'numeric',\n})\n\nconst AnnotationRow = GObject.registerClass({\n    GTypeName: 'FoliateAnnotationRow',\n    Template: pkg.moduleuri('ui/annotation-row.ui'),\n    Children: ['button'],\n    InternalChildren: ['heading', 'box', 'color', 'text', 'sep', 'note', 'bar', 'date'],\n    Properties: utils.makeParams({\n        'editable': 'boolean',\n    }),\n}, class extends Gtk.Box {\n    update(obj) {\n        this.annotation = obj\n        if (obj instanceof Annotation) {\n            const { text, note, color } = obj\n            this._text.label = text.trim().replace(/\\n/g, ' ')\n            this._note.label = note.trim().replace(/\\n/g, ' ')\n            this._color.update(color)\n            this._heading.hide()\n            this._box.show()\n            const showNote = Boolean(note)\n            this._sep.visible = showNote\n            this._note.visible = showNote\n            this._bar.show()\n            const date = obj.modified || obj.created\n            this._date.label = date ? dateFormat.format(new Date(date)) : ''\n            this.margin_top = 6\n            this.margin_bottom = 6\n        } else {\n            this._heading.label = obj.label\n            this._heading.show()\n            this._box.hide()\n            this._sep.hide()\n            this._note.hide()\n            this._bar.hide()\n            this.margin_top = 3\n            this.margin_bottom = 3\n        }\n    }\n})\n\nexport const BookmarkModel = GObject.registerClass({\n    GTypeName: 'FoliateBookmarkModel',\n}, class extends Gio.ListStore {\n    add(value, label) {\n        const obj = new Bookmark({ value, label })\n        for (const [i, item] of utils.gliter(this)) {\n            if (CFI.compare(value, item.value) <= 0) {\n                this.insert(i, obj)\n                return\n            }\n        }\n        this.append(obj)\n    }\n    delete(value) {\n        for (const [i, item] of utils.gliter(this))\n            if (item.value === value) {\n                this.remove(i)\n                break\n            }\n    }\n    export() {\n        return Array.from(utils.gliter(this), ([, item]) => item.value)\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateBookmarkView',\n    Properties: utils.makeParams({\n        'dir': 'string',\n        'has-items-in-view': 'boolean',\n    }),\n    Signals: {\n        'go-to-bookmark': { param_types: [GObject.TYPE_STRING] },\n    },\n}, class extends Gtk.ListView {\n    #location\n    #inView = []\n    constructor(params) {\n        super(params)\n        this.connect('activate', (_, pos) => {\n            const bookmark = this.model.model.get_item(pos) ?? {}\n            if (bookmark) this.emit('go-to-bookmark', bookmark.value)\n        })\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (__, listItem) => {\n                const row = new BookmarkRow()\n                row.button.connect('clicked', () => {\n                    this.model.model.delete(row.value)\n                    this.root.add_toast(utils.connect(new Adw.Toast({\n                        title: _('Bookmark deleted'),\n                        button_label: _('Undo'),\n                    }), { 'button-clicked': () =>\n                        this.model.model.add(row.value, row.label) }))\n                })\n                listItem.child = row\n            },\n            'bind': (_, listItem) => {\n                listItem.child.update(listItem.item)\n                utils.setDirection(listItem.child, this.dir)\n            },\n        })\n    }\n    setupModel(model) {\n        this.model = new Gtk.NoSelection({ model })\n    }\n    update(location = this.#location) {\n        this.#location = location\n        if (!this.model) return\n        const { cfi } = location\n        const start = CFI.collapse(cfi)\n        const end = CFI.collapse(cfi, true)\n        this.#inView = Array.from(utils.gliter(this.model.model),\n            ([, bookmark]) => [bookmark,\n                CFI.compare(start, bookmark.value) * CFI.compare(end, bookmark.value) <= 0])\n            .filter(([, x]) => x)\n        this.set_property('has-items-in-view', this.#inView.length > 0)\n    }\n    toggle() {\n        const inView = this.#inView\n        const { model } = this.model\n        if (inView.length) {\n            const marks = inView.map(x => x[0])\n            for (const { value } of marks) model.delete(value)\n            this.root.add_toast(utils.connect(new Adw.Toast({\n                title: _('Bookmark deleted'),\n                button_label: _('Undo'),\n            }), { 'button-clicked': () =>\n                marks.forEach(({ value, label }) => model.add(value, label)) }))\n        }\n        else model.add(this.#location.cfi, this.#location.tocItem?.label)\n    }\n})\n\nexport const AnnotationModel = GObject.registerClass({\n    GTypeName: 'FoliateAnnotationModel',\n    Signals: {\n        'update-annotation': { param_types: [Annotation.$gtype] },\n    },\n}, class extends Gio.ListStore {\n    #map = new Map()\n    #lists = new Map()\n    add(annotation, index, label) {\n        const { value } = annotation\n        if (this.#map.has(value)) return\n        const obj = annotation instanceof Annotation\n            ? new Annotation(annotation.toJSON()) : new Annotation(annotation)\n        this.#map.set(value, obj)\n        obj.connectAll(() => {\n            obj.modified = new Date().toISOString()\n            this.emit('update-annotation', obj)\n        })\n        if (this.#lists.has(index)) {\n            const list = this.#lists.get(index)\n            for (const [i, item] of utils.gliter(list)) {\n                if (CFI.compare(value, item.value) <= 0) {\n                    list.insert(i, obj)\n                    return\n                }\n            }\n            list.append(obj)\n        } else {\n            const subitems = new Gio.ListStore()\n            subitems.append(obj)\n            this.#lists.set(index, subitems)\n            const heading = new AnnotationHeading({ label, index, subitems })\n            for (const [i, item] of utils.gliter(this))\n                if (item.index > index) return this.insert(i, heading)\n            this.append(heading)\n        }\n    }\n    delete(annotation, index) {\n        const { value } = annotation\n        this.#map.delete(value)\n        const list = this.#lists.get(index)\n        for (const [i, item] of utils.gliter(list)) {\n            if (item.value === value) {\n                list.remove(i)\n                if (!list.get_n_items()) {\n                    for (const [j, item] of utils.gliter(this))\n                        if (item.subitems === list) {\n                            this.remove(j)\n                            this.#lists.delete(index)\n                            break\n                        }\n                }\n                break\n            }\n        }\n    }\n    get(value) {\n        return this.#map.get(value)\n    }\n    getForIndex(index) {\n        return this.#lists.get(index)\n    }\n    export() {\n        return Array.from(utils.gliter(this), ([, item]) =>\n            Array.from(utils.gliter(item.subitems), ([, item]) => item)).flat()\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateAnnotationView',\n    Properties: utils.makeParams({\n        'dir': 'string',\n        'editable': 'boolean',\n    }),\n    Signals: {\n        'go-to-annotation': { param_types: [Annotation.$gtype] },\n        'delete-annotation': { param_types: [Annotation.$gtype] },\n    },\n}, class extends Gtk.ListView {\n    #filter\n    #location\n    // don't scroll when activating, as that would mean it's already in view\n    #shouldScroll = true\n    constructor(params) {\n        super(params)\n        this.connect('activate', (_, pos) => {\n            this.#shouldScroll = false\n            const annotation = this.model.model.get_item(pos).item ?? {}\n            if (annotation) this.emit('go-to-annotation', annotation)\n        })\n        const handlers = new WeakMap()\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) => {\n                const row = new AnnotationRow({ editable: this.editable })\n                row.button.connect('clicked', () =>\n                    this.emit('delete-annotation', row.annotation))\n                listItem.child = new Gtk.TreeExpander({ indent_for_icon: false })\n                listItem.child.child = row\n            },\n            'bind': (_, listItem) => {\n                const expander = listItem.child\n                expander.list_row = listItem.item\n\n                const annotation = listItem.item.item\n                const widget = expander.child\n                widget.update(annotation)\n                handlers.set(listItem, annotation.connectAll(() =>\n                    widget.update(annotation)))\n\n                if (annotation.subitems) {\n                    expander.remove_css_class('card')\n                    expander.remove_css_class('activatable')\n                    expander.add_css_class('dim-label')\n                } else {\n                    expander.add_css_class('card')\n                    expander.add_css_class('activatable')\n                    expander.remove_css_class('dim-label')\n                }\n                utils.setDirection(expander, this.dir)\n            },\n            'unbind': (_, listItem) =>\n                utils.disconnect(listItem.item.item, handlers.get(listItem)),\n        })\n\n        // XXX: `scroll_to()` doesn't work until after the list view is shown\n        // or rather, not even then; probably a GTK bug?\n        const handler = this.connect('map', () => {\n            this.disconnect(handler)\n            if (this.#location)\n                // horrible hack but it's better than nothing I guess\n                setTimeout(() => this.scrollToCFI(this.#location.cfi), 100)\n        })\n    }\n    setupModel(model) {\n        const tree = Gtk.TreeListModel\n            .new(model, false, true, item => item.subitems ?? null)\n        this.#filter = new Gtk.FilterListModel({ model: tree })\n        this.model = new Gtk.NoSelection({ model: this.#filter })\n        if (this.#location) this.scrollToCFI(this.#location.cfi)\n    }\n    filter(query) {\n        query = query?.trim()?.toLowerCase()\n        const filter = new Gtk.CustomFilter()\n        filter.set_filter_func(query ? row => {\n            const { item } = row\n            const { text, color, note } = item\n            return [text, color, note].some(x => x?.toLowerCase()?.includes(query))\n        } : null)\n        this.#filter.filter = filter\n    }\n    #scrollToIndex(i) {\n        if (i >= 0) this.scroll_to(i, Gtk.ListScrollFlags.NONE, null)\n    }\n    scrollToCFI(cfi) {\n        for (const [i, item] of utils.gliter(this.#filter))\n            if (item.item.value && CFI.compare(cfi, item.item.value) <= 0)\n                return this.#scrollToIndex(i)\n        return this.#scrollToIndex(this.#filter.get_n_items() - 1)\n    }\n    update(location) {\n        if (!this.#filter) {\n            this.#location = location\n            return\n        }\n        if (!this.#shouldScroll) {\n            this.#shouldScroll = true\n            this.#location = location\n            return\n        }\n        if (this.#location.cfi === location.cfi) return\n        this.scrollToCFI(location.cfi)\n        this.#location = location\n    }\n})\n\nconst AnnotationColor = utils.makeDataClass('FoliateAnnotationColor', {\n    'label': 'string',\n    'value': 'string',\n    'type': 'string',\n})\n\nconst colorImageIcons = {\n    underline: 'format-text-underline-symbolic',\n    squiggly: 'text-squiggly-symbolic',\n    strikethrough: 'format-text-strikethrough-symbolic',\n}\n\nconst AnnotationColorImage = GObject.registerClass({\n    GTypeName: 'FoliateAnnotationColorImage',\n}, class extends Gtk.Stack {\n    #icon = new Gtk.Image()\n    #frame = new Gtk.Frame({\n        width_request: 16,\n        height_request: 16,\n        valign: Gtk.Align.CENTER,\n    })\n    constructor(params) {\n        super(params)\n        this.add_child(this.#icon)\n        this.add_child(this.#frame)\n    }\n    update(color) {\n        const icon = color ? colorImageIcons[color] : 'color-select-symbolic'\n        if (icon) {\n            this.#icon.icon_name = icon\n            this.visible_child = this.#icon\n        } else {\n            utils.addStyle(this.#frame, `frame {\n                background: ${utils.RGBA(color).to_string()};\n            }`)\n            this.visible_child = this.#frame\n        }\n    }\n})\n\nconst AnnotationColorRow = GObject.registerClass({\n    GTypeName: 'FoliateAnnotationColorRow',\n    Properties: utils.makeParams({\n        'dropdown': 'object',\n    }),\n}, class extends Gtk.Box {\n    #color\n    #image = new AnnotationColorImage()\n    #label = new Gtk.Label()\n    #checkmark = new Gtk.Image({\n        visible: false,\n        icon_name: 'object-select-symbolic',\n    })\n    constructor(params) {\n        super(params)\n        this.spacing = 6\n        this.append(this.#image)\n        this.append(this.#label)\n        this.append(this.#checkmark)\n        if (this.dropdown)\n            this.dropdown.connect('notify::selected-item', dropdown =>\n                this.#checkmark.visible = dropdown.selected_item === this.#color)\n    }\n    update(color) {\n        this.#color = color\n        this.#image.update(color.value)\n        this.#label.label = color.label\n        this.#checkmark.visible = this.dropdown?.selected_item === color\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateAnnotationColorDropDown',\n    Signals: {\n        'color-changed': { param_types: [GObject.TYPE_STRING] },\n    },\n}, class extends Gtk.DropDown {\n    #prevSelected\n    constructor(params) {\n        super(params)\n        this.model = utils.list([\n            { label: _('Underline'), value: 'underline' },\n            { label: _('Squiggly'), value: 'squiggly' },\n            { label: _('Strikethrough'), value: 'strikethrough' },\n            { label: _('Yellow'), value: 'yellow' },\n            { label: _('Orange'), value: 'orange' },\n            { label: _('Red'), value: 'red' },\n            { label: _('Magenta'), value: 'magenta' },\n            { label: _('Aqua'), value: 'aqua' },\n            { label: _('Lime'), value: 'lime' },\n            { label: _('Custom Color…'), type: 'choose' },\n        ], AnnotationColor)\n\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) => listItem.child = new AnnotationColorRow(),\n            'bind': (_, { child, item }) => child.update(item),\n        })\n\n        this.list_factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) =>\n                listItem.child = new AnnotationColorRow({ dropdown: this }),\n            'bind': (_, { child, item }) => child.update(item),\n        })\n\n        this.connect('notify::selected-item', () => {\n            const selected = this.selected\n            const item = this.selected_item\n            if (item.type === 'choose') {\n                new Gtk.ColorDialog().choose_rgba(this.root, null, null, (self, res) => {\n                    try {\n                        const color = self.choose_rgba_finish(res).to_string()\n                        this.selectColor(color)\n                        this.emit('color-changed', color)\n                    } catch (e) {\n                        if (e instanceof Gtk.DialogError) console.debug(e)\n                        else console.error(e)\n                        this.selected = this.#prevSelected\n                    }\n                })\n            } else {\n                this.emit('color-changed', item.value)\n                this.#prevSelected = selected\n            }\n        })\n    }\n    selectColor(color) {\n        const { model } = this\n        for (const [i, item] of utils.gliter(model)) {\n            if (item.value === color) {\n                this.selected = i\n                return\n            }\n            // if there's already an item for custom color, use it\n            if (item.type === 'custom') {\n                item.value = color\n                this.selected = i\n                return\n            }\n        }\n        // create item for custom color\n        const i = model.get_n_items() - 1\n        model.insert(i, new AnnotationColor({\n            label: _('Custom'),\n            value: color,\n            type: 'custom',\n        }))\n        this.selected = i\n    }\n})\n\nexport const AnnotationPopover = GObject.registerClass({\n    GTypeName: 'FoliateAnnotationPopover',\n    Template: pkg.moduleuri('ui/annotation-popover.ui'),\n    Properties: utils.makeParams({\n        'annotation': 'object',\n    }),\n    Signals: {\n        'delete-annotation': {},\n        'select-annotation': {},\n        'color-changed': { param_types: [GObject.TYPE_STRING] },\n    },\n    InternalChildren: ['stack', 'button', 'text-view', 'drop-down'],\n}, class extends Gtk.Popover {\n    #isAddingNote\n    constructor(params) {\n        super(params)\n        this.insert_action_group('annotation', utils.addMethods(this, {\n            actions: ['add-note', 'delete', 'more'],\n        }))\n\n        this._drop_down.selectColor(this.annotation.color)\n        this._text_view.buffer.text = this.annotation.note\n        this.#updateStack()\n\n        this._drop_down.connect('color-changed', (_, color) => {\n            this.annotation.set_property('color', color)\n            this.emit('color-changed', color)\n        })\n        this._text_view.buffer.connect('changed', buffer => {\n            this.#updateStack()\n            this.annotation.set_property('note', buffer.text)\n        })\n    }\n    #updateStack() {\n        const { buffer } = this._text_view\n        this._stack.visible_child = this.#isAddingNote || buffer.text\n            ? this._text_view.parent : this._button\n        if (buffer.text) this.#isAddingNote = true\n    }\n    addNote() {\n        this.#isAddingNote = true\n        this._stack.visible_child = this._text_view.parent\n        this._text_view.grab_focus()\n    }\n    delete() {\n        this.emit('delete-annotation')\n        this.popdown()\n    }\n    more() {\n        this.emit('select-annotation')\n        this.popdown()\n    }\n})\n\nconst ImportDialog = GObject.registerClass({\n    GTypeName: 'FoliateImportDialog',\n    Template: pkg.moduleuri('ui/import-dialog.ui'),\n    Children: ['annotation-view'],\n    InternalChildren: ['cancel-button', 'ok-button', 'banner'],\n    Properties: utils.makeParams({\n        'identifier-mismatch': 'boolean',\n    }),\n    Signals: {\n        'response': {},\n    },\n}, class extends Adw.Window {\n    constructor(params) {\n        super(params)\n        const respond = () => {\n            this.emit('response')\n            this.close()\n        }\n        this._ok_button.connect('clicked', respond)\n        this._banner.connect('button-clicked', respond)\n        this._cancel_button.connect('clicked', () => this.close())\n        this.add_controller(utils.addShortcuts({ 'Escape|<ctrl>w': () => this.close() }))\n    }\n    close() {\n        super.close()\n        this.run_dispose()\n    }\n})\n\nexport const importAnnotations = (window, data) => {\n    const dialog = new Gtk.FileDialog()\n    const filter = new Gtk.FileFilter({\n        name: _('JSON Files'),\n        mime_types: ['application/json'],\n    })\n    dialog.filters = new Gio.ListStore()\n    dialog.filters.append(new Gtk.FileFilter({\n        name: _('All Files'),\n        patterns: ['*'],\n    }))\n    dialog.filters.append(filter)\n    dialog.default_filter = filter\n    dialog.open(window, null, (__, res) => {\n        try {\n            const file = dialog.open_finish(res)\n            const json = utils.readJSONFile(file)\n            if (!json.annotations?.length) return window.error(_('No Annotations'),\n                _('The imported file has no annotations'))\n            const importDialog = new ImportDialog({\n                identifier_mismatch: !(json.metadata?.identifier === data.key),\n                transient_for: window,\n            })\n            const model = new Gio.ListStore()\n            importDialog.annotation_view.setupModel(model)\n            importDialog.show()\n            const annotations = json.annotations.map(item => {\n                const annotation = new Annotation(item)\n                model.append(annotation)\n                return annotation\n            })\n            importDialog.connect('response', () => data.addAnnotations(annotations))\n        } catch (e) {\n            if (e instanceof Gtk.DialogError) console.debug(e)\n            else {\n                console.error(e)\n                window.error(_('Cannot Import Annotations'),\n                    _('An error occurred'))\n            }\n        }\n    })\n}\n\nexport const exportAnnotations = (window, data) => {\n    const n = data.annotations?.length\n    if (!(n > 0)) return window.error(_('No Annotations'),\n        _('You don’t have any annotations for this book'))\n\n    const path = pkg.modulepath('ui/export-dialog.ui')\n    const builder = pkg.useResource\n        ? Gtk.Builder.new_from_resource(path)\n        : Gtk.Builder.new_from_file(path)\n    const dialog = builder.get_object('export-dialog')\n    dialog.transient_for = window\n    dialog.present()\n    builder.get_object('ok-button').connect('clicked', () => {\n        const { selected } = builder.get_object('format-combo')\n        const format = ['json', 'html', 'md', 'org'][selected]\n        const { metadata = {} } = data\n        const title = vprintf(_('Annotations for “%s”'), [metadata.title])\n        const total = vprintf(ngettext('%d Annotation', '%d Annotations', n), [n])\n        new Gtk.FileDialog({ initial_name: title + '.' + format })\n            .save(window, null, (self, res) => {\n                try {\n                    const file = self.save_finish(res)\n                    const contents = exportFunctions[format](data, title, total)\n                    file.replace_contents(contents, null, false,\n                        Gio.FileCreateFlags.REPLACE_DESTINATION, null)\n                } catch (e) {\n                    if (e instanceof Gtk.DialogError) console.debug(e)\n                    else console.error(e)\n                }\n            })\n        dialog.close()\n    })\n    builder.get_object('cancel-button').connect('clicked', () => dialog.close())\n    dialog.add_controller(utils.addShortcuts({ 'Escape|<ctrl>w': () => dialog.close() }))\n}\n\nconst htmlEscape = str => str.replace(/[<>&]/g, x =>\n    x === '<' ? '&lt;' : x === '>' ? '&gt;' : '&amp;')\n\nconst mdEscape = str => str.replace(/[<>&]/g, x => '\\\\' + x)\n\nconst exportFunctions = {\n    json: data => JSON.stringify(data, null, 2),\n    html: ({ annotations }, title, total) => `<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>${title}</title>\n<style>\n    body { max-width: 36em; padding: 1em; margin: auto; }\n    header { text-align: center; }\n    section { border-top: 1px solid; }\n    .cfi { font-size: small; opacity: 0.5; font-family: monospace; }\n    blockquote { margin-inline-start: 0; padding-inline-start: 1em;\n        border-inline-start: .5em solid; }\n    .underline { text-decoration: underline red; }\n    .squiggly { text-decoration: underline wavy red; }\n    .strikethrough { text-decoration: line-through red; }\n    .underline, .squiggly, .strikethrough { border: none; }\n    .note { white-space: pre-wrap; }\n</style>\n<header><h1>${title}</h1><p>${total}</p></header>${\n    annotations.map(({ value, text, color, note }) => `<section>\n    <p class=\"cfi\">${htmlEscape(value)}</p>\n    <blockquote style=\"border-color: ${color}\">\n        <span class=\"${color}\">${htmlEscape(text)}</span>\n    </blockquote>\n    ${note ? `<p class=\"note\">${htmlEscape(note)}</p>` : ''}\n</section>`).join('')}`,\n    md: ({ annotations }, title, total) => `# ${title}\\n\\n${total}${\n        annotations.map(({ value, text, color, note }) => `\n\n---\n\n**${color}** - \\`${value}\\`\n\n> ${mdEscape(text)}${note ? '\\n\\n' + mdEscape(note) : ''}`).join('')}`,\n    org: ({ annotations }, title, total) => `* ${title}\n${total}\n${annotations.map(({ value, text, color, note }) => `\n\n-----\n\n*${color}* - \\`${value}\\`\n\n#+begin_quote\n${text}\n#+end_quote\n${note}\n`)}\n`,\n}\n"
  },
  {
    "path": "src/app.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport GObject from 'gi://GObject'\nimport GLib from 'gi://GLib'\nimport Gio from 'gi://Gio'\nimport Gdk from 'gi://Gdk'\nimport WebKit from 'gi://WebKit'\nimport { gettext as _, ngettext } from 'gettext'\nimport { vprintf } from './format.js'\nimport * as utils from './utils.js'\nimport { Library } from './library.js'\nimport { BookViewer, importFiles } from './book-viewer.js'\n\nconst formatVersion = (a, b, c) => `${a ?? '?'}.${b ?? '?'}.${c ?? '?'}`\n\nconst getImportVersion = lib =>\n    formatVersion(lib.MAJOR_VERSION, lib.MINOR_VERSION, lib.MICRO_VERSION)\n\nconst getGJSVersion = () => {\n    const [a, b, c, d, e] = imports.system.version.toString()\n    return formatVersion(a, b + c, d + e)\n}\n\nconst getDebugInfo = () => {\n    try {\n        return `System: ${GLib.get_os_info('NAME') ?? 'Unknown'} ${GLib.get_os_info('VERSION') ?? GLib.get_os_info('BUILD_ID') ?? ''}\nDesktop: ${GLib.getenv('XDG_CURRENT_DESKTOP') ?? 'Unknown'}\nSession: ${GLib.getenv('XDG_SESSION_DESKTOP') ?? 'UNknown'} (${GLib.getenv('XDG_SESSION_TYPE') ?? 'Unknown'})\nLanguage: ${GLib.getenv('LANG') ?? 'Unknown'}\n\nVersions:\n- Foliate ${pkg.version}\n- GJS ${getGJSVersion()}\n- GTK ${getImportVersion(Gtk)}\n- Adwaita ${getImportVersion(imports.gi.Adw)}\n- GLib ${getImportVersion(GLib)}\n- WebKitGTK ${getImportVersion(WebKit)}\n\nUser directories:\n- ${GLib.get_user_data_dir()}\n- ${GLib.get_user_cache_dir()}\n`\n    } catch (e) {\n        console.error(e)\n        return ''\n    }\n}\n\nconst makeOpenDialog = () => {\n    const dialog = new Gtk.FileDialog()\n    const ebooks = new Gtk.FileFilter({\n        name: _('E-Book Files'),\n        mime_types: [\n            'application/epub+zip',\n            'application/x-mobipocket-ebook',\n            'application/vnd.amazon.mobi8-ebook',\n            'application/x-mobi8-ebook',\n            'application/x-fictionbook+xml',\n            'application/x-zip-compressed-fb2',\n            'application/vnd.comicbook+zip',\n        ],\n    })\n    dialog.filters = new Gio.ListStore()\n    dialog.filters.append(new Gtk.FileFilter({\n        name: _('All Files'),\n        patterns: ['*'],\n    }))\n    dialog.filters.append(ebooks)\n    dialog.default_filter = ebooks\n    return dialog\n}\n\nconst ApplicationWindow = GObject.registerClass({\n    GTypeName: 'FoliateApplicationWindow',\n    Properties: utils.makeParams({\n        'file': 'object',\n    }),\n}, class extends Adw.ApplicationWindow {\n    #library\n    #bookViewer\n    #stack = new Gtk.Stack()\n    #cookie\n    constructor(params) {\n        super(params)\n        Object.assign(this, {\n            handle_menubar_accel: false,\n            title: pkg.localeName,\n            default_width: 1200,\n            default_height: 750,\n            content: new Adw.ToastOverlay({ child: this.#stack }),\n        })\n\n        const styleManager = Adw.StyleManager.get_default()\n        if (styleManager.dark) this.add_css_class('is-dark')\n        const handler = styleManager.connect('notify::dark', ({ dark }) => {\n            if (dark) this.add_css_class('is-dark')\n            else this.remove_css_class('is-dark')\n        })\n        this.connect('destroy', () => styleManager.disconnect(handler))\n\n        utils.addMethods(this, {\n            actions: [\n                'open', 'open-or-import',\n                'close', 'show-library', 'show-menu', 'new-window', 'open-copy',\n            ],\n            props: ['fullscreened'],\n        })\n\n        utils.bindSettings('window', this,\n            ['default-width', 'default-height', 'maximized', 'fullscreened'])\n\n\n        this.connect('notify::fullscreened', (win) => {\n            let app = Gio.Application.get_default()\n            if (this.is_fullscreen()) {\n                this.#cookie = app.inhibit(win, Gtk.ApplicationInhibitFlags.IDLE,\n                    'Reading book in fullscreen')\n                if (this.#cookie == 0)\n                    console.error('Failed to inhibit session idle')\n            } else if (this.#cookie > 0) {\n                app.uninhibit(this.#cookie)\n            }\n        })\n\n        if (this.file) this.openFile(this.file)\n        else this.showLibrary()\n    }\n    add_toast(toast) {\n        this.content.add_toast(toast)\n    }\n    error(heading, body) {\n        const dialog = new Adw.AlertDialog({\n            heading, body,\n        })\n        dialog.add_response('close', _('Close'))\n        dialog.present(this)\n    }\n    actionDialog() {\n        const window = new Adw.Window({\n            modal: true,\n            transient_for: this.root,\n            content: new Adw.ToolbarView(),\n            default_width: 400,\n        })\n        window.add_controller(utils.addShortcuts({ 'Escape|<ctrl>w': () => window.close() }))\n        const header = new Adw.HeaderBar({\n            show_title: false,\n            show_start_title_buttons: false,\n            show_end_title_buttons: false,\n        })\n        header.pack_start(utils.connect(new Gtk.Button({\n            label: _('Cancel'),\n        }), { 'clicked': () => window.close() }))\n        const button = utils.addClass(new Gtk.Button(), 'suggested-action')\n        header.pack_end(button)\n        window.content.add_top_bar(header)\n        return { button, window }\n    }\n    openFile(file) {\n        this.file = file\n        if (!this.#bookViewer) {\n            this.#bookViewer = new BookViewer()\n            this.#stack.add_child(this.#bookViewer)\n        }\n        this.#stack.transition_type = Gtk.StackTransitionType.SLIDE_LEFT\n        this.#stack.visible_child = this.#bookViewer\n        this.#bookViewer.open(file)\n    }\n    openOPDS(uri) {\n        this.showLibrary()\n        this.#library.showCatalog(uri)\n    }\n    open() {\n        const dialog = makeOpenDialog()\n        dialog.open(this, null, (_, res) => {\n            try {\n                const file = dialog.open_finish(res)\n                this.openFile(file)\n            } catch (e) {\n                if (e instanceof Gtk.DialogError) console.debug(e)\n                else console.error(e)\n            }\n        })\n    }\n    openOrImport() {\n        const dialog = makeOpenDialog()\n        dialog.open_multiple(this, null, (_, res) => {\n            try {\n                const files = dialog.open_multiple_finish(res)\n                if (files.get_n_items() === 1) this.openFile(files.get_item(0))\n                else importFiles(Array.from(utils.gliter(files), x => x[1]))\n                    .then(results => {\n                        const map = Map.groupBy(results, x => x[1] instanceof Error)\n                        const n = map.get(true)?.length\n                        if (n) {\n                            const title = vprintf(ngettext(\n                                'Failed to import %d book',\n                                'Failed to import %d books', n), [n])\n                            this.add_toast(new Adw.Toast({ title }))\n                        }\n                        else {\n                            const m = map.get(false).length\n                            const title = vprintf(ngettext(\n                                'Imported %d book',\n                                'Imported %d books', m), [m])\n                            this.add_toast(new Adw.Toast({ title }))\n                        }\n                    })\n                    .catch(e => {\n                        const title = _('Could not import books')\n                        this.add_toast(new Adw.Toast({ title }))\n                        console.error(e)\n                    })\n            } catch (e) {\n                if (e instanceof Gtk.DialogError) console.debug(e)\n                else console.error(e)\n            }\n        })\n    }\n    showLibrary() {\n        this.file = null\n        this.title = pkg.localeName\n        if (!this.#library) {\n            this.#library = new Library()\n            this.#stack.add_child(this.#library)\n        }\n        this.#stack.transition_type = Gtk.StackTransitionType.SLIDE_RIGHT\n        this.#stack.visible_child = this.#library\n        if (this.#bookViewer) {\n            this.#stack.remove(this.#bookViewer)\n            this.#bookViewer = null\n        }\n    }\n    showMenu() {\n        if (this.#bookViewer) this.#bookViewer.showPrimaryMenu()\n    }\n    addWindow(file) {\n        const { application } = this\n        const win = new ApplicationWindow({ application, file })\n        new Gtk.WindowGroup().add_window(win)\n        win.present()\n    }\n    newWindow() {\n        this.addWindow(null)\n    }\n    openCopy() {\n        this.addWindow(this.file)\n    }\n})\n\nexport const Application = GObject.registerClass({\n    GTypeName: 'FoliateApplication',\n}, class extends Adw.Application {\n    constructor(params) {\n        super(params)\n        this.application_id = pkg.name\n        this.flags = Gio.ApplicationFlags.HANDLES_OPEN\n\n        utils.addMethods(this, {\n            actions: ['about', 'quit'],\n            signals: ['startup', 'activate', 'open', 'window-removed'],\n        })\n\n        for (const [key, val] of Object.entries({\n            'app.quit': ['<ctrl>q'],\n            'app.about': ['F1'],\n            'win.close': ['<ctrl>w'],\n            'win.fullscreened': ['F11'],\n            'win.show-menu': ['F10'],\n            'win.open': ['<ctrl>o'],\n            'win.open-copy': ['<ctrl>n'],\n        })) this.set_accels_for_action(key, val)\n    }\n    connectStartup() {\n        const settings = utils.settings()\n        if (settings) {\n            const styleManager = Adw.StyleManager.get_default()\n            styleManager.color_scheme = settings.get_int('color-scheme')\n            styleManager.connect('notify::color-scheme', () =>\n                settings.set_int('color-scheme', styleManager.color_scheme))\n        }\n\n        const theme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default())\n        if (pkg.useResource) theme.add_resource_path(pkg.modulepath('/icons'))\n        else theme.add_search_path(pkg.modulepath('/icons'))\n\n        const cssProvider = new Gtk.CssProvider()\n        cssProvider.load_from_data(`\n            gridview {\n                padding: 12px;\n            }\n\n            /* remove flowboxchild padding so things align better\n               when mixing flowbox and other widgets;\n               why does Adwaita has flowboxchild padding, anyway?\n               there's already row-/column-spacing, plus you can set margin */\n            flowboxchild {\n                padding: 0;\n            }\n\n            .large-button {\n                padding: 6px;\n            }\n            .small-button {\n                transform: scale(.7);\n            }\n            .chips button {\n                border-radius: 9999px;\n            }\n\n            checkbutton.theme-selector {\n                padding: 0;\n                min-height: 44px;\n                min-width: 44px;\n                padding: 1px;\n                background-clip: content-box;\n                border-radius: 9999px;\n                box-shadow: inset 0 0 0 1px @borders;\n            }\n            checkbutton.theme-selector:checked {\n                box-shadow: inset 0 0 0 2px @theme_selected_bg_color;\n            }\n            checkbutton.theme-selector.follow {\n                background-image: linear-gradient(to bottom right, #fff 49.99%, #202020 50.01%);\n            }\n            checkbutton.theme-selector.light {\n                background-color: #fff;\n            }\n            checkbutton.theme-selector.dark {\n                background-color: #202020;\n            }\n            checkbutton.theme-selector radio {\n                -gtk-icon-source: none;\n                border: none;\n                background: none;\n                box-shadow: none;\n                min-width: 12px;\n                min-height: 12px;\n                transform: translate(27px, 14px);\n                padding: 2px;\n            }\n            checkbutton.theme-selector radio:checked {\n                -gtk-icon-source: -gtk-icontheme(\"object-select-symbolic\");\n                background-color: @theme_selected_bg_color;\n                color: @theme_selected_fg_color;\n            }\n\n            .card-sidebar {\n                padding: 8px;\n            }\n            .card-sidebar .card {\n                padding: 6px 12px 6px 0;\n            }\n            .card-sidebar .card:dir(rtl) {\n                padding: 6px 0 6px 12px;\n            }\n            .card-sidebar row {\n                margin: 4px 0;\n            }\n            .card-sidebar, .card-sidebar row.activatable {\n                background-color: transparent;\n            }\n            .card-sidebar.flat-list .card {\n                padding: 6px 12px;\n            }\n\n            .book-image-frame {\n                box-shadow: 0 6px 12px rgba(0, 0, 0, .15);\n            }\n            .book-image-frame-small {\n                box-shadow: 0 3px 6px rgba(0, 0, 0, .15);\n                border-radius: 6px;\n            }\n            .book-image-full {\n                box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);\n            }\n            .overlaid windowcontrols > button > image {\n                background: rgba(0, 0, 0, .5);\n                color: #fff;\n            }\n            .overlaid windowcontrols > button:hover > image {\n                background: rgba(40, 40, 40, .5);\n            }\n            .overlaid windowcontrols > button:active > image {\n                background: rgba(60, 60, 60, .5);\n            }\n\n            .book-list {\n                background: transparent;\n            }\n            .book-list row {\n                margin-top: -1px;\n                border-top: 1px solid @borders;\n            }\n            /* set min-width to 1px,\n               so we can have variable width progress bars a la Kindle */\n            progress, trough {\n                min-width: 1px;\n            }\n        `, -1)\n        Gtk.StyleContext.add_provider_for_display(\n            Gdk.Display.get_default(),\n            cssProvider,\n            Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)\n    }\n    connectActivate(application) {\n        if (this.activeWindow) {\n            this.activeWindow.present()\n            return\n        }\n        const win = new ApplicationWindow({ application })\n        new Gtk.WindowGroup().add_window(win)\n        win.present()\n    }\n    connectOpen(application, files) {\n        const oldWins = this.get_windows()\n        file: for (const file of files) {\n            if (file.get_uri_scheme() === 'opds') {\n                const oldWin = oldWins.find(win => !win.file)\n                const uri = file.get_uri()\n                if (oldWin) oldWin.openOPDS(uri)\n                else {\n                    const win = new ApplicationWindow({ application })\n                    new Gtk.WindowGroup().add_window(win)\n                    win.openOPDS(uri)\n                    win.present()\n                }\n                continue\n            }\n            else for (const oldWin of oldWins) {\n                if (oldWin.file?.get_uri() === file.get_uri()) {\n                    oldWin.present()\n                    continue file\n                }\n            }\n            const win = new ApplicationWindow({ application, file })\n            new Gtk.WindowGroup().add_window(win)\n            win.present()\n        }\n    }\n    connectWindowRemoved(application, window) {\n        // this seems to be needed for destroying the web view\n        window.run_dispose()\n    }\n    about() {\n        const win = new Adw.AboutDialog({\n            application_name: pkg.localeName,\n            application_icon: pkg.name,\n            version: pkg.version,\n            comments: _('Read e-books in style'),\n            developer_name: 'John Factotum',\n            developers: ['John Factotum'],\n            artists: ['John Factotum', 'Tobias Bernard <tbernard@gnome.org>'],\n            // Translators: put your names here, one name per line\n            // they will be shown in the \"About\" dialog\n            translator_credits: _('translator-credits'),\n            license_type: Gtk.License.GPL_3_0,\n            website: 'https://johnfactotum.github.io/foliate/',\n            issue_url: 'https://github.com/johnfactotum/foliate/issues',\n            support_url: 'https://github.com/johnfactotum/foliate/blob/gtk4/docs/faq.md',\n            debug_info: getDebugInfo(),\n        })\n        win.add_link(_('Source Code'), 'https://github.com/johnfactotum/foliate')\n        win.add_legal_section('foliate-js', null, Gtk.License.MIT_X11, null)\n        win.add_legal_section('zip.js',\n            'Copyright © 2022 Gildas Lormeau',\n            Gtk.License.BSD_3, null)\n        win.add_legal_section('fflate',\n            'Copyright © 2020 Arjun Barrett',\n            Gtk.License.MIT_X11, null)\n        win.add_legal_section('PDF.js',\n            '©Mozilla and individual contributors',\n            Gtk.License.APACHE_2_0, null)\n        win.present(this.active_window)\n    }\n})\n"
  },
  {
    "path": "src/book-info.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport Pango from 'gi://Pango'\nimport { gettext as _ } from 'gettext'\nimport * as utils from './utils.js'\nimport * as format from './format.js'\n\nexport const formatLanguageMap = x => {\n    if (!x) return ''\n    if (typeof x === 'string') return x\n    const keys = Object.keys(x)\n    return /*x[format.matchLocales(keys)[0]] ??*/ x[keys[0]]\n}\n\nconst formatContributors = contributors => Array.isArray(contributors)\n    ? format.list(contributors.map(contributor =>\n        typeof contributor === 'string' ? contributor\n        : formatLanguageMap(contributor?.name)))\n    : typeof contributors === 'string' ? contributors\n    : formatLanguageMap(contributors?.name)\n\nexport const formatAuthors = metadata => metadata?.author\n    ? formatContributors(metadata.author)\n    : metadata?.creator // compat with previous versions\n    ?? ''\n\nconst makePropertyBox = (title, value) => {\n    const box = new Gtk.Box({\n        orientation: Gtk.Orientation.VERTICAL,\n        spacing: 3,\n    })\n    box.append(utils.addClass(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        label: title,\n    }), 'caption-heading'))\n    box.append(new Gtk.Label({\n        margin_bottom: 6,\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: value,\n        wrap_mode: Pango.WrapMode.WORD_CHAR,\n    }))\n    return box\n}\n\nconst makeSubjectBox = subject => {\n    const box = new Gtk.Box({ spacing: 6 })\n    box.append(new Gtk.Image({\n        icon_name: 'tag-symbolic',\n        valign: Gtk.Align.START,\n    }))\n    box.append(utils.addClass(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: formatContributors(subject) || subject?.code,\n        valign: Gtk.Align.START,\n    }), 'caption'))\n    return box\n}\n\nconst makeBookHeader = (metadata, pixbuf) => {\n    const box = new Gtk.Box({\n        orientation: Gtk.Orientation.VERTICAL,\n        spacing: 6,\n        hexpand: true,\n    })\n\n    box.append(utils.addClass(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: formatLanguageMap(metadata.title),\n    }), 'title-2'))\n\n    if (metadata.subtitle) box.append(utils.addClass(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: formatLanguageMap(metadata.subtitle),\n    }), 'title-4'))\n\n    box.append(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: formatAuthors(metadata),\n    }))\n\n    if (!pixbuf) return box\n\n    const box2 = new Gtk.Box({ spacing: 18 })\n    const frame = new Gtk.Frame()\n    frame.add_css_class('book-image-frame')\n    const picture = new Gtk.Picture({ focusable: true, height_request: 180 })\n    picture.set_pixbuf(pixbuf)\n    frame.child = picture\n    box2.append(frame)\n    box2.append(box)\n    return box2\n}\n\nconst makeBookInfoBox = (metadata, pixbuf) => {\n    const box = new Gtk.Box({\n        orientation: Gtk.Orientation.VERTICAL,\n        spacing: 6,\n    })\n\n    box.append(makeBookHeader(metadata, pixbuf))\n\n    if (metadata.description) box.append(new Gtk.Label({\n        xalign: 0,\n        wrap: true,\n        use_markup: true,\n        selectable: true,\n        margin_top: 12,\n        label: metadata.description,\n    }))\n    box.append(new Gtk.Box({ vexpand: true }))\n\n    const flowbox = new Gtk.FlowBox({\n        selection_mode: Gtk.SelectionMode.NONE,\n        row_spacing: 12,\n        column_spacing: 18,\n        margin_top: 12,\n        margin_bottom: 6,\n    })\n    box.append(flowbox)\n\n    for (const [title, value] of [\n        [_('Publisher'), formatContributors(metadata.publisher)],\n        // Translators: this is the heading for the publication date\n        [_('Published'), format.date(metadata.published)],\n        // Translators: this is the heading for the modified date\n        [_('Updated'), format.date(metadata.modified)],\n        [_('Language'), format.language(metadata.language)],\n        [_('Translated by'), formatContributors(metadata.translator)],\n        [_('Edited by'), formatContributors(metadata.editor)],\n        [_('Narrated by'), formatContributors(metadata.narrator)],\n        [_('Illustrated by'), formatContributors(metadata.illustrator)],\n        [_('Produced by'), formatContributors(metadata.producer)],\n        [_('Artwork by'), formatContributors(metadata.artist)],\n        [_('Color by'), formatContributors(metadata.colorist)],\n        [_('Contributors'), formatContributors(metadata.contributor)],\n        [_('Identifier'), metadata.identifier],\n    ]) {\n        if (!value) continue\n        if (value.length > 30) box.append(makePropertyBox(title, value))\n        else flowbox.insert(makePropertyBox(title, value), -1)\n    }\n\n    if (metadata.subject?.length) {\n        const subjectsBox = new Gtk.FlowBox({\n            selection_mode: Gtk.SelectionMode.NONE,\n            row_spacing: 3,\n            column_spacing: 12,\n            margin_top: 12,\n        })\n        box.append(subjectsBox)\n        for (const subject of [].concat(metadata.subject))\n            subjectsBox.insert(makeSubjectBox(subject), -1)\n    }\n\n    if (metadata.rights) box.append(utils.addClass(new Gtk.Label({\n        margin_top: 12,\n        xalign: 0,\n        wrap: true,\n        selectable: true,\n        label: metadata.rights,\n    }), 'caption', 'dim-label'))\n    return new Adw.Clamp({ child: box })\n}\n\nexport const makeBookInfoWindow = (root, metadata, pixbuf, bigCover) => {\n    const wide = root.get_width() > 800\n    const win = new Adw.Window({\n        title: _('About This Book'),\n        width_request: 320,\n        height_request: 300,\n        default_width: bigCover && pixbuf ? (wide ? 800 : 320) : 420,\n        default_height: bigCover && pixbuf ? (wide ? 540 : 640) : pixbuf ? 540 : 420,\n        modal: true,\n        transient_for: root,\n    })\n\n    const infobox = Object.assign(makeBookInfoBox(metadata, bigCover ? null : pixbuf), {\n        margin_bottom: 18,\n        margin_start: 18,\n        margin_end: 18,\n    })\n    const scrolled = new Gtk.ScrolledWindow({\n        hexpand: true,\n        vexpand: true,\n        width_request: 320,\n    })\n    const toolbarView = new Adw.ToolbarView({ content: scrolled })\n    const headerbar = new Adw.HeaderBar({ show_title: false })\n    toolbarView.add_top_bar(headerbar)\n\n    if (bigCover && pixbuf) {\n        headerbar.add_css_class('overlaid')\n        toolbarView.extend_content_to_top_edge = true\n\n        const picture = new Gtk.Picture({\n            content_fit: Gtk.ContentFit.COVER,\n            focusable: true,\n        })\n        picture.add_css_class('book-image-full')\n        picture.set_pixbuf(pixbuf)\n\n        const innerBox = new Gtk.Box({\n            orientation: Gtk.Orientation.VERTICAL,\n            spacing: 18,\n        })\n        innerBox.append(picture)\n        innerBox.append(infobox)\n        scrolled.child = innerBox\n        scrolled.child.vscroll_policy = Gtk.ScrollablePolicy.NATURAL\n\n        const outerBox = new Gtk.Box()\n        outerBox.append(toolbarView)\n\n        win.content = outerBox\n        win.add_breakpoint(utils.connect(new Adw.Breakpoint({\n            condition: Adw.BreakpointCondition.parse(\n                'min-width: 540px and min-aspect-ratio: 5/4'),\n        }), {\n            'apply': () => {\n                innerBox.remove(picture)\n                outerBox.prepend(picture)\n                picture.grab_focus()\n                headerbar.decoration_layout = ':close'\n                headerbar.remove_css_class('overlaid')\n                toolbarView.extend_content_to_top_edge = false\n            },\n            'unapply': () => {\n                outerBox.remove(picture)\n                innerBox.prepend(picture)\n                headerbar.decoration_layout = null\n                headerbar.add_css_class('overlaid')\n                toolbarView.extend_content_to_top_edge = true\n            },\n        }))\n    } else {\n        scrolled.child = infobox\n        win.content = toolbarView\n    }\n\n    win.add_controller(utils.addShortcuts({ 'Escape|<ctrl>w': () => win.close() }))\n    win.show()\n}\n"
  },
  {
    "path": "src/book-viewer.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport GLib from 'gi://GLib'\nimport Gio from 'gi://Gio'\nimport GObject from 'gi://GObject'\nimport WebKit from 'gi://WebKit'\nimport Gdk from 'gi://Gdk'\nimport Pango from 'gi://Pango'\nimport { gettext as _ } from 'gettext'\n\nimport * as utils from './utils.js'\nimport * as format from './format.js'\nimport { WebView } from './webview.js'\n\nimport './toc.js'\nimport './search.js'\nimport './navbar.js'\nimport { AnnotationPopover, importAnnotations, exportAnnotations } from './annotations.js'\nimport { SelectionPopover } from './selection-tools.js'\nimport { ImageViewer } from './image-viewer.js'\nimport { formatLanguageMap, formatAuthors, makeBookInfoWindow } from './book-info.js'\nimport { themes, invertTheme, themeCssProvider } from './themes.js'\nimport { dataStore, BookData } from './data.js'\n\n// for use in the WebView\nconst uiText = {\n    loc: _('Loc. %s of %s'),\n    page: _('Page %s of %s'),\n    pageWithoutTotal: _('Page %s'),\n    close: _('Close'),\n    references: {\n        'footnote': _('Footnote'),\n        'footnote-go': _('Go to Footnote'),\n        'endnote': _('Endnote'),\n        'endnote-go': _('Go to Endnote'),\n        'note': _('Note'),\n        'note-go': _('Go to Note'),\n        'glossary': _('Definition'),\n        'glossary-go': _('Go to Definition'),\n        'biblioentry': _('Bibliography'),\n        'biblioentry-go': _('Go to Bibliography'),\n    },\n}\n\nconst userStylesheet = utils.readFile(Gio.File.new_for_path(\n    pkg.configpath('user-stylesheet.css')))\n\nconst ViewSettings = utils.makeDataClass('FoliateViewSettings', {\n    'brightness': 'double',\n    'line-height': 'double',\n    'justify': 'boolean',\n    'hyphenate': 'boolean',\n    'gap': 'double',\n    'max-inline-size': 'uint',\n    'max-block-size': 'uint',\n    'max-column-count': 'uint',\n    'scrolled': 'boolean',\n    'animated': 'boolean',\n    'invert': 'boolean',\n    'theme': 'string',\n    'autohide-cursor': 'boolean',\n    'override-font': 'boolean',\n})\n\nconst FontSettings = utils.makeDataClass('FoliateFontSettings', {\n    'serif': 'string',\n    'sans-serif': 'string',\n    'monospace': 'string',\n    'default': 'uint',\n    'default-size': 'double',\n    'minimum-size': 'double',\n})\n\nconst getFamily = str => Pango.FontDescription.from_string(str).get_family()\n\nconst ViewPreferencesWindow = GObject.registerClass({\n    GTypeName: 'FoliateViewPreferencesWindow',\n    Template: pkg.moduleuri('ui/view-preferences-window.ui'),\n    Properties: utils.makeParams({\n        'font-settings': 'object',\n        'view-settings': 'object',\n    }),\n    InternalChildren: [\n        'default-font', 'override-font',\n        'serif-font', 'sans-serif-font', 'monospace-font',\n        'default-font-size', 'minimum-font-size',\n        'line-height', 'justify', 'hyphenate', 'gap',\n        'max-inline-size', 'max-block-size', 'max-column-count',\n        'theme-flow-box',\n        'reduce-animation',\n    ],\n}, class extends Adw.PreferencesDialog {\n    constructor(params) {\n        super(params)\n        this.font_settings.bindProperties({\n            'serif': [this._serif_font, 'font'],\n            'sans-serif': [this._sans_serif_font, 'font'],\n            'monospace': [this._monospace_font, 'font'],\n            'default': [this._default_font, 'selected'],\n            'default-size': [this._default_font_size, 'value'],\n            'minimum-size': [this._minimum_font_size, 'value'],\n        })\n        this.viewSettings.bindProperties({\n            'line-height': [this._line_height, 'value'],\n            'justify': [this._justify, 'active'],\n            'hyphenate': [this._hyphenate, 'active'],\n            'gap': [this._gap, 'value'],\n            'max-inline-size': [this._max_inline_size, 'value'],\n            'max-block-size': [this._max_block_size, 'value'],\n            'max-column-count': [this._max_column_count, 'value'],\n            'animated': [this._reduce_animation, 'active', true],\n            'override-font': [this._override_font, 'active'],\n        })\n\n        const actionGroup = utils.addPropertyActions(this.viewSettings, ['theme'])\n        this.insert_action_group('view-settings', actionGroup)\n        let group = null\n        for (const theme of themes) {\n            const widget = new Gtk.Box({ spacing: 6 })\n            const check = new Gtk.CheckButton({\n                group,\n                action_name: 'view-settings.theme',\n                action_target: new GLib.Variant('s', theme.name),\n            })\n            group ??= check\n            const label = new Gtk.Label({\n                label: theme.label,\n                hexpand: true,\n            })\n            widget.append(check)\n            widget.append(label)\n            widget.add_css_class(theme.id)\n            widget.add_css_class('card')\n            this._theme_flow_box.append(widget)\n        }\n        const styleManager = Adw.StyleManager.get_default()\n        if (styleManager.dark) this.add_css_class('is-dark')\n        const handler = styleManager.connect('notify::dark', ({ dark }) => {\n            if (dark) this.add_css_class('is-dark')\n            else this.remove_css_class('is-dark')\n        })\n        this.connect('destroy', () => styleManager.disconnect(handler))\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateBookView',\n    Signals: {\n        'book-ready': { param_types: [GObject.TYPE_JSOBJECT] },\n        'book-error': { param_types: [GObject.TYPE_JSOBJECT] },\n        'dialog-open': { param_types: [GObject.TYPE_JSOBJECT] },\n        'dialog-close': { param_types: [GObject.TYPE_JSOBJECT] },\n        'relocate': { param_types: [GObject.TYPE_JSOBJECT] },\n        'external-link': { param_types: [GObject.TYPE_JSOBJECT] },\n        'selection': { param_types: [GObject.TYPE_JSOBJECT] },\n        'create-overlay': { param_types: [GObject.TYPE_JSOBJECT] },\n        'add-annotation': { param_types: [GObject.TYPE_JSOBJECT] },\n        'delete-annotation': { param_types: [GObject.TYPE_JSOBJECT] },\n        'show-image': { param_types: [GObject.TYPE_JSOBJECT] },\n        'show-selection': {\n            param_types: [GObject.TYPE_JSOBJECT],\n            return_type: GObject.TYPE_JSOBJECT,\n        },\n    },\n}, class extends Gtk.Overlay {\n    #path\n    #webView = utils.connect(new WebView({\n        settings: new WebKit.Settings({\n            enable_write_console_messages_to_stdout: true,\n            enable_developer_extras: true,\n            enable_back_forward_navigation_gestures: false,\n            enable_hyperlink_auditing: false,\n            enable_html5_database: false,\n            enable_html5_local_storage: false,\n            enable_smooth_scrolling: false,\n        }),\n        // needed for playing media overlay\n        website_policies: new WebKit.WebsitePolicies({\n            autoplay: WebKit.AutoplayPolicy.ALLOW,\n        }),\n    }), {\n        'run-file-chooser': (_, req) =>\n            (req.select_files([encodeURI(this.#path)]), true),\n        'context-menu': this.#contextMenu.bind(this),\n    })\n    #bookReady = false\n    #pinchFactor = 1\n    #dialogOpened = false\n    fontSettings = new FontSettings({\n        'serif': 'Serif 12',\n        'sans-serif': 'Sans 12',\n        'monospace': 'Monospace 12',\n        'default': 'serif',\n        'default-size': 16,\n    })\n    viewSettings = new ViewSettings({\n        'brightness': 1,\n        'line-height': 1.5,\n        'justify': true,\n        'hyphenate': true,\n        'gap': 0.06,\n        'max-inline-size': 720,\n        'max-block-size': 1440,\n        'max-column-count': 2,\n        'scrolled': false,\n        'animated': true,\n    })\n    constructor(params) {\n        super(params)\n        this.child = this.#webView\n        const initSelection = this.#webView.provide('showSelection', payload =>\n            this.emit('show-selection', payload))\n        this.#webView.registerHandler('viewer', payload => {\n            if (payload.type === 'ready') {\n                this.#exec('init', { uiText })\n                initSelection()\n            }\n            else if (payload.type === 'pinch-zoom') this.#pinchFactor = payload.scale\n            else if (payload.type === 'history-index-change') {\n                this.actionGroup.lookup_action('back').enabled = payload.canGoBack\n                this.actionGroup.lookup_action('forward').enabled = payload.canGoForward\n            }\n            else this.emit(payload.type, payload)\n        })\n        this.connect('book-ready', () => this.#bookReady = true)\n        this.connect('dialog-open', () => this.#dialogOpened = true)\n        this.connect('dialog-close', () => this.#dialogOpened = false)\n\n        // handle scroll events\n        let isDiscrete = true, dxLast, dyLast\n        const scrollPageAsync = utils.debounce((dx, dy) => {\n            if (Math.abs(dx) > Math.abs(dy)) {\n                if (dx > 0) return this.goRight()\n                else if (dx < 0) return this.goLeft()\n            } else {\n                if (dy > 0) return this.next()\n                else if (dy < 0) return this.prev()\n            }\n        }, 100, true)\n        this.#webView.add_controller(utils.connect(new Gtk.EventControllerScroll({\n            flags: Gtk.EventControllerScrollFlags.BOTH_AXES,\n        }), {\n            'scroll-begin': () => isDiscrete = false,\n            'scroll': (_, dx, dy) => {\n                if (this.#pinchFactor > 1\n                || this.viewSettings.scrolled\n                || this.#dialogOpened) return false\n                if (isDiscrete) scrollPageAsync(dx, dy)\n                else {\n                    dxLast = dx\n                    dyLast = dy\n                    this.#exec('reader.scrollBy', [dx, dy])\n                }\n                return true\n            },\n            'scroll-end': () => {\n                if (dxLast != null) this.#exec('reader.snap', [dxLast, dyLast])\n                isDiscrete = false\n                dxLast = null\n                dyLast = null\n            },\n        }))\n\n        // Mouse Forward/Backward\n        const gestureForward = new Gtk.GestureClick()\n        const gestureBack = new Gtk.GestureClick()\n        gestureForward.set_button(9)\n        gestureBack.set_button(8)\n        this.#webView.add_controller(utils.connect(gestureForward,{\n\t    'pressed': () => this.#exec('reader.view.history.forward'),\n        }))\n        this.#webView.add_controller(utils.connect(gestureBack,{\n\t    'pressed': () => this.#exec('reader.view.history.back'),\n        }))\n\n        const applyStyle = () => this.#applyStyle().catch(e => console.error(e))\n        this.viewSettings.connectAll(applyStyle)\n        this.fontSettings.connectAll(applyStyle)\n        this.connect('book-ready', applyStyle)\n\n        this.#webView.connect('notify::zoom-level', webView => {\n            const z = webView.zoom_level\n            this.actionGroup.lookup_action('zoom-out').enabled = z > 0.2\n            this.actionGroup.lookup_action('zoom-in').enabled = z < 4\n        })\n\n        this.actionGroup = utils.addMethods(this, {\n            actions: [\n                'reload', 'inspector', 'prev', 'next', 'go-left', 'go-right',\n                'scroll-up', 'scroll-down',\n                'prev-section', 'next-section', 'first-section', 'last-section',\n                'back', 'forward', 'zoom-in', 'zoom-restore', 'zoom-out', 'print',\n            ],\n        })\n        utils.addPropertyActions(this.viewSettings,\n            this.viewSettings.keys, this.actionGroup)\n\n        this.actionGroup.lookup_action('back').enabled = false\n        this.actionGroup.lookup_action('forward').enabled = false\n    }\n    #exec(...args) {\n        return this.#webView.exec(...args).catch(e => console.error(e))\n    }\n    async #applyStyle() {\n        const font = this.fontSettings\n        Object.assign(this.#webView.get_settings(), {\n            serif_font_family: getFamily(font.serif),\n            sans_serif_font_family: getFamily(font.sans_serif),\n            monospace_font_family: getFamily(font.monospace),\n            default_font_family: getFamily(font.default === 1\n                ? font.sans_serif : font.serif),\n            default_font_size: font.default_size,\n            // TODO: disable this for fixed-layout\n            minimum_font_size: font.minimum_size,\n        })\n        if (!this.#bookReady) return\n        const view = this.viewSettings\n        const theme = themes.find(theme => theme.name === view.theme) ?? themes[0]\n        await this.#exec('reader.setAppearance', {\n            layout: {\n                gap: view.gap,\n                maxInlineSize: view.max_inline_size,\n                maxBlockSize: view.max_block_size,\n                maxColumnCount: view.max_column_count,\n                flow: view.scrolled ? 'scrolled' : 'paginated',\n                animated: view.animated,\n            },\n            style: {\n                lineHeight: view.line_height,\n                justify: view.justify,\n                hyphenate: view.hyphenate,\n                invert: view.invert,\n                theme: view.invert ? invertTheme(theme) : theme,\n                overrideFont: view.override_font,\n                userStylesheet,\n            },\n            autohideCursor: view.autohide_cursor,\n        })\n    }\n    #contextMenu() {\n        return true\n    }\n    open(file) {\n        this.#bookReady = false\n        if (file) this.#path = file.get_path()\n        this.#webView.loadURI('foliate:///reader/reader.html')\n            .catch(e => console.error(e))\n    }\n    reload() {\n        this.open()\n    }\n    zoomIn() { this.#webView.zoom_level += 0.1 }\n    zoomOut() { this.#webView.zoom_level -= 0.1 }\n    zoomRestore() { this.#webView.zoom_level = 1 }\n    inspector() {\n        this.#webView.get_inspector().show()\n    }\n    getRect({ x, y }) {\n        const factor = this.#pinchFactor * this.#webView.zoom_level\n        return new Gdk.Rectangle({ x: factor * x, y: factor * y })\n    }\n    showPopover(popover, point, dir) {\n        this.add_overlay(popover)\n        popover.connect('closed', () => utils.wait(0).then(() => {\n            this.remove_overlay(popover)\n            this.deselect()\n        }))\n        popover.position = dir === 'up' ? Gtk.PositionType.TOP : Gtk.PositionType.BOTTOM\n        popover.pointing_to = this.getRect(point)\n        popover.popup()\n    }\n    showRibbon(x) {\n        return this.#webView.run(`document.querySelector('#ribbon').style.visibility =\n            '${x ? 'visible' : 'hidden'}'`).catch(e => console.error(e))\n    }\n    goTo(x) { return this.#exec('reader.view.goTo', x) }\n    goToFraction(x) { return this.#exec('reader.view.goToFraction', x) }\n    select(x) { return this.#exec('reader.view.select', x) }\n    deselect() { return this.#exec('reader.view.deselect') }\n    getTOCItemOf(x) { return this.#exec('reader.view.getTOCItemOf', x) }\n    prev() { return this.#exec('reader.view.prev') }\n    next() { return this.#exec('reader.view.next') }\n    goLeft() { return this.#exec('reader.view.goLeft') }\n    goRight() { return this.#exec('reader.view.goRight') }\n    get #scrollDistance() {\n        return this.fontSettings.default_size * this.viewSettings.line_height * 3\n    }\n    scrollUp() { return this.#exec('reader.view.prev', this.#scrollDistance) }\n    scrollDown() { return this.#exec('reader.view.next', this.#scrollDistance) }\n    // TODO: these should push history\n    prevSection() { return this.#exec('reader.view.renderer.prevSection') }\n    nextSection() { return this.#exec('reader.view.renderer.nextSection') }\n    firstSection() { return this.#exec('reader.view.renderer.firstSection') }\n    lastSection() { return this.#exec('reader.view.renderer.lastSection') }\n    back() { return this.#exec('reader.view.history.back') }\n    forward() { return this.#exec('reader.view.history.forward') }\n    search(x) { return this.#webView.iter('reader.view.search', x) }\n    clearSearch() { return this.#webView.iter('reader.view.clearSearch') }\n    showAnnotation(x) { return this.#exec('reader.view.showAnnotation', x) }\n    addAnnotation(x) { return this.#exec('reader.view.addAnnotation', x) }\n    deleteAnnotation(x) { return this.#exec('reader.view.deleteAnnotation', x) }\n    print() { return this.#exec('reader.print') }\n    initTTS(x) { return this.#exec('reader.view.initTTS', x) }\n    ttsStart() { return this.#exec('reader.view.tts.start') }\n    ttsPrev(x) { return this.#exec('reader.view.tts.prev', x) }\n    ttsNext(x) { return this.#exec('reader.view.tts.next', x) }\n    ttsResume() { return this.#exec('reader.view.tts.resume') }\n    ttsSetMark(x) { return this.#exec('reader.view.tts.setMark', x) }\n    mediaOverlayStart() { return this.#exec('reader.view.startMediaOverlay') }\n    mediaOverlayPause() { return this.#exec('reader.view.mediaOverlay.pause') }\n    mediaOverlayResume() { return this.#exec('reader.view.mediaOverlay.resume') }\n    mediaOverlayStop() { return this.#exec('reader.view.mediaOverlay.stop') }\n    mediaOverlayPrev() { return this.#exec('reader.view.mediaOverlay.prev') }\n    mediaOverlayNext() { return this.#exec('reader.view.mediaOverlay.next') }\n    mediaOverlaySetVolume(x) { return this.#exec('reader.view.mediaOverlay.setVolume', x) }\n    mediaOverlaySetRate(x) { return this.#exec('reader.view.mediaOverlay.setRate', x) }\n    getCover() { return this.#exec('reader.getCover').then(utils.base64ToPixbuf) }\n    init(x) { return this.#exec('reader.view.init', x) }\n    get webView() { return this.#webView }\n    grab_focus() { return this.#webView.grab_focus() }\n})\n\nconst autohide = (revealer, shouldStayVisible) => {\n    const show = () => revealer.reveal_child = true\n    const hide = () => revealer.reveal_child = false\n    const sync = () => revealer.reveal_child = shouldStayVisible()\n    revealer.add_controller(utils.connect(\n        new Gtk.EventControllerMotion(), { 'enter': show, 'leave': sync }))\n    revealer.add_controller(utils.connect(\n        new Gtk.GestureClick(), { 'pressed': show }))\n    return { show, hide, sync }\n}\n\nconst makeIdentifier = file => {\n    try {\n        const stream = file.read(null)\n        // 10000000 might not be the best value but I guess we will stick to it\n        // for compatibility with previous versions\n        const bytes = stream.read_bytes(10000000, null)\n        const md5 = GLib.compute_checksum_for_bytes(GLib.ChecksumType.MD5, bytes)\n        return `foliate:${md5}`\n    } catch(e) {\n        console.warn(e)\n        return null\n    }\n}\n\nexport const importFiles = files => {\n    let currentFile\n    let resolveFile, rejectFile\n    const webView = utils.connect(new WebView({\n        settings: new WebKit.Settings({\n            enable_write_console_messages_to_stdout: true,\n            enable_html5_database: false,\n            enable_html5_local_storage: false,\n        }),\n    }), {\n        'run-file-chooser': (_, req) =>\n            (req.select_files([encodeURI(currentFile.get_path())]), true),\n    })\n    const save = async book => {\n        book.metadata.identifier ||= makeIdentifier(currentFile)\n        const { identifier } = book.metadata\n        if (!identifier) throw new Error('Could not get identifier')\n        const data = new BookData(identifier)\n        data.storage.set('metadata', book.metadata, false)\n        data.saveURI(currentFile)\n        const cover = await webView.exec('reader.getCover').then(utils.base64ToPixbuf)\n        if (cover) data.saveCover(cover)\n        data.storage.saveNow()\n    }\n    const open = async file => {\n        currentFile = file\n        await webView.exec('loadFile')\n        await new Promise((resolve, reject) => {\n            resolveFile = resolve\n            rejectFile = reject\n        })\n    }\n    return new Promise((resolve, reject) => {\n        webView.registerHandler('viewer', payload => {\n            if (payload.type === 'ready') webView.exec('initImport')\n                .then(async () => {\n                    let results = []\n                    for (const file of files) {\n                        const result = open(file)\n                            .then(() => true)\n                            .catch(e => new Error(e, { cause: e }))\n                        results.push([file, await result])\n                    }\n                    resolve(results)\n                })\n                .catch(reject)\n            else if (payload.type === 'book-error') rejectFile(payload.id)\n            else if (payload.type === 'book-ready')\n                save(payload.book).then(resolveFile).catch(rejectFile)\n        })\n        webView.loadURI('foliate:///reader/reader.html').catch(reject)\n    }).finally(() => {\n        webView.run_dispose()\n    })\n}\n\nexport const BookViewer = GObject.registerClass({\n    GTypeName: 'FoliateBookViewer',\n    Template: pkg.moduleuri('ui/book-viewer.ui'),\n    Properties: utils.makeParams({\n        'fold-sidebar': 'boolean',\n        'highlight-color': 'string',\n    }),\n    InternalChildren: [\n        'top-overlay-box', 'top-overlay-stack',\n        'error-page', 'error-page-expander', 'error-page-details',\n        'view', 'flap', 'breakpoint-bin', 'sidebar', 'resize-handle',\n        'headerbar-revealer', 'navbar-revealer',\n        'book-menu-button', 'bookmark-button',\n        'view-popover', 'zoom-button',\n        'navbar',\n        'library-button', 'pin-button', 'sidebar-stack',\n        'contents-stack', 'contents-stack-switcher',\n        'toc-view',\n        'search-view', 'search-bar', 'search-entry',\n        'annotation-stack', 'annotation-view', 'annotation-search-entry',\n        'bookmark-stack', 'bookmark-view',\n        'book-info', 'book-cover', 'book-title', 'book-author',\n    ],\n}, class extends Gtk.Overlay {\n    #file\n    #book\n    #cover\n    #data\n    constructor(params) {\n        super(params)\n        utils.connect(this._view, {\n            'book-error': (_, x) => this.#onError(x),\n            'book-ready': (_, x) => this.#onBookReady(x).catch(e => console.error(e)),\n            'relocate': (_, x) => this.#onRelocate(x),\n            'external-link': (_, x) => new Gtk.UriLauncher({ uri: x.href }).launch(this.root, null, null),\n            'selection': (_, x) => this.#onSelection(x),\n            'create-overlay': (_, x) => this.#createOverlay(x),\n            'show-image': (_, x) => this.#showImage(x),\n            'show-selection': (_, x) => this.#showSelection(x),\n            'dialog-open': () => {\n                this._headerbar_revealer.visible = false\n                this._navbar_revealer.visible = false\n            },\n            'dialog-close': () => {\n                this._headerbar_revealer.visible = true\n                this._navbar_revealer.visible = true\n            },\n        })\n        this.highlight_color = 'yellow'\n        utils.bindSettings('viewer', this, ['fold-sidebar', 'highlight-color'])\n        this._view.fontSettings.bindSettings('viewer.font')\n        this._view.viewSettings.bindSettings('viewer.view')\n        this._view.webView.connect('notify::zoom-level', webView =>\n            this._zoom_button.label = format.percent(webView.zoom_level))\n        this._zoom_button.label = format.percent(this._view.webView.zoom_level)\n\n        Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(),\n            themeCssProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)\n        let lastThemeClass\n        const recolorUI = view => {\n            const theme = themes.find(theme => theme.name === view.theme) ?? themes[0]\n            const name = theme.id\n            if (lastThemeClass) {\n                this._sidebar.parent.remove_css_class('sidebar-' + lastThemeClass)\n                this._headerbar_revealer.get_first_child().remove_css_class(lastThemeClass)\n                this._navbar_revealer.get_first_child().remove_css_class(lastThemeClass)\n            }\n            this._sidebar.parent.add_css_class('sidebar-' + name)\n            this._headerbar_revealer.get_first_child().add_css_class(name)\n            this._navbar_revealer.get_first_child().add_css_class(name)\n            lastThemeClass = name\n        }\n        recolorUI(this._view.viewSettings)\n        this._view.viewSettings.connect('notify::theme', recolorUI)\n\n        // sidebar\n        let breakpointApplied\n        this._breakpoint_bin.add_breakpoint(utils.connect(new Adw.Breakpoint({\n            // min sidebar width (defaults to 180) + min page width (360) = 540\n            condition: Adw.BreakpointCondition.parse('max-width: 540px'),\n        }), {\n            'apply': () => {\n                breakpointApplied = true\n                this._flap.collapsed = true\n                this._pin_button.hide()\n            },\n            'unapply': () => {\n                breakpointApplied = false\n                this._flap.collapsed = this.fold_sidebar\n                this._pin_button.show()\n            },\n        }))\n        const setFoldSidebar = () =>\n            this._flap.collapsed = breakpointApplied || this.fold_sidebar\n        this.connect('notify::fold-sidebar', setFoldSidebar)\n        setFoldSidebar()\n        this._resize_handle.cursor = Gdk.Cursor.new_from_name('col-resize', null)\n        this._resize_handle.add_controller(utils.connect(new Gtk.GestureDrag(), {\n            'drag-update': (_, x) => {\n                if (this._flap.collapsed) {\n                    this._flap.max_sidebar_width += x\n                } else {\n                    const sidebarWidth = this._sidebar.get_width() + x\n                    const totalWidth = this.get_width()\n                    this._flap.sidebar_width_fraction =\n                        Math.max(0, Math.min(1, sidebarWidth / totalWidth))\n                }\n            },\n        }))\n        const onSidebarCollapsedChanged = flap =>\n            flap.max_sidebar_width = flap.collapsed ? 300 : 360\n        onSidebarCollapsedChanged(this._flap)\n        utils.connect(this._flap, {\n            'notify::collapsed': onSidebarCollapsedChanged,\n            'notify::show-sidebar': flap =>\n                (flap.show_sidebar ? this._library_button : this._view).grab_focus(),\n        })\n\n        // revealers\n        const autohideHeaderbar = autohide(this._headerbar_revealer,\n            () => this._view_popover.visible)\n        const autohideNavbar = autohide(this._navbar_revealer,\n            () => this._navbar.shouldStayVisible)\n        this._view_popover.connect('closed', autohideHeaderbar.hide)\n        this._bookmark_button.connect('clicked', autohideHeaderbar.hide)\n        this._navbar.connect('closed', autohideNavbar.hide)\n        this._navbar.connect('opened', autohideNavbar.show)\n        this._view.webView.add_controller(utils.connect(new Gtk.GestureClick(), {\n            'pressed': () => {\n                autohideHeaderbar.hide()\n                autohideNavbar.hide()\n            },\n        }))\n\n        // search\n        this._search_view.getGenerator = params => this._view.search(params)\n        utils.connect(this._search_view, {\n            'show-results': () => this._sidebar_stack.visible_child_name = 'search',\n            'no-results': () => this._sidebar_stack.visible_child_name = 'search-empty',\n            'clear-results': () => this._view.clearSearch(),\n            'show-cfi': (_, cfi) => {\n                this._view.select(cfi)\n                if (this._flap.collapsed) this._flap.show_sidebar = false\n            },\n        })\n        this.insert_action_group('search', this._search_view.actionGroup)\n        this._search_bar.connect_entry(this._search_entry)\n        this._search_bar.connect('notify::search-mode-enabled', () => {\n            this._search_view.reset().catch(e => console.error(e))\n            this._sidebar_stack.visible_child_name = 'main'\n        })\n        this._sidebar_stack.connect('notify::visible-child-name', stack =>\n            this._contents_stack_switcher.visible = stack.visible_child_name === 'main')\n        utils.connect(this._search_entry, {\n            'activate': this._search_view.doSearch,\n            'changed': entry =>\n                entry.secondary_icon_name = entry.text ? 'edit-clear-symbolic' : '',\n            'icon-release': (entry, pos) =>\n                pos === Gtk.EntryIconPosition.SECONDARY ? entry.text = '' : null,\n        })\n        this._search_entry.add_controller(utils.addShortcuts({\n            'Escape': () => this._search_bar.search_mode_enabled = false }))\n\n        // navigation\n        this._toc_view.connect('go-to-href', (_, href) => {\n            this._view.goTo(href)\n            if (this._flap.collapsed) this._flap.show_sidebar = false\n            this._view.grab_focus()\n        })\n        this._navbar.connect('go-to-cfi', (_, x) => this._view.goTo(x))\n        this._navbar.connect('go-to-section', (_, x) => this._view.goTo(x))\n        this._navbar.connect('go-to-fraction', (_, x) => this._view.goToFraction(x))\n\n        // annotations\n        utils.connect(this._bookmark_view, {\n            'notify::has-items': view => this._bookmark_stack\n                .visible_child_name = view.has_items ? 'main' : 'empty',\n            'notify::has-items-in-view': view => {\n                const b = view.has_items_in_view\n                this._view.showRibbon(b)\n                Object.assign(this._bookmark_button, {\n                    visible: true,\n                    icon_name: b\n                        ? 'bookmark-filled-symbolic'\n                        : 'bookmark-new-symbolic',\n                    tooltip_text: b\n                        ? _('Remove bookmark')\n                        : _('Add bookmark'),\n                })\n            },\n            'go-to-bookmark': (_, target) => {\n                this._view.goTo(target)\n                if (this._flap.collapsed) this._flap.show_sidebar = false\n            },\n        })\n        utils.connect(this._annotation_view, {\n            'go-to-annotation': (_, annotation) => {\n                this._view.showAnnotation(annotation)\n                if (this._flap.collapsed) this._flap.show_sidebar = false\n            },\n            'delete-annotation': (_, annotation) =>\n                this.#deleteAnnotation(annotation),\n        })\n        this._annotation_search_entry.connect('search-changed', entry =>\n            this._annotation_view.filter(entry.text))\n\n        // TTS\n        utils.connect(this._navbar.tts_box, {\n            'init': () => this._view.initTTS(),\n            'start': () => this._view.ttsStart(),\n            'resume': () => this._view.ttsResume(),\n            'backward': () => this._view.ttsPrev(),\n            'forward': () => this._view.ttsNext(),\n            'backward-paused': () => this._view.ttsPrev(true),\n            'forward-paused': () => this._view.ttsNext(true),\n            'highlight': (_, mark) => this._view.ttsSetMark(mark),\n            // FIXME: check if at end\n            'next-section': () => this._view.next().then(() => true),\n        })\n        utils.connect(this._navbar.media_overlay_box, {\n            'start': () => this._view.mediaOverlayStart(),\n            'pause': () => this._view.mediaOverlayPause(),\n            'resume': () => this._view.mediaOverlayResume(),\n            'stop': () => this._view.mediaOverlayStop(),\n            'backward': () => this._view.mediaOverlayPrev(),\n            'forward': () => this._view.mediaOverlayNext(),\n            'notify::volume': box => this._view.mediaOverlaySetVolume(box.volume),\n            'notify::rate': box => this._view.mediaOverlaySetRate(box.rate),\n        })\n\n        // setup actions\n        const actions = utils.addMethods(this, {\n            actions: [\n                'toggle-sidebar', 'toggle-search', 'show-location',\n                'toggle-toc', 'toggle-annotations', 'toggle-bookmarks',\n                'preferences', 'help-overlay', 'show-info', 'bookmark',\n                'export-annotations', 'import-annotations',\n            ],\n            props: ['fold-sidebar'],\n        })\n        utils.addPropertyActions(Adw.StyleManager.get_default(), ['color-scheme'], actions)\n        this.insert_action_group('view', this._view.actionGroup)\n        this.insert_action_group('viewer', actions)\n        const shortcuts = {\n            'F9': 'viewer.toggle-sidebar',\n            '<ctrl>f|slash': 'viewer.toggle-search',\n            '<ctrl>l': 'viewer.show-location',\n            '<ctrl>i|<alt>Return': 'viewer.show-info',\n            '<ctrl>t': 'viewer.toggle-toc',\n            '<ctrl><alt>a': 'viewer.toggle-annotations',\n            '<ctrl><alt>d': 'viewer.toggle-bookmarks',\n            '<ctrl>d': 'viewer.bookmark',\n            '<alt>comma': 'viewer.preferences',\n            '<ctrl>question': 'viewer.help-overlay',\n            '<ctrl><shift>g': 'search.prev',\n            '<ctrl>g': 'search.next',\n            '<ctrl>c': 'selection.copy',\n            '<ctrl>f': 'selection.search',\n            'F12': 'view.inspector',\n            '<ctrl>m': 'view.scrolled',\n            '<ctrl>r|F5': 'view.reload',\n            'plus|equal|KP_Add|KP_Equal|<ctrl>plus|<ctrl>equal|<ctrl>KP_Add|<ctrl>KP_Equal': 'view.zoom-in',\n            'minus|KP_Subtract|<ctrl>minus|<ctrl>KP_Subtract': 'view.zoom-out',\n            '0|1|KP_0|<ctrl>0|<ctrl>KP_0': 'view.zoom-restore',\n            'p|Page_Up|KP_Page_Up|<shift>space': 'view.prev',\n            'n|Page_Down|KP_Page_Down|space': 'view.next',\n            'k|Up|KP_Up': 'view.scroll-up',\n            'j|Down|KP_Down': 'view.scroll-down',\n            'h|Left|KP_Left': 'view.go-left',\n            'l|Right|KP_Right': 'view.go-right',\n            '<alt>Left|<alt>KP_Left': 'view.back',\n            '<alt>Right|<alt>KP_Right': 'view.forward',\n            '<ctrl>p': 'view.print',\n        }\n        this.add_controller(utils.addShortcuts(shortcuts))\n        // TODO: disable these when pinch zoomed\n        this._view.webView.add_controller(utils.addShortcuts(shortcuts))\n    }\n    #onError({ id, message, stack }) {\n        const desc = id === 'not-found' ? _('File not found')\n            : id === 'unsupported-type' ? _('File type not supported')\n            : _('An error occurred')\n        this._error_page.description = desc\n        if (message) {\n            this._error_page_details.label =\n                'Error: ' + (message ?? '') + '\\n' + (stack ?? '')\n            this._error_page_expander.show()\n        } else this._error_page_expander.hide()\n        this._top_overlay_box.show()\n        this._top_overlay_stack.visible_child_name = 'error'\n    }\n    async #onBookReady({ book, reader }) {\n        this._top_overlay_box.hide()\n        this.#book = book\n        book.metadata ??= {}\n        this._book_title.label = formatLanguageMap(book.metadata.title)\n        this._book_author.label = formatAuthors(book.metadata)\n        this._book_author.visible = !!this._book_author.label\n        this.root.title = this._book_title.label\n\n        const { language: { direction } } = reader.view\n        utils.setDirection(this._book_info, direction)\n        for (const x of [\n            this._search_view,\n            this._toc_view,\n            this._annotation_view,\n            this._bookmark_view,\n        ]) {\n            utils.setDirection(x.parent, direction)\n            x.dir = direction\n        }\n\n        this._toc_view.load(book.toc)\n        this._navbar.setDirection(book.dir)\n        this._navbar.loadSectionFractions(reader.sectionFractions)\n        this._navbar.loadPageList(book.pageList, reader.pageTotal)\n        this._navbar.loadLandmarks(book.landmarks)\n        this._navbar.setTTSType(book.media?.duration ? 'media-overlay' : 'tts')\n\n        const cover = await this._view.getCover()\n        this.#cover = cover\n        if (cover) {\n            this._book_cover.set_from_pixbuf(cover)\n            this._book_cover.show()\n        } else {\n            this._book_cover.hide()\n        }\n\n        book.metadata.identifier ||= makeIdentifier(this.#file)\n        const { identifier } = book.metadata\n        if (identifier) {\n            this.#data = await dataStore.get(identifier, this._view)\n            const { annotations, bookmarks } = this.#data\n            this._annotation_view.setupModel(annotations)\n            this._bookmark_view.setupModel(bookmarks)\n            const updateAnnotations = () => this._annotation_stack\n                .visible_child_name = annotations.n_items > 0 ? 'main' : 'empty'\n            const updateBookmarks = () => {\n                this._bookmark_view.update()\n                this._bookmark_stack.visible_child_name =\n                    bookmarks.n_items > 0 ? 'main' : 'empty'\n            }\n            utils.connectWith(this, annotations, { 'notify::n-items': updateAnnotations })\n            utils.connectWith(this, bookmarks, { 'notify::n-items': updateBookmarks })\n            updateAnnotations()\n            updateBookmarks()\n            this.#data.storage.set('metadata', book.metadata)\n            this.#data.saveURI(this.#file)\n            if (cover) this.#data.saveCover(cover)\n        }\n        else await this._view.next()\n    }\n    #onRelocate(payload) {\n        const { section, location, tocItem, cfi } = payload\n        this._toc_view.setCurrent(tocItem?.id)\n        this._search_view.index = section.current\n        this._navbar.update(payload)\n        this._bookmark_view.update(payload)\n        this._annotation_view.update(payload)\n        if (this.#data) {\n            this.#data.storage.set('progress', [location.current, location.total])\n            this.#data.storage.set('lastLocation', cfi)\n        }\n    }\n    #deleteAnnotation(annotation) {\n        this.#data.deleteAnnotation(annotation)\n        this.root.add_toast(utils.connect(new Adw.Toast({\n            title: _('Annotation deleted'),\n            button_label: _('Undo'),\n        }), { 'button-clicked': () =>\n            this.#data.addAnnotation(annotation) }))\n    }\n    #showSelection({ type, value, text, content, lang, pos: { point, dir } }) {\n        if (type === 'annotation') return new Promise(resolve => {\n            this._annotation_view.scrollToCFI(value)\n            const annotation = this.#data.annotations.get(value)\n            const popover = utils.connect(new AnnotationPopover({ annotation }), {\n                'delete-annotation': () => this.#deleteAnnotation(annotation),\n                'select-annotation': () => resolve('select'),\n                'color-changed': (_, color) => this.highlight_color = color,\n            })\n            popover.connect('closed', () => resolve())\n            this._view.showPopover(popover, point, dir)\n        })\n        return new Promise(resolve => {\n            let resolved\n            const popover = new SelectionPopover()\n            popover.insert_action_group('selection', utils.addSimpleActions({\n                'copy': () => resolve('copy'),\n                'copy-cfi': () => utils.setClipboardText(value, this.root),\n                'copy-citation': () => resolve('copy-citation'),\n                'highlight': () => {\n                    resolved = true\n                    const annotation = this.#data.annotations.get(value)\n                    // NOTE: `content` is the `Range.toString()`\n                    // whereas `text` is the `Selection.toString()`;\n                    // not sure which would be better for this use case,\n                    // but my understanding is that a `TextQuoteSelector` is\n                    // expected to be the text itself, not the rendered result\n                    this.#data.addAnnotation(annotation ?? {\n                        value, text: content,\n                        color: this.highlight_color,\n                        created: new Date().toISOString(),\n                    }).then(() => resolve('highlight'))\n                },\n                'search': () => {\n                    this._search_entry.text = content\n                    this._search_bar.search_mode_enabled = true\n                    this._flap.show_sidebar = true\n                    this._search_view.doSearch()\n                },\n                'print': () => resolve('print'),\n                'speak-from-here': () => resolve('speak-from-here'),\n            }))\n            utils.connect(popover, {\n                'show-popover': (_, popover) =>\n                    this._view.showPopover(popover, point, dir),\n                'run-tool': () => ({ text, lang }),\n                // it seems `closed` is emitted before the actions are run\n                // so it needs the timeout\n                'closed': () => setTimeout(() => resolved ? null : resolve(), 0),\n            })\n            this._view.showPopover(popover, point, dir)\n        })\n    }\n    #onSelection(payload) {\n        const { action, text, html } = payload\n        if (action === 'copy') {\n            utils.getClipboard().set_content(Gdk.ContentProvider.new_union([\n                Gdk.ContentProvider.new_for_bytes('text/html',\n                    new TextEncoder().encode(html)),\n                Gdk.ContentProvider.new_for_value(text)]))\n            utils.addClipboardToast(this.root)\n        }\n        else if (action === 'copy-citation') {\n            const page = payload.pageItem?.label\n            const title = this._book_title.label\n            const author = this._book_author.label\n            const result = page\n                ? (author\n                    ? format.vprintf(_('‘%s’\\n—%s, “%s”, p. %s'), [text, author, title, page])\n                    : title\n                        ? format.vprintf(_('‘%s’\\n—“%s”, p. %s'), [text, title, page])\n                        : format.vprintf(_('‘%s’ (p. %s)'), [text, page])\n                )\n                : author\n                    ? format.vprintf(_('‘%s’\\n—%s, “%s”'), [text, author, title])\n                    : title\n                        ? format.vprintf(_('‘%s’\\n—“%s”'), [text, title])\n                        : format.vprintf(_('‘%s’'), [text])\n            utils.setClipboardText(result, this.root)\n        }\n        else if (action === 'speak-from-here')\n            this._navbar.tts_box.speak(payload.ssml)\n    }\n    #createOverlay({ index }) {\n        if (!this.#data) return\n        const list = this.#data.annotations.getForIndex(index)\n        if (list) for (const [, annotation] of utils.gliter(list))\n            this._view.addAnnotation(annotation)\n    }\n    #showImage({ base64, mimetype }) {\n        const pixbuf = utils.base64ToPixbuf(base64)\n        const bytes = GLib.base64_decode(base64)\n        const title = this.#book.metadata?.title\n        const win = new Adw.Window({\n            content: new Adw.ToastOverlay(),\n            title: title ? format.vprintf(_('Image from “%s”'), [title]) : _('Image'),\n        })\n        win.content.child = utils.connect(new ImageViewer({ pixbuf }), {\n            'copy': () => {\n                utils.getClipboard().set_content(Gdk.ContentProvider\n                    .new_for_bytes(mimetype, bytes))\n                utils.addClipboardToast(win.content)\n            },\n            'save-as': () => {\n                const ext = /\\/([^+]*)/.exec(mimetype)?.[1]\n                new Gtk.FileDialog({ initial_name: win.title + (ext ? `.${ext}` : '') })\n                    .save(win, null, (self, res) => {\n                        try {\n                            const file = self.save_finish(res)\n                            file.replace_contents(bytes, null, false,\n                                Gio.FileCreateFlags.REPLACE_DESTINATION, null)\n                        } catch (e) {\n                            if (e instanceof Gtk.DialogError) console.debug(e)\n                            else console.error(e)\n                        }\n                    })\n            },\n        })\n        win.add_controller(utils.addShortcuts({ '<ctrl>w': () => win.close() }))\n        win.present()\n    }\n    open(file) {\n        this._top_overlay_box.show()\n        // \"It is better not to show spinners for very short periods of time [...]\n        // consider only showing the spinner after a period of time has elapsed.\"\n        // -- https://developer.gnome.org/hig/patterns/feedback/spinners.html\n        this._top_overlay_stack.visible_child_name = 'nothing'\n        setTimeout(() => {\n            if (this._top_overlay_stack.visible_child_name === 'nothing')\n                this._top_overlay_stack.visible_child_name = 'loading'\n        }, 1000)\n        this.#file = file\n        this._view.open(file)\n    }\n    showPrimaryMenu() {\n        this._flap.show_sidebar = true\n        this._book_menu_button.popup()\n    }\n    toggleSidebar() {\n        this._flap.show_sidebar = !this._flap.show_sidebar\n    }\n    #toggleSidebarContent(name) {\n        if (this._flap.show_sidebar\n        && this._search_bar.search_mode_enabled === false\n        && this._contents_stack.visible_child_name === name)\n            this._flap.show_sidebar = false\n        else {\n            this._search_bar.search_mode_enabled = false\n            this._contents_stack.visible_child_name = name\n            this._flap.show_sidebar = true\n        }\n    }\n    toggleToc() { this.#toggleSidebarContent('toc') }\n    toggleAnnotations() { this.#toggleSidebarContent('annotations') }\n    toggleBookmarks() { this.#toggleSidebarContent('bookmarks') }\n    toggleSearch() {\n        const bar = this._search_bar\n        if (this._search_entry.has_focus)\n            bar.search_mode_enabled = false\n        else {\n            bar.search_mode_enabled = true\n            this._flap.show_sidebar = true\n            this._search_entry.grab_focus()\n        }\n    }\n    showLocation() {\n        this._navbar.showLocation()\n    }\n    showInfo() {\n        makeBookInfoWindow(this.root, this.#book.metadata, this.#cover, true)\n    }\n    preferences() {\n        const win = new ViewPreferencesWindow({\n            view_settings: this._view.viewSettings,\n            font_settings: this._view.fontSettings,\n        })\n        win.present(this.root)\n    }\n    bookmark() {\n        this._bookmark_view.toggle()\n    }\n    exportAnnotations() {\n        exportAnnotations(this.root, this.#data.storage.export())\n    }\n    importAnnotations() {\n        importAnnotations(this.root, this.#data)\n    }\n    helpOverlay() {\n        const path = pkg.modulepath('ui/help-overlay.ui')\n        const builder = pkg.useResource\n            ? Gtk.Builder.new_from_resource(path)\n            : Gtk.Builder.new_from_file(path)\n        const dialog = builder.get_object('help-overlay')\n        dialog.present(this.root)\n    }\n    vfunc_unroot() {\n        this._navbar.tts_box.kill()\n        this._view.viewSettings.unbindSettings()\n        this._view.fontSettings.unbindSettings()\n        utils.disconnectWith(this, this.#data.annotations)\n        utils.disconnectWith(this, this.#data.bookmarks)\n        dataStore.delete(this._view)\n\n        // it seems that it's necessary to explicitly destroy web view\n        this._view.webView.unparent()\n        this._view.webView.run_dispose()\n    }\n})\n"
  },
  {
    "path": "src/common/widgets.js",
    "content": "customElements.define('foliate-symbolic', class extends HTMLElement {\n    static observedAttributes = ['src']\n    #root = this.attachShadow({ mode: 'closed' })\n    #sheet = new CSSStyleSheet()\n    #img = document.createElement('img')\n    constructor() {\n        super()\n        this.attachInternals().ariaHidden = 'true'\n        this.#root.adoptedStyleSheets = [this.#sheet]\n        this.#root.append(this.#img)\n        this.#img.style.visibility = 'hidden'\n    }\n    attributeChangedCallback(_, __, val) {\n        this.#img.src = val\n        this.#sheet.replaceSync(`:host {\n            display: inline-flex;\n            background: currentColor;\n            width: min-content;\n            height: min-content;\n            mask: url(\"${encodeURI(decodeURI(val))}\");\n        }`)\n    }\n})\n\ncustomElements.define('foliate-scrolled', class extends HTMLElement {\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        const sheet = new CSSStyleSheet()\n        sheet.replaceSync(':host { overflow: auto }')\n        this.#root.adoptedStyleSheets = [sheet]\n        this.#root.append(document.createElement('slot'))\n        const top = document.createElement('div')\n        this.#root.prepend(top)\n        const bottom = document.createElement('div')\n        this.#root.append(bottom)\n        const observer = new IntersectionObserver(entries => {\n            for (const entry of entries) {\n                if (entry.target === top) {\n                    if (entry.isIntersecting) this.dataset.scrolledToTop = ''\n                    else delete this.dataset.scrolledToTop\n                }\n                else {\n                    if (entry.isIntersecting) this.dataset.scrolledToBottom = ''\n                    else delete this.dataset.scrolledToBottom\n                }\n            }\n            this.dispatchEvent(new Event('change'))\n        }, { root: this })\n        observer.observe(top)\n        observer.observe(bottom)\n    }\n})\n\ncustomElements.define('foliate-center', class extends HTMLElement {\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        const sheet = new CSSStyleSheet()\n        this.#root.adoptedStyleSheets = [sheet]\n        sheet.replaceSync(`\n        :host {\n            --max-width: 450px;\n            text-align: center;\n            display: flex;\n            width: 100%;\n            min-height: 100%;\n        }\n        :host > div {\n            margin: auto;\n            width: min(100%, var(--max-width));\n        }`)\n        const div = document.createElement('div')\n        div.append(document.createElement('slot'))\n        this.#root.append(div)\n    }\n})\n\ncustomElements.define('foliate-stack', class extends HTMLElement {\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        const sheet = new CSSStyleSheet()\n        this.#root.adoptedStyleSheets = [sheet]\n        sheet.replaceSync(`\n        ::slotted([hidden]) {\n            display: none;\n            visibility: hidden !important;\n        }`)\n        const slot = document.createElement('slot')\n        slot.addEventListener('slotchange', () => this.showChild(\n            this.querySelector(':scope > :not([hidden])') ?? this.children[0]))\n        this.#root.append(slot)\n    }\n    showChild(child) {\n        for (const el of this.children) el.hidden = el !== child\n    }\n})\n\ncustomElements.define('foliate-menu', class extends HTMLElement {\n    #root = this.attachShadow({ mode: 'closed' })\n    #internals = this.attachInternals()\n    #items = []\n    constructor() {\n        super()\n        this.#internals.role = 'menu'\n        const slot = document.createElement('slot')\n        this.#root.append(slot)\n        slot.addEventListener('slotchange', e => {\n            const els = e.target.assignedElements()\n            this.#items = els.filter(el => el.matches('[role^=\"menuitem\"]'))\n        })\n        this.addEventListener('keydown', e => this.#onKeyDown(e))\n    }\n    setFocusPrev(el) {\n        this.setFocusNext(el, this.#items.slice(0).reverse())\n    }\n    setFocusNext(el, items = this.#items) {\n        let justFound, found\n        for (const item of items) {\n            if (justFound) {\n                item.tabIndex = 0\n                item.focus()\n                found = true\n                justFound = false\n            }\n            else {\n                item.tabIndex = -1\n                if (item === el) justFound = true\n            }\n        }\n        if (!found) {\n            items[0].tabIndex = 0\n            items[0].focus()\n        }\n    }\n    #onKeyDown(e) {\n        switch (e.key) {\n            case 'ArrowUp':\n                e.preventDefault()\n                e.stopPropagation()\n                this.setFocusPrev(e.target)\n                break\n            case 'ArrowDown':\n                e.preventDefault()\n                e.stopPropagation()\n                this.setFocusNext(e.target)\n                break\n        }\n    }\n})\n\ncustomElements.define('foliate-menubutton', class extends HTMLElement {\n    #root = this.attachShadow({ mode: 'open' })\n    #button\n    #menu\n    #ariaExpandedObserver = new MutationObserver(list => {\n        for (const { target } of list)\n            target.dispatchEvent(new Event('aria-expanded'))\n    })\n    #onBlur = () => this.#button ? this.#button.ariaExpanded = 'false' : null\n    #onClick = e => {\n        if (!this.#button) return\n        const target = e.composedPath()[0]\n        if (!this.contains(target) && !this.#button.contains(target) && !this.#menu.contains(target)) {\n            this.#button.setAttribute('aria-expanded', 'false')\n        }\n    }\n    constructor() {\n        super()\n        const sheet = new CSSStyleSheet()\n        sheet.replaceSync(':host { position: relative }')\n        this.#root.adoptedStyleSheets = [sheet]\n\n        const slot = document.createElement('slot')\n        this.#root.append(slot)\n        slot.addEventListener('slotchange', e => {\n            this.#button = e.target.assignedElements()[0]\n            if (!this.#button) return\n            this.#button.ariaExpanded = 'false'\n            this.#button.ariaHasPopup = 'menu'\n\n            this.#ariaExpandedObserver.observe(this.#button,\n                { attributes: true, attributeFilter: ['aria-expanded'] })\n            this.#button.addEventListener('click', () => {\n                this.#button.ariaExpanded =\n                    this.#button.ariaExpanded === 'true' ? 'false' : 'true'\n            })\n            this.#button.addEventListener('aria-expanded', () => {\n                if (!this.#menu) return\n                if (this.#button.ariaExpanded === 'true') {\n                    this.#menu.hidden = false\n                    this.#menu.focus()\n                } else this.#menu.hidden = true\n            })\n        })\n\n        const menuSlot = document.createElement('slot')\n        menuSlot.name = 'menu'\n        this.#root.append(menuSlot)\n        menuSlot.addEventListener('slotchange', e => {\n            this.#menu = e.target.assignedElements()[0]\n            this.#menu.tabIndex = 0\n            this.#menu.hidden = true\n        })\n        menuSlot.addEventListener('keydown', e => e.key === 'Escape'\n            ? this.#button.ariaExpanded = 'false' : null)\n    }\n    connectedCallback() {\n        addEventListener('blur', this.#onBlur)\n        addEventListener('click', this.#onClick)\n    }\n    disconnectedCallback() {\n        removeEventListener('blur', this.#onBlur)\n        removeEventListener('click', this.#onClick)\n    }\n})\n"
  },
  {
    "path": "src/data.js",
    "content": "import GLib from 'gi://GLib'\nimport Gio from 'gi://Gio'\nimport GdkPixbuf from 'gi://GdkPixbuf'\nimport * as utils from './utils.js'\n\nimport { AnnotationModel, BookmarkModel } from './annotations.js'\nimport { getURIStore, getBookList } from './library.js'\n\nexport class BookData {\n    annotations = utils.connect(new AnnotationModel(), {\n        'update-annotation': async (_, annotation) => {\n            for (const view of this.views) await view.addAnnotation(annotation)\n            await this.#saveAnnotations()\n        },\n    })\n    bookmarks = new BookmarkModel()\n    constructor(key, views) {\n        this.key = key\n        this.views = views\n        this.storage = utils.connect(new utils.JSONStorage(pkg.datadir, this.key), {\n            'externally-modified': () => {\n                // TODO: the file monitor doesn't seem to work\n            },\n            'modified': storage => getBookList()?.update(storage.path),\n        })\n    }\n    async initView(view, init) {\n        const lastLocation = this.storage.get('lastLocation', null)\n        await view.init({ lastLocation })\n\n        if (init) {\n            const bookmarks = this.storage.get('bookmarks', [])\n            for (const bookmark of bookmarks) {\n                try {\n                    const item = await view.getTOCItemOf(bookmark)\n                    this.bookmarks.add(bookmark, item?.label ?? '')\n                } catch (e) {\n                    console.error(e)\n                }\n            }\n            this.bookmarks.connect('notify::n-items', () => this.#saveBookmarks())\n        }\n\n        const annotations = init\n            ? this.storage.get('annotations', [])\n            : this.annotations.export()\n        await this.addAnnotations(annotations, false)\n        return this\n    }\n    async addAnnotation(annotation, save = true) {\n        try {\n            const [view, ...views] = this.views\n            const { index, label } = await view.addAnnotation(annotation)\n            this.annotations.add(annotation, index, label)\n            for (const view of views) view.addAnnotation(annotation)\n            if (save) this.#saveAnnotations()\n            return annotation\n        } catch (e) {\n            console.error(e)\n        }\n    }\n    async addAnnotations(annotations, save = true) {\n        await Promise.all(annotations.map(x => this.addAnnotation(x, false)))\n        if (save) this.#saveAnnotations()\n    }\n    async deleteAnnotation(annotation) {\n        try {\n            const [view, ...views] = this.views\n            const { index } = await view.deleteAnnotation(annotation)\n            this.annotations.delete(annotation, index)\n            for (const view of views) view.deleteAnnotation(annotation)\n            return this.#saveAnnotations()\n        } catch (e) {\n            console.error(e)\n        }\n    }\n    #saveAnnotations() {\n        this.storage.set('annotations', this.annotations.export())\n    }\n    #saveBookmarks() {\n        this.storage.set('bookmarks', this.bookmarks.export())\n    }\n    saveCover(cover) {\n        const settings = utils.settings('library')\n        if (!(settings?.get_boolean('show-covers') ?? true)) return\n        const path = pkg.cachepath(`${encodeURIComponent(this.key)}.png`)\n        if (Gio.File.new_for_path(path).query_exists(null)) return\n        const width = settings?.get_int('cover-size') ?? 256\n        const ratio = width / cover.get_width()\n        const scaled = ratio >= 1 ? cover\n            : cover.scale_simple(width, Math.round(cover.get_height() * ratio),\n                GdkPixbuf.InterpType.BILINEAR)\n        scaled.savev(path, 'png', [], [])\n    }\n    saveURI(file) {\n        const path = file.get_path()\n        const homeDir = GLib.get_home_dir()\n        getURIStore().set(this.key, path.startsWith(homeDir)\n            ? path.replace(homeDir, '~')\n            : file.get_uri())\n    }\n}\n\nclass BookDataStore {\n    #map = new Map()\n    #views = new Map()\n    #keys = new WeakMap()\n    get(key, view) {\n        const map = this.#map\n        if (map.has(key)) {\n            this.#views.get(key).add(view)\n            this.#keys.set(view, key)\n            return map.get(key).initView(view)\n        }\n        else {\n            const views = new Set([view])\n            const obj = new BookData(key, views)\n            map.set(key, obj)\n            this.#views.set(key, views)\n            this.#keys.set(view, key)\n            return obj.initView(view, true)\n        }\n    }\n    delete(view) {\n        const key = this.#keys.get(view)\n        const views = this.#views.get(key)\n        views.delete(view)\n        if (!views.size) {\n            this.#map.delete(key)\n            this.#views.delete(key)\n        }\n    }\n}\n\nexport const dataStore = new BookDataStore()\n"
  },
  {
    "path": "src/format.js",
    "content": "import GLib from 'gi://GLib'\nimport Gio from 'gi://Gio'\nimport { gettext as _ } from 'gettext'\n\nconst makeLocale = locale => {\n    try { return new Intl.Locale(locale) }\n    catch { return null }\n}\n\nconst glibcLocale = str => makeLocale(\n    str === 'C' ? 'en' : str.split('.')[0].replace('_', '-'))\n\nconst getHourCycle = () => {\n    try {\n        const settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' })\n        return settings.get_string('clock-format') === '24h' ? 'h23' : 'h12'\n    } catch (e) {\n        console.debug(e)\n    }\n}\n\nconst hourCycle = getHourCycle()\n\nexport const locales = GLib.get_language_names()\n    .map(glibcLocale).filter(x => x)\n    .map(locale => new Intl.Locale(locale, { hourCycle }))\n\n// very naive, probably bad locale matcher\n// replace this with `Intl.LocaleMatcher` once it's available\nexport const matchLocales = strs => {\n    const availableLocales = strs.map(makeLocale)\n    const matches = []\n    for (const a of locales) {\n        for (const [i, b] of availableLocales.entries()) {\n            if (!b) continue\n            if (a.language === b.language\n            && (a.region && b.region ? a.region === b.region : true)\n            && (a.script && b.script ? a.script === b.script : true))\n                matches.push(strs[i])\n        }\n    }\n    return matches\n}\n\nconst numberFormat = new Intl.NumberFormat(locales)\nexport const number = x => x != null ? numberFormat.format(x) : ''\n\nconst percentFormat = new Intl.NumberFormat(locales, { style: 'percent' })\nexport const percent = x => x != null ? percentFormat.format(x) : ''\n\nconst listFormat = new Intl.ListFormat(locales, { style: 'short', type: 'conjunction' })\nexport const list = x => x ? listFormat.format(x) : ''\n\nexport const date = (str, showTime = false) => {\n    if (!str) return ''\n    const isBCE = str.startsWith('-')\n    const split = str.split('-').filter(x => x)\n    const yearOnly = split.length === 1\n    const yearMonthOnly = split.length === 2\n\n    // years from 0 to 99 treated as 1900 to 1999, and BCE years unsupported,\n    // unless you use \"expanded years\", which is `+` or `-` followed by 6 digits\n    const [year, ...rest] = split\n    const date = new Date((isBCE ? '-' : '+')\n        + year.replace(/^0+/, '').padStart(6, '0')\n        + (rest.length ? '-' + rest.join('-') : ''))\n\n    // fallback when failed to parse date\n    if (isNaN(date)) return str\n\n    const options = yearOnly\n        ? { year: 'numeric' }\n        : yearMonthOnly\n            ? { year: 'numeric', month: 'long' }\n            : showTime\n                ? { year: 'numeric', month: 'long', day: 'numeric',\n                    hour: 'numeric', minute: 'numeric' }\n                : { year: 'numeric', month: 'long', day: 'numeric' }\n\n    if (isBCE) options.era =  'short'\n    return new Intl.DateTimeFormat(locales, options).format(date)\n}\n\nconst getRegionEmoji = code => {\n    if (!code || code.length !== 2) return ''\n    return String.fromCodePoint(\n        ...Array.from(code.toUpperCase()).map(x => 127397 + x.charCodeAt()))\n}\nconst displayName = new Intl.DisplayNames(locales, { type: 'language' })\nconst formatLangauge = code => {\n    if (!code) return ''\n    try {\n        const locale = new Intl.Locale(code)\n        const { language, region } = locale\n        const name = displayName.of(language)\n        if (region) {\n            const emoji = getRegionEmoji(region)\n            return `${emoji ? `${emoji} ` : '' }${name}`\n        } else return name\n    } catch {\n        return ''\n    }\n}\nexport const language = lang => {\n    if (typeof lang === 'string') return formatLangauge(lang)\n    if (Array.isArray(lang)) return list(lang.map(formatLangauge))\n    return ''\n}\n\nconst minuteFormat = new Intl.NumberFormat(locales, { style: 'unit', unit: 'minute' })\nconst hourFormat = new Intl.NumberFormat(locales, { style: 'unit', unit: 'hour' })\nexport const duration = minutes => minutes < 60\n    ? minuteFormat.format(Math.round(minutes))\n    : hourFormat.format((minutes / 60).toFixed(1))\n\nexport const mime = mime => mime ? Gio.content_type_get_description(mime) : ''\n\nexport const price = (currency, value) => {\n    try {\n        return new Intl.NumberFormat(locales, { style: 'currency', currency }).format(value)\n    } catch {\n        return (currency ? currency + ' ' : '') + value\n    }\n}\n\nexport const vprintf = imports.format.vprintf\nexport const total = n => vprintf(_('of %d'), [n])\n"
  },
  {
    "path": "src/generate-gresource.js",
    "content": "#!/usr/bin/env node\nimport { readdir, writeFile } from 'fs/promises'\nimport { join } from 'path'\n\nconst getPath = file => join(file.parentPath, file.name)\n\nconst getFiles = async (path, filter, compressed) => {\n    const files = await readdir(path, { withFileTypes: true })\n    return files.filter(file => !file.isDirectory())\n        .filter(filter ?? (() => true))\n        .map(compressed\n            ? file => `<file compressed=\"true\">${getPath(file)}</file>`\n            : file => `<file>${getPath(file)}</file>`)\n}\n\nconst getIcons = async () => {\n    const files = await readdir('icons/hicolor/scalable/actions/',\n        { withFileTypes: true })\n    return files.map(file =>\n        `<file alias=\"icons/scalable/actions/${file.name}\">${getPath(file)}</file>`)\n}\n\nconst filter = ({ excludes, endsWith }) => ({ name }) => {\n    for (const x of excludes) if (name === x) return\n    for (const x of endsWith) if (name.endsWith(x)) return true\n}\n\nconst result = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gresources>\n  <gresource prefix=\"/com/github/johnfactotum/Foliate\">\n${[\n        ...await getFiles('./', filter({\n            excludes: ['generate-gresource.js', 'main.js'],\n            endsWith: ['.js'],\n        })),\n        ...await getFiles('ui/'),\n        ...await getIcons(),\n        ...await getFiles('foliate-js/', filter({\n            excludes: ['reader.js', 'eslint.config.js', 'rollup.config.js'],\n            endsWith: ['.js'],\n        })),\n        ...await getFiles('foliate-js/vendor/'),\n        ...await getFiles('foliate-js/vendor/pdfjs/'),\n        ...await getFiles('foliate-js/vendor/pdfjs/cmaps/', null, true),\n        ...await getFiles('foliate-js/vendor/pdfjs/standard_fonts/', null, true),\n        ...await getFiles('opds/'),\n        ...await getFiles('selection-tools/'),\n        ...await getFiles('common/'),\n        ...await getFiles('reader/'),\n    ].map(x => '    ' + x).join('\\n')}\n  </gresource>\n</gresources>\n`\n\nawait writeFile('gresource.xml', result)\n"
  },
  {
    "path": "src/gresource.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gresources>\n  <gresource prefix=\"/com/github/johnfactotum/Foliate\">\n    <file>annotations.js</file>\n    <file>app.js</file>\n    <file>book-info.js</file>\n    <file>book-viewer.js</file>\n    <file>data.js</file>\n    <file>format.js</file>\n    <file>image-viewer.js</file>\n    <file>library.js</file>\n    <file>navbar.js</file>\n    <file>search.js</file>\n    <file>selection-tools.js</file>\n    <file>speech.js</file>\n    <file>themes.js</file>\n    <file>toc.js</file>\n    <file>tts.js</file>\n    <file>utils.js</file>\n    <file>webview.js</file>\n    <file>ui/annotation-popover.ui</file>\n    <file>ui/annotation-row.ui</file>\n    <file>ui/book-image.ui</file>\n    <file>ui/book-item.ui</file>\n    <file>ui/book-row.ui</file>\n    <file>ui/book-viewer.ui</file>\n    <file>ui/bookmark-row.ui</file>\n    <file>ui/export-dialog.ui</file>\n    <file>ui/help-overlay.ui</file>\n    <file>ui/image-viewer.ui</file>\n    <file>ui/import-dialog.ui</file>\n    <file>ui/library-view.ui</file>\n    <file>ui/library.ui</file>\n    <file>ui/media-overlay-box.ui</file>\n    <file>ui/navbar.ui</file>\n    <file>ui/selection-popover.ui</file>\n    <file>ui/tts-box.ui</file>\n    <file>ui/view-preferences-window.ui</file>\n    <file alias=\"icons/scalable/actions/bookmark-filled-symbolic.svg\">icons/hicolor/scalable/actions/bookmark-filled-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/funnel-symbolic.svg\">icons/hicolor/scalable/actions/funnel-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/library-symbolic.svg\">icons/hicolor/scalable/actions/library-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/pan-down-symbolic.svg\">icons/hicolor/scalable/actions/pan-down-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/pin-symbolic.svg\">icons/hicolor/scalable/actions/pin-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/speedometer-symbolic.svg\">icons/hicolor/scalable/actions/speedometer-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/stop-sign-symbolic.svg\">icons/hicolor/scalable/actions/stop-sign-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/tag-symbolic.svg\">icons/hicolor/scalable/actions/tag-symbolic.svg</file>\n    <file alias=\"icons/scalable/actions/text-squiggly-symbolic.svg\">icons/hicolor/scalable/actions/text-squiggly-symbolic.svg</file>\n    <file>foliate-js/comic-book.js</file>\n    <file>foliate-js/dict.js</file>\n    <file>foliate-js/epub.js</file>\n    <file>foliate-js/epubcfi.js</file>\n    <file>foliate-js/fb2.js</file>\n    <file>foliate-js/fixed-layout.js</file>\n    <file>foliate-js/footnotes.js</file>\n    <file>foliate-js/mobi.js</file>\n    <file>foliate-js/opds.js</file>\n    <file>foliate-js/overlayer.js</file>\n    <file>foliate-js/paginator.js</file>\n    <file>foliate-js/pdf.js</file>\n    <file>foliate-js/progress.js</file>\n    <file>foliate-js/quote-image.js</file>\n    <file>foliate-js/search.js</file>\n    <file>foliate-js/text-walker.js</file>\n    <file>foliate-js/tts.js</file>\n    <file>foliate-js/uri-template.js</file>\n    <file>foliate-js/view.js</file>\n    <file>foliate-js/vendor/fflate.js</file>\n    <file>foliate-js/vendor/zip.js</file>\n    <file>foliate-js/vendor/pdfjs/annotation_layer_builder.css</file>\n    <file>foliate-js/vendor/pdfjs/pdf.mjs</file>\n    <file>foliate-js/vendor/pdfjs/pdf.mjs.map</file>\n    <file>foliate-js/vendor/pdfjs/pdf.worker.mjs</file>\n    <file>foliate-js/vendor/pdfjs/pdf.worker.mjs.map</file>\n    <file>foliate-js/vendor/pdfjs/text_layer_builder.css</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78ms-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/78ms-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/83pv-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90ms-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90ms-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90msp-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90msp-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90pv-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/90pv-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Add-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Add-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Add-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Add-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-0.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-1.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-3.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-4.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-5.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-6.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-0.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-1.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-3.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-4.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-5.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-0.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-1.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-3.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-4.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-5.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-6.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-0.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-1.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/B5pc-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/B5pc-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS1-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS1-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS2-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/CNS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETHK-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETHK-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETen-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETen-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETenms-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/ETenms-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Ext-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Ext-RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Ext-RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Ext-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GB-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GB-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GB-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GB-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBK-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBK-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBK2K-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBK2K-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBKp-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBKp-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBT-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBT-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBT-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBT-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBTpc-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBTpc-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBpc-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/GBpc-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKdla-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKdla-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKdlb-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKdlb-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKgccs-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKgccs-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKm314-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKm314-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKm471-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKm471-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKscs-B5-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/HKscs-B5-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Hankaku.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Hiragana.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-Johab-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-Johab-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCms-UHC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCpc-EUC-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/KSCpc-EUC-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Katakana.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/LICENSE</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/NWP-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/NWP-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/RKSJ-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/RKSJ-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/Roman.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UCS2-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UCS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF16-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF16-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF8-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniCNS-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UCS2-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UCS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF16-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF16-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF8-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniGB-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UCS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF16-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF16-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF8-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UCS2-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UCS2-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF16-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF16-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF32-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF32-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF8-H.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/UniKS-UTF8-V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/V.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/cmaps/WP-Symbol.bcmap</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitDingbats.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitFixed.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedBold.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitFixedItalic.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitSerif.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifBold.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitSerifItalic.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/FoxitSymbol.pfb</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LICENSE_FOXIT</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LICENSE_LIBERATION</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Bold.ttf</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Italic.ttf</file>\n    <file compressed=\"true\">foliate-js/vendor/pdfjs/standard_fonts/LiberationSans-Regular.ttf</file>\n    <file>opds/main.html</file>\n    <file>opds/main.js</file>\n    <file>selection-tools/common.css</file>\n    <file>selection-tools/translate.html</file>\n    <file>selection-tools/wikipedia.html</file>\n    <file>selection-tools/wiktionary.html</file>\n    <file>common/widgets.js</file>\n    <file>reader/markup.js</file>\n    <file>reader/reader.html</file>\n    <file>reader/reader.js</file>\n  </gresource>\n</gresources>\n"
  },
  {
    "path": "src/image-viewer.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GObject from 'gi://GObject'\nimport Gdk from 'gi://Gdk'\nimport GdkPixbuf from 'gi://GdkPixbuf'\nimport * as utils from './utils.js'\n\n// TODO: figure out how to use Gdk.Texture\nexport const ImageViewer = GObject.registerClass({\n    GTypeName: 'FoliateImageViewer',\n    Template: pkg.moduleuri('ui/image-viewer.ui'),\n    InternalChildren: ['scrolled', 'image'],\n    Properties: utils.makeParams({\n        'pixbuf': 'object',\n    }),\n    Signals: {\n        'copy': {},\n        'save-as': {},\n    },\n}, class extends Gtk.Box {\n    #scale = 1\n    #rotation = 0\n    actionGroup = utils.addSimpleActions({\n        'zoom-in': () => this.zoom(0.25),\n        'zoom-out': () => this.zoom(-0.25),\n        'zoom-restore': () => this.zoom(),\n        'rotate-left': () => this.rotate(90),\n        'rotate-right': () => this.rotate(270),\n        'copy': () => this.emit('copy'),\n        'save-as': () => this.emit('save-as'),\n    })\n    constructor(params) {\n        super(params)\n        this._image.set_pixbuf(this.pixbuf)\n        this._image.add_controller(utils.connect(new Gtk.GestureDrag(), {\n            'drag-begin': () => this._image.cursor =\n                Gdk.Cursor.new_from_name('move', null),\n            'drag-end': () => this._image.cursor = null,\n            'drag-update': (_, x, y) => {\n                const { hadjustment, vadjustment } = this._scrolled\n                hadjustment.value -= x\n                vadjustment.value -= y\n            },\n        }))\n        this.insert_action_group('img', this.actionGroup)\n        this.add_controller(utils.addShortcuts({\n            '<ctrl>c': 'img.copy',\n            '<ctrl>s': 'img.save-as',\n            'plus|equal|KP_Add|KP_Equal|<ctrl>plus|<ctrl>equal|<ctrl>KP_Add|<ctrl>KP_Equal': 'img.zoom-in',\n            'minus|KP_Subtract|<ctrl>minus|<ctrl>KP_Subtract': 'img.zoom-out',\n            '0|1|KP_0|<ctrl>0|<ctrl>KP_0': 'img.zoom-restore',\n            '<ctrl>Left': 'img.rotate-left',\n            '<ctrl>Right': 'img.rotate-right',\n            '<ctrl>i': 'img.invert',\n        }))\n        this.#updateActions()\n    }\n    zoom(d) {\n        if (d == null) this.#scale = 1\n        else this.#scale += d\n        this.#update()\n    }\n    rotate(degree) {\n        this.#rotation = (this.#rotation + degree) % 360\n        this.#update()\n    }\n    #update() {\n        const { pixbuf } = this\n        const { width, height } = pixbuf\n        const scale = this.#scale\n        this._image.set_pixbuf(pixbuf.scale_simple(width * scale, height * scale,\n            GdkPixbuf.InterpType.BILINEAR).rotate_simple(this.#rotation))\n        this.#updateActions()\n    }\n    #updateActions() {\n        const scale = this.#scale\n        this.actionGroup.lookup_action('zoom-in').enabled = scale < 3\n        this.actionGroup.lookup_action('zoom-out').enabled = scale > 0.25\n        this.actionGroup.lookup_action('zoom-restore').enabled = scale !== 1\n    }\n})\n"
  },
  {
    "path": "src/library.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport GObject from 'gi://GObject'\nimport Gio from 'gi://Gio'\nimport GLib from 'gi://GLib'\nimport Gdk from 'gi://Gdk'\nimport GdkPixbuf from 'gi://GdkPixbuf'\nimport Pango from 'gi://Pango'\nimport cairo from 'gi://cairo'\nimport { gettext as _ } from 'gettext'\nimport * as utils from './utils.js'\nimport * as format from './format.js'\nimport { exportAnnotations } from './annotations.js'\nimport { formatLanguageMap, formatAuthors, makeBookInfoWindow } from './book-info.js'\n\nimport WebKit from 'gi://WebKit'\nimport { WebView } from './webview.js'\n\nconst defaultCatalogs = [\n    {\n        title: 'Feedbooks',\n        uri: 'https://catalog.feedbooks.com/catalog/index.json',\n    },\n    {\n        title: 'Internet Archive',\n        uri: 'https://bookserver.archive.org/catalog/',\n    },\n    {\n        title: 'Manybooks',\n        uri: 'https://manybooks.net/opds/',\n    },\n    {\n        title: 'Project Gutenberg',\n        uri: 'https://m.gutenberg.org/ebooks.opds/',\n    },\n    {\n        title: 'Standard Ebooks',\n        uri: 'https://standardebooks.org/feeds/opds',\n    },\n    {\n        title: 'unglue.it',\n        uri: 'https://unglue.it/api/opds/',\n    },\n]\n\nconst uiText = {\n    loading: _('Loading'),\n    error: _('Failed to Load'),\n    reload: _('Reload'),\n    cancel: _('Cancel'),\n    viewCollection: _('See All'),\n    search: _('Search'),\n    filter: _('Filter'),\n    acq: {\n        'http://opds-spec.org/acquisition': _('Download'),\n        'http://opds-spec.org/acquisition/buy': _('Buy'),\n        'http://opds-spec.org/acquisition/open-access': _('Download'),\n        'preview': _('Preview'),\n        'http://opds-spec.org/acquisition/sample': _('Sample'),\n        'http://opds-spec.org/acquisition/borrow': _('Borrow'),\n        'http://opds-spec.org/acquisition/subscribe': _('Subscribe'),\n    },\n    openAccess: _('Free'),\n    pagination: [\n        _('First'),\n        _('Previous'),\n        _('Next'),\n        _('Last'),\n    ],\n    query: _('Search Terms'),\n    metadata: {\n        title: _('Title'),\n        author: _('Author'),\n        contributor: _('Contributor'),\n        publisher: _('Publisher'),\n        published: _('Published'),\n        language: _('Language'),\n        identifier: _('Identifier'),\n    },\n}\n\nconst getURIFromTracker = identifier => {\n    const connection = imports.gi.Tracker.SparqlConnection.bus_new(\n        'org.freedesktop.Tracker3.Miner.Files', null, null)\n    const statement = connection.query_statement(`\n        SELECT ?uri\n        WHERE {\n            GRAPH tracker:Documents {\n                ?u rdf:type nfo:EBook .\n                ?u nie:isStoredAs ?uri .\n                ?u nie:identifier ~identifier .\n            }\n        }`, null)\n    statement.bind_string('identifier', identifier)\n    const cursor = statement.execute(null)\n    cursor.next(null)\n    const uri = cursor.get_string(0)[0]\n    cursor.close()\n    connection.close()\n    return uri\n}\n\nconst showCovers = utils.settings('library')?.get_boolean('show-covers') ?? true\n\nconst listBooks = function* (path) {\n    const ls = utils.listDir(path, 'standard::name,time::modified')\n    for (const { file, name, info } of ls) try {\n        if (!/\\.json$/.test(name)) continue\n        const modified = new Date(info.get_attribute_uint64('time::modified') * 1000)\n        yield { file, modified }\n    } catch (e) {\n        console.error(e)\n    }\n}\n\nclass URIStore {\n    #storage = new utils.JSONStorage(pkg.datapath('library'), 'uri-store')\n    #map = new Map(this.#storage.get('uris'))\n    get(id) {\n        try {\n            const uri = getURIFromTracker(id)\n            if (uri) return uri\n        } catch (e) {\n            console.warn(e)\n        }\n        return this.#map.get(id)\n    }\n    set(id, uri) {\n        this.#map.set(id, uri)\n        this.#storage.set('uris', Array.from(this.#map.entries()))\n    }\n    delete(id) {\n        this.#map.delete(id)\n        this.#storage.set('uris', Array.from(this.#map.entries()))\n    }\n}\n\nexport const getURIStore = utils.memoize(() => new URIStore())\n\nconst BookList = GObject.registerClass({\n    GTypeName: 'FoliateBookList',\n}, class extends Gio.ListStore {\n    #uriStore = getURIStore()\n    #files = Array.from(listBooks(pkg.datadir) ?? [])\n        .sort((a, b) => b.modified - a.modified)\n        .map(x => x.file)\n    #iter = this.#files.values()\n    constructor(params) {\n        super(params)\n        this.readFile = utils.memoize(utils.readJSONFile)\n        this.readCover = utils.memoize(identifier => {\n            const path = pkg.cachepath(`${encodeURIComponent(identifier)}.png`)\n            try { return GdkPixbuf.Pixbuf.new_from_file(path) }\n            catch { return null }\n        })\n    }\n    loadMore(n) {\n        for (let i = 0; i < n; i++) {\n            const { value, done } = this.#iter.next()\n            if (done) return true\n            else if (value) this.append(value)\n        }\n    }\n    getBook(file) {\n        const { identifier } = this.readFile(file)?.metadata ?? {}\n        return this.getBookFromIdentifier(identifier)\n    }\n    getBookFromIdentifier(identifier) {\n        const uri = this.#uriStore.get(identifier)\n        return !uri ? null : uri.startsWith('~')\n            ? Gio.File.new_for_path(uri.replace('~', GLib.get_home_dir()))\n            : Gio.File.new_for_uri(uri)\n    }\n    delete(file) {\n        const name = file.get_basename()\n        const cover = Gio.File.new_for_path(pkg.cachepath(name.replace('.json', '.png')))\n        const id = decodeURIComponent(name.replace('.json', ''))\n        this.#uriStore.delete(id)\n        for (const f of [file, cover]) try { f.delete(null) } catch {}\n        for (const [i, el] of utils.gliter(this)) if (el === file) this.remove(i)\n    }\n    update(path) {\n        // remove it from the queue if it's not yet loaded\n        const i = this.#files.findIndex(f => f?.get_path() === path)\n        // set to null instead of removing it so we don't mess up the iterator\n        if (i !== -1) this.#files[i] = null\n        // remove it from the list if it has been loaded\n        for (const [i, el] of utils.gliter(this)) if (el.get_path() === path) this.remove(i)\n        this.insert(0, Gio.File.new_for_path(path))\n    }\n})\n\nlet gotBooks // don't create book list just to update it\nconst getBooks = utils.memoize(() => (gotBooks = true, new BookList()))\nexport const getBookList = () => gotBooks ? getBooks() : null\n\nconst width = 256\nconst height = width * 1.5\nconst surface = new cairo.ImageSurface(cairo.Format.ARGB32, width, height)\nconst defaultPixbuf = Gdk.pixbuf_get_from_surface(surface, 0, 0, width, height)\n\nGObject.registerClass({\n    GTypeName: 'FoliateBookImage',\n    Template: pkg.moduleuri('ui/book-image.ui'),\n    InternalChildren: ['image', 'generated', 'title'],\n}, class extends Gtk.Overlay {\n    load(pixbuf, title) {\n        if (pixbuf) {\n            this._generated.visible = false\n            this._image.set_pixbuf(pixbuf)\n            this._image.opacity = 1\n        } else {\n            this._image.set_pixbuf(defaultPixbuf)\n            this._image.opacity = 0\n            this._title.label = title\n            this._generated.visible = true\n        }\n        this._image.tooltip_text = title\n    }\n})\n\nconst fraction = p => !isNaN(p?.[1]) && p?.[1] > 0 ? p[0] / p[1] : null\n\nconst BookItem = GObject.registerClass({\n    GTypeName: 'FoliateBookItem',\n    Template: pkg.moduleuri('ui/book-item.ui'),\n    InternalChildren: ['image', 'progress', 'title'],\n    Signals: {\n        'open-new-window': { param_types: [Gio.File.$gtype] },\n        'remove-book': { param_types: [Gio.File.$gtype] },\n        'export-book': { param_types: [Gio.File.$gtype] },\n        'book-info': { param_types: [Gio.File.$gtype] },\n        'open-external-app': { param_types: [Gio.File.$gtype] },\n    },\n}, class extends Gtk.Box {\n    #item\n    constructor(params) {\n        super(params)\n        this.insert_action_group('book-item', utils.addSimpleActions({\n            'open-new-window': () => this.emit('open-new-window', this.#item),\n            'remove': () => this.emit('remove-book', this.#item),\n            'export': () => this.emit('export-book', this.#item),\n            'info': () => this.emit('book-info', this.#item),\n            'open-external-app': () => this.emit('open-external-app', this.#item),\n        }))\n    }\n    update(item, data, cover) {\n        this.#item = item\n        const title = formatLanguageMap(data.metadata?.title)\n        this._title.text = title\n        this._image.load(cover?.then ? null : cover, title)\n        this._progress.label = format.percent(fraction(data.progress))\n    }\n})\n\nconst BookRow = GObject.registerClass({\n    GTypeName: 'FoliateBookRow',\n    Template: pkg.moduleuri('ui/book-row.ui'),\n    InternalChildren: ['title', 'author', 'progress-grid', 'progress-bar', 'progress-label'],\n    Signals: {\n        'open-new-window': { param_types: [Gio.File.$gtype] },\n        'remove-book': { param_types: [Gio.File.$gtype] },\n        'export-book': { param_types: [Gio.File.$gtype] },\n        'book-info': { param_types: [Gio.File.$gtype] },\n        'open-external-app': { param_types: [Gio.File.$gtype] },\n    },\n}, class extends Gtk.Box {\n    #item\n    constructor(params) {\n        super(params)\n        this.insert_action_group('book-item', utils.addSimpleActions({\n            'open-new-window': () => this.emit('open-new-window', this.#item),\n            'remove': () => this.emit('remove-book', this.#item),\n            'export': () => this.emit('export-book', this.#item),\n            'info': () => this.emit('book-info', this.#item),\n            'open-external-app': () => this.emit('open-external-app', this.#item),\n        }))\n    }\n    update(item, data) {\n        this.#item = item\n        const { metadata, progress } = data\n        const title = formatLanguageMap(metadata?.title)\n        this._title.label = title\n\n        const author = formatAuthors(metadata)\n        this._author.label = author\n        this._author.visible = Boolean(author)\n\n        const frac = fraction(progress)\n        this._progress_bar.fraction = frac\n        this._progress_label.label = format.percent(frac)\n\n        const bookSize = Math.min((progress?.[1] + 1) / 1500, 0.8)\n        const steps = 10\n        const span = Math.ceil(bookSize * steps)\n        const grid = this._progress_grid\n        if (isNaN(span)) grid.hide()\n        else {\n            grid.show()\n            grid.remove(this._progress_bar)\n            grid.remove(this._progress_label)\n            grid.attach(this._progress_bar, 0, 0, span, 1)\n            grid.attach(this._progress_label, span, 0, steps - span, 1)\n        }\n    }\n})\n\nconst matchString = (x, q) => typeof x === 'string'\n    ? x.toLowerCase().includes(q) : false\n\nGObject.registerClass({\n    GTypeName: 'FoliateLibraryView',\n    Template: pkg.moduleuri('ui/library-view.ui'),\n    InternalChildren: ['scrolled'],\n    Properties: utils.makeParams({\n        'view-mode': 'string',\n    }),\n    Signals: {\n        'load-more': { return_type: GObject.TYPE_BOOLEAN },\n        'load-all': {},\n        'activate': { param_types: [GObject.TYPE_OBJECT] },\n    },\n}, class extends Gtk.Stack {\n    #done = false\n    #filter = new Gtk.CustomFilter()\n    #filterModel = utils.connect(new Gtk.FilterListModel({ filter: this.#filter }),\n        { 'items-changed': () => this.#update() })\n    #itemConnections = {\n        'open-new-window': (_, file) => this.root.addWindow(getBooks().getBook(file)),\n        'remove-book': (_, file) => this.removeBook(file),\n        'export-book': (_, file) => {\n            const data = getBooks().readFile(file)\n            exportAnnotations(this.get_root(), data)\n        },\n        'book-info': (_, file) => {\n            const books = getBooks()\n            const { metadata } = books.readFile(file)\n            const cover = books.readCover(metadata.identifier)\n            makeBookInfoWindow(this.get_root(), metadata, cover)\n        },\n        'open-external-app': (_, file) => this.openWithExternalApp(getBooks().getBook(file)),\n    }\n    actionGroup = utils.addMethods(this, {\n        props: ['view-mode'],\n    })\n    constructor(params) {\n        super(params)\n        utils.connect(this._scrolled.vadjustment, {\n            'changed': this.#checkAdjustment.bind(this),\n            'value-changed': this.#checkAdjustment.bind(this),\n        })\n        const show = () => this.view_mode === 'list' ? this.showList() : this.showGrid()\n        this.connect('notify::view-mode', show)\n        show()\n    }\n    #checkAdjustment(adj) {\n        if (this.#done) return\n        if (adj.value + adj.page_size * 1.5 >= adj.upper) {\n            const done = this.emit('load-more')\n            if (done) this.#done = true\n            else utils.wait(10).then(() => this.#checkAdjustment(adj))\n        }\n    }\n    #update() {\n        this.visible_child_name = !this.#filterModel.model.get_n_items() ? 'empty'\n            : !this.#filterModel.get_n_items() ? 'no-results' : 'main'\n    }\n    setModel(model) {\n        this.#filterModel.model = model\n        this.#update()\n    }\n    showGrid() {\n        this._scrolled.child?.unparent()\n        this._scrolled.child = utils.connect(new Gtk.GridView({\n            single_click_activate: true,\n            max_columns: 20,\n            vscroll_policy: Gtk.ScrollablePolicy.NATURAL,\n            model: new Gtk.NoSelection({ model: this.#filterModel }),\n            factory: utils.connect(new Gtk.SignalListItemFactory(), {\n                'setup': (_, item) => item.child =\n                    utils.connect(new BookItem(), this.#itemConnections),\n                'bind': (_, { child, item }) => {\n                    const { cover, data } = this.#getData(item, showCovers)\n                    child.update(item, data, cover)\n                    if (cover?.then) cover\n                        .then(cover => child.update(item, data, cover))\n                        .catch(e => console.warn(e))\n                },\n            }),\n        }), { 'activate': (_, pos) =>\n            this.emit('activate', this.#filterModel.get_item(pos)) })\n        this._scrolled.child.remove_css_class('view')\n    }\n    showList() {\n        this._scrolled.child?.unparent()\n        this._scrolled.child = new Adw.ClampScrollable({\n            child: utils.connect(utils.addClass(new Gtk.ListView({\n                single_click_activate: true,\n                model: new Gtk.NoSelection({ model: this.#filterModel }),\n                factory: utils.connect(new Gtk.SignalListItemFactory(), {\n                    'setup': (_, item) => item.child = utils.connect(\n                        new BookRow(), this.#itemConnections),\n                    'bind': (_, { child, item }) => {\n                        const { data } = this.#getData(item, false)\n                        child.update(item, data)\n                    },\n                }),\n            }), 'book-list'), { 'activate': (_, pos) =>\n                this.emit('activate', this.#filterModel.get_item(pos)) }),\n        })\n    }\n    #getData(file, getCover) {\n        const books = getBooks()\n        const data = books.readFile(file)\n        const identifier = data?.metadata?.identifier\n        const cover = getCover && identifier ? books.readCover(identifier) : null\n        return { cover, data }\n    }\n    search(text) {\n        const q = text.trim().toLowerCase()\n        if (!q) {\n            this.#filter.set_filter_func(null)\n            return\n        }\n        this.emit('load-all')\n        const fields = ['title', 'creator', 'description']\n        const { readFile } = this.#filterModel.model\n        this.#filter.set_filter_func(file => {\n            const { metadata } = readFile(file)\n            if (!metadata) return false\n            return fields.some(field => matchString(metadata[field], q))\n        })\n    }\n    removeBook(file) {\n        const dialog = new Adw.AlertDialog({\n            heading: _('Remove Book?'),\n            body: _('Reading progress, annotations, and bookmarks will be permanently lost'),\n        })\n        dialog.add_response('cancel', _('_Cancel'))\n        dialog.add_response('remove', _('_Remove'))\n        dialog.set_response_appearance('remove', Adw.ResponseAppearance.DESTRUCTIVE)\n        dialog.present(this.get_root())\n        dialog.connect('response', (_, response) => {\n            if (response === 'remove') getBooks().delete(file)\n        })\n    }\n    openWithExternalApp(file) {\n        if (!file) return\n        const path = file.get_path()\n        if (!path) return\n\n        const dialog = new Gtk.AppChooserDialog({\n            gfile: file,\n            modal: true,\n            transient_for: this.root,\n        })\n\n        dialog.connect('response', (dialog, response) => {\n            if (response === Gtk.ResponseType.OK) {\n                const app_info = dialog.get_app_info()\n                if (app_info) {\n                    try {\n                        app_info.launch([file], null)\n                    } catch (e) {\n                        console.error(\n                            'Failed to open file with selected application:',\n                            e,\n                        )\n                        this.root.error(\n                            _('Failed to Open'),\n                            _('Could not open the file with the selected application'),\n                        )\n                    }\n                }\n            }\n            dialog.destroy()\n        })\n\n        dialog.show()\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateOPDSView',\n    Signals: {\n        'state-changed': { param_types: [GObject.TYPE_JSOBJECT] },\n    },\n}, class extends Adw.Bin {\n    #downloads = new Map()\n    #state\n    constructor(params) {\n        super(params)\n        this.actionGroup = utils.addMethods(this, {\n            actions: [\n                'back', 'forward', 'search',\n            ],\n        })\n        for (const action of ['back', 'forward', 'search'])\n            this.actionGroup.lookup_action(action).enabled = false\n    }\n    init() {\n        const webView = new WebView({\n            settings: new WebKit.Settings({\n                enable_write_console_messages_to_stdout: true,\n                enable_developer_extras: true,\n                enable_back_forward_navigation_gestures: false,\n                enable_hyperlink_auditing: false,\n                enable_html5_database: false,\n                enable_html5_local_storage: false,\n                enable_javascript_markup: false,\n                disable_web_security: true,\n                user_agent: pkg.userAgent,\n            }),\n        })\n        const initFuncs = [\n            webView.provide('formatNumber', format.number),\n            webView.provide('formatMime', format.mime),\n            webView.provide('formatPrice',\n                price => price ? format.price(price.currency, price.value) : ''),\n            webView.provide('formatLanguage', format.language),\n            webView.provide('formatDate', format.date),\n            webView.provide('formatList', format.list),\n            webView.provide('matchLocales', format.matchLocales),\n        ]\n        utils.connect(webView, {\n            'context-menu': () => false,\n            'load-changed': (webView, event) => {\n                if (event === WebKit.LoadEvent.FINISHED) {\n                    const lang = format.locales[0].baseName\n                    webView.run(`globalThis.uiText = ${JSON.stringify(uiText)}\n                    document.documentElement.lang = \"${lang}\"\n                    import('./main.js').catch(e => console.error(e))`)\n                        .catch(e => console.error(e))\n                    for (const f of initFuncs) f()\n\n                    // update after going back/foward\n                    webView.exec('updateState')\n                        // it will fail when the page first loads but that's ok\n                        .catch(e => console.debug(e))\n                }\n            },\n            'decide-policy': (_, decision, type) => {\n                switch (type) {\n                    case WebKit.PolicyDecisionType.NAVIGATION_ACTION:\n                    case WebKit.PolicyDecisionType.NEW_WINDOW_ACTION: {\n                        const { uri } = decision.navigation_action.get_request()\n                        if (!uri.startsWith('foliate-opds:') && !uri.startsWith('blob:')\n                        && uri !== 'about:blank') {\n                            decision.ignore()\n                            new Gtk.UriLauncher({ uri }).launch(this.root, null, null)\n                            return true\n                        }\n                    }\n                }\n            },\n        })\n        webView.registerHandler('opds', payload => {\n            switch (payload.type) {\n                case 'download': this.download(payload); break\n                case 'cancel':\n                    this.#downloads.get(payload.token)?.deref()?.cancel()\n                    break\n                case 'state':\n                    this.#state = payload.state\n                    this.actionGroup.lookup_action('search').enabled =\n                        !!this.#state?.search && !!this.#state?.searchEnabled\n                    this.emit('state-changed', this.#state)\n                    break\n            }\n        })\n        webView.get_back_forward_list().connect('changed', () => {\n            this.actionGroup.lookup_action('back').enabled = webView.can_go_back()\n            this.actionGroup.lookup_action('forward').enabled = webView.can_go_forward()\n        })\n        webView.set_background_color(new Gdk.RGBA())\n        this.child = webView\n    }\n    load(url, isSearch) {\n        this.actionGroup.lookup_action('search').enabled = false\n        if (!this.child) this.init()\n        if (isSearch && url === '#search') {\n            this.child.run(\"location = location.href.split('#')[0] + '#search'\")\n                .then(() => this.child.grab_focus())\n                .catch(e => console.debug(e))\n            return\n        }\n        url = url.replace(/^opds:\\/\\//, 'http://')\n        if (!url.includes(':')) url = 'http://' + url\n        this.child.loadURI(`foliate-opds:///opds/main.html?url=${encodeURIComponent(url)}`)\n            .then(() => this.child.grab_focus())\n            .catch(e => console.error(e))\n    }\n    back() {\n        this.child.go_back()\n    }\n    forward() {\n        this.child.go_forward()\n    }\n    search() {\n        if (this.#state?.search) this.load(this.#state.search, true)\n    }\n    download({ href, token }) {\n        const webView = this.child\n        new Promise((resolve, reject) => {\n            let file\n            const download = utils.connect(webView.download_uri(href), {\n                'decide-destination': (download, initial_name) => {\n                    new Gtk.FileDialog({ initial_name })\n                        .save(this.root, null, (dialog, res) => {\n                            try {\n                                file = dialog.save_finish(res)\n                                download.set_destination(file.get_path())\n                            } catch (e) {\n                                if (e instanceof Gtk.DialogError) console.debug(e)\n                                else console.error(e)\n                                download.cancel()\n                            }\n                        })\n                    return true\n                },\n                'notify::estimated-progress': download => webView.exec('updateProgress',\n                    { progress: download.estimated_progress, token }),\n                'finished': () => {\n                    this.#downloads.delete(token)\n                    webView.exec('finishDownload', { token })\n                    resolve(file)\n                },\n                'failed': (download, error) => {\n                    if (error.code === WebKit.DownloadError.CANCELLED_BY_USER) return\n                    reject(error)\n                },\n            })\n            download.allow_overwrite = true\n            this.#downloads.set(token, new WeakRef(download))\n        })\n            .then(file => {\n                if (file) new Gtk.FileLauncher({ file, always_ask: true })\n                    .launch(this.root, null, null)\n            })\n            .catch(e => {\n                console.error(e)\n                this.root.error(_('Download Failed'), _('An error occurred'))\n            })\n    }\n    vfunc_unroot() {\n        this.child?.unparent()\n        this.child?.run_dispose()\n    }\n})\n\nconst catalogsStore = new utils.JSONStorage(pkg.datapath('catalogs'), 'catalogs', 2)\n\nconst SidebarItem = utils.makeDataClass('FoliateSidebarItem', {\n    'type': 'string',\n    'icon': 'string',\n    'label': 'string',\n    'value': 'string',\n})\n\nconst SidebarRow = GObject.registerClass({\n    GTypeName: 'FoliateSidebarRow',\n    Properties: utils.makeParams({\n        'item': 'object',\n    }),\n    Signals: {\n        'remove-catalog': { param_types: [GObject.TYPE_OBJECT] },\n    },\n}, class extends Gtk.Box {\n    #icon = new Gtk.Image()\n    #label = new Gtk.Label({\n        ellipsize: Pango.EllipsizeMode.END,\n    })\n    #menu = new Gio.Menu()\n    #popover = new Gtk.PopoverMenu({\n        has_arrow: false,\n        halign: Gtk.Align.START,\n        menu_model: this.#menu,\n    })\n    constructor(params) {\n        super(params)\n        this.spacing = 12\n        this.margin_start = 6\n        this.append(this.#icon)\n        this.append(this.#label)\n        this.item.bindProperties({\n            icon: [this.#icon, 'icon-name'],\n            label: [this.#label, 'label'],\n        })\n\n        this.insert_action_group('catalog-item', utils.addSimpleActions({\n            'rename': () => this.rename(),\n            'remove': () => this.emit('remove-catalog', this.item),\n        }))\n\n        this.#popover.set_parent(this)\n        this.#menu.append(_('Rename…'), 'catalog-item.rename')\n        this.#menu.append(_('Remove'), 'catalog-item.remove')\n        this.add_controller(utils.connect(new Gtk.GestureClick({\n            button: Gdk.BUTTON_SECONDARY,\n        }), {\n            'pressed': (_, __, x, y) => {\n                if (this.item.type === 'catalog') {\n                    this.#popover.pointing_to = new Gdk.Rectangle({ x, y })\n                    this.#popover.popup()\n                }\n            },\n        }))\n    }\n    rename() {\n        const { window, button } = this.root.actionDialog()\n        const submit = () => {\n            const text = entry.text.trim()\n            if (!text) return\n            this.item.set_property('label', text)\n            window.close()\n        }\n        window.title = _('Rename')\n        button.label = _('Rename')\n        button.connect('clicked', submit)\n        const page = new Adw.PreferencesPage()\n        const group = new Adw.PreferencesGroup()\n        const entry = utils.connect(new Adw.EntryRow({\n            title: _('Name'),\n            text: this.item.label,\n            input_purpose: Gtk.InputPurpose.URL,\n        }), { 'entry-activated': submit })\n        group.add(entry)\n        page.add(group)\n        window.content.content = page\n        window.show()\n        entry.grab_focus()\n    }\n})\n\nconst sidebarListModel = new Gio.ListStore()\nsidebarListModel.append(new SidebarItem({\n    icon: 'library-symbolic',\n    label: _('All Books'),\n    value: 'library',\n}))\nsidebarListModel.append(new SidebarItem({\n    type: 'action',\n    icon: 'list-add-symbolic',\n    label: _('Add Catalog…'),\n    value: 'add-catalog',\n}))\n\nconst exportCatalogItems = () =>\n    Array.from(utils.gliter(sidebarListModel), ([, item]) => item.type === 'catalog' ? {\n        title: item.label,\n        uri: item.value,\n    } : null).filter(x => x)\n\nconst saveCatalogs = () => catalogsStore.set('catalogs', exportCatalogItems())\n\nconst addCatalogItem = (label, value) => {\n    const item = new SidebarItem({\n        type: 'catalog',\n        icon: 'application-rss+xml-symbolic',\n        label, value,\n    })\n    item.connectAll(saveCatalogs)\n    sidebarListModel.insert(sidebarListModel.get_n_items() - 1, item)\n}\n\nconst addCatalog = catalog => {\n    for (const [, item] of utils.gliter(sidebarListModel))\n        if (item.type === 'catalog' && item.value === catalog.uri) return\n    addCatalogItem(catalog.title, catalog.uri)\n    saveCatalogs()\n}\n\nconst removeCatalog = uri => {\n    for (const [i, item] of utils.gliter(sidebarListModel))\n        if (item.type === 'catalog' && item.value === uri) {\n            sidebarListModel.remove(i)\n            break\n        }\n    saveCatalogs()\n}\n\nfor (const catalog of catalogsStore.get('catalogs', defaultCatalogs)) {\n    if (typeof catalog.title === 'string' && typeof catalog.uri === 'string')\n        addCatalogItem(catalog.title, catalog.uri)\n}\n\nexport const Library = GObject.registerClass({\n    GTypeName: 'FoliateLibrary',\n    Template: pkg.moduleuri('ui/library.ui'),\n    InternalChildren: [\n        'breakpoint-bin', 'split-view',\n        'sidebar-list-box', 'main-stack',\n        'library-toolbar-view', 'catalog-toolbar-view',\n        'books-view', 'search-bar', 'search-entry',\n        'opds-view',\n    ],\n}, class extends Gtk.Box {\n    constructor(params) {\n        super(params)\n\n        this._breakpoint_bin.add_breakpoint(utils.connect(new Adw.Breakpoint({\n            condition: Adw.BreakpointCondition.parse('max-width: 700px'),\n        }), {\n            'apply': () => this._split_view.collapsed = true,\n            'unapply': () => this._split_view.collapsed = false,\n        }))\n\n        this._sidebar_list_box.set_header_func((row, before) => {\n            if (!before)\n                row.set_header(utils.addClass(new Gtk.Label({\n                    label: _('Library'),\n                    xalign: 0,\n                    margin_start: 12,\n                    margin_bottom: 6,\n                }), 'caption-heading', 'dim-label'))\n            if (before && before.child.item.type !== 'catalog'\n            && row.child.item.type === 'catalog')\n                row.set_header(utils.addClass(new Gtk.Label({\n                    label: _('Catalogs'),\n                    xalign: 0,\n                    margin_start: 12,\n                    margin_top: 18,\n                    margin_bottom: 6,\n                }), 'caption-heading', 'dim-label'))\n        })\n        this._sidebar_list_box.add_controller(utils.connect(Gtk.DropTarget.new(\n            SidebarItem.$gtype, Gdk.DragAction.MOVE), {\n            'motion': (_, _x, y) => {\n                const row = this._sidebar_list_box.get_row_at_y(y)\n                if (row && row.child.item.type === 'catalog')\n                    return Gdk.DragAction.MOVE\n            },\n            'drop': (_, value, _x, y) => {\n                const row = this._sidebar_list_box.get_row_at_y(y)\n                if (row && row.child.item.type === 'catalog') {\n                    let sourceItem, sourceIndex, targetIndex\n                    for (const [i, item] of utils.gliter(sidebarListModel)) {\n                        if (sourceIndex != null && targetIndex != null) break\n                        if (item.type === 'catalog') {\n                            if (item === value) {\n                                sourceItem = item\n                                sourceIndex = i\n                            }\n                            if (item.value === row.child.item.value) {\n                                targetIndex = i\n                            }\n                        }\n                    }\n                    if (sourceIndex === targetIndex) return\n                    sidebarListModel.remove(sourceIndex)\n                    if (sourceIndex < targetIndex + 1) targetIndex--\n                    sidebarListModel.insert(targetIndex + 1, sourceItem)\n                    saveCatalogs()\n                }\n            },\n        }))\n        this._sidebar_list_box.bind_model(sidebarListModel, item => {\n            const child = utils.connect(new SidebarRow({ item }), {\n                'remove-catalog': (self, item) => {\n                    removeCatalog(item.value)\n                    this.root.add_toast(utils.connect(new Adw.Toast({\n                        title: _('Catalog removed'),\n                        button_label: _('Undo'),\n                    }), { 'button-clicked': () => addCatalog({\n                        title: item.label,\n                        uri: item.value,\n                    }) }))\n                },\n            })\n            if (item.type === 'catalog') {\n                child.add_controller(utils.connect(new Gtk.DragSource({\n                    actions: Gdk.DragAction.MOVE,\n                }), {\n                    'prepare': (source, x, y) => {\n                        source.set_icon(new Gtk.WidgetPaintable({ widget: child }), x, y)\n                        const value = new GObject.Value()\n                        value.init(SidebarItem)\n                        value.set_object(item)\n                        return Gdk.ContentProvider.new_for_value(item)\n                    },\n                }))\n            }\n            return new Gtk.ListBoxRow({ child,\n                selectable: item.value !== 'add-catalog' })\n        })\n        this._sidebar_list_box.connect('row-activated', (__, row) => {\n            const { type, value } = row.child.item\n            if (value === 'add-catalog') return this.addCatalog().catch(e => console.error(e))\n            if (value === 'library') return this._main_stack.visible_child = this._library_toolbar_view\n            if (type === 'catalog') return this.showCatalog(value)\n        })\n        this._sidebar_list_box.select_row(this._sidebar_list_box.get_row_at_index(0))\n\n        const books = getBooks()\n\n        utils.connect(this._books_view, {\n            'activate': (_, item) => this.root.openFile(books.getBook(item)),\n            'load-more': () => books.loadMore(1),\n            'load-all': () => books.loadMore(Infinity),\n        })\n        this._books_view.setModel(books)\n        this._books_view.view_mode = 'grid'\n        utils.bindSettings('library', this._books_view, ['view-mode'])\n        books.loadMore(10)\n\n        this._search_bar.connect_entry(this._search_entry)\n        this._search_entry.connect('search-changed', entry =>\n            this._books_view.search(entry.text))\n\n        this.insert_action_group('library', this._books_view.actionGroup)\n        this.insert_action_group('catalog', this._opds_view.actionGroup)\n    }\n    #addCatalog(url) {\n        this._sidebar_list_box.select_row(null)\n        const handler = this._opds_view.connect('state-changed', (_, state) => {\n            this._opds_view.disconnect(handler)\n            if (state) {\n                const catalog = {\n                    title: state.title || '',\n                    uri: state.start || state.self,\n                }\n                addCatalog(catalog)\n\n                for (let i = 0;; i++) {\n                    const row = this._sidebar_list_box.get_row_at_index(i)\n                    if (!row) break\n                    const { type, value } = row.child.item\n                    if (type === 'catalog' && value === catalog.uri)\n                        this._sidebar_list_box.select_row(row)\n                }\n            }\n        })\n        this.showCatalog(url)\n    }\n    async addCatalog() {\n        let text = ''\n        try {\n            text = await utils.getClipboardText()\n        } catch (e) {\n            console.warn(e)\n        }\n        const { window, button } = this.root.actionDialog()\n        const submit = () => {\n            const url = entry.text.trim()\n            if (!url) return\n            this.#addCatalog(url)\n            window.close()\n        }\n        window.title = _('Add Catalog')\n        button.label = _('Add')\n        button.connect('clicked', submit)\n        window.content.content = utils.addClass(new Adw.StatusPage({\n            icon_name: 'application-rss+xml-symbolic',\n            title: _('Add Catalog'),\n            description: _('You can browse and download books from OPDS catalogs. <a href=\"https://opds.io\">Learn More…</a>'),\n        }), 'compact')\n        const group = new Adw.PreferencesGroup()\n        const entry = utils.connect(new Adw.EntryRow({\n            title: _('URL'),\n            input_purpose: Gtk.InputPurpose.URL,\n            text: /^(http|https|opds):\\/\\//.test(text) ? text : '',\n        }), { 'entry-activated': submit })\n        group.add(entry)\n        window.content.content.child = group\n        window.show()\n        entry.grab_focus()\n    }\n    showCatalog(url) {\n        this._main_stack.visible_child = this._catalog_toolbar_view\n        this._opds_view.load(url)\n    }\n})\n"
  },
  {
    "path": "src/main.js",
    "content": "#!@GJS@ -m\n// eslint-disable-next-line no-useless-escape\nconst MESON = '\\@GJS@' !== '@GJS@' // the latter would be replace by Meson\n\nimport Gtk from 'gi://Gtk?version=4.0'\nimport Gio from 'gi://Gio?version=2.0'\nimport GLib from 'gi://GLib?version=2.0'\nimport 'gi://Adw?version=1'\nimport 'gi://WebKit?version=6.0'\nimport { programInvocationName, programArgs, exit }  from 'system'\nimport { bindtextdomain, textdomain, gettext as _ } from 'gettext'\nimport { setConsoleLogDomain } from 'console'\n\n// mimics (loosely) the `pkg` object set up by GJS if you run `package.init()`\nglobalThis.pkg = {\n    name: 'com.github.johnfactotum.Foliate',\n    version: '3.3.0',\n    MESON,\n}\npkg.userAgent = `Foliate/${pkg.version}`\n\nGLib.set_prgname(pkg.name)\nsetConsoleLogDomain(pkg.name)\nGtk.Window.set_default_icon_name(pkg.name)\nbindtextdomain(pkg.name, GLib.build_filenamev([MESON ? '@datadir@' : '/usr/share', 'locale']))\ntextdomain(pkg.name)\n\npkg.localeName = _('Foliate')\nGLib.set_application_name(pkg.localeName)\n\npkg.datadir = GLib.build_filenamev([GLib.get_user_data_dir(), pkg.name])\npkg.datapath = path => GLib.build_filenamev([pkg.datadir, path])\npkg.datafile = path => Gio.File.new_for_path(pkg.datapath(path))\n\npkg.configdir = GLib.build_filenamev([GLib.get_user_config_dir(), pkg.name])\npkg.configpath = path => GLib.build_filenamev([pkg.configdir, path])\n\npkg.cachedir = GLib.build_filenamev([GLib.get_user_cache_dir(), pkg.name])\npkg.cachepath = path => GLib.build_filenamev([pkg.cachedir, path])\n\nif (MESON) {\n    // when using Meson, load from compiled GResource binary\n    Gio.Resource\n        .load(GLib.build_filenamev(['@datadir@', pkg.name, `${pkg.name}.gresource`]))\n        ._register()\n    const moduledir = '/' + pkg.name.replaceAll('.', '/')\n    pkg.modulepath = path => GLib.build_filenamev([moduledir, path])\n    pkg.moduleuri = path => `resource://${pkg.modulepath(path)}`\n}\nelse {\n    const moduledir = GLib.path_get_dirname(GLib.filename_from_uri(import.meta.url)[0])\n    pkg.modulepath = path => GLib.build_filenamev([moduledir, path])\n    pkg.moduleuri = path => GLib.filename_to_uri(pkg.modulepath(path), null)\n}\npkg.useResource = MESON\n\nconst { Application } = await import(pkg.moduleuri('app.js'))\nexit(await new Application().runAsync([programInvocationName, ...programArgs]))\n"
  },
  {
    "path": "src/meson.build",
    "content": "bin_conf = configuration_data()\nbin_conf.set('GJS', gjs.get_variable(pkgconfig: 'gjs_console'))\nbin_conf.set('datadir', join_paths(get_option('prefix'), get_option('datadir')))\n\nconfigure_file(\n    input: 'main.js',\n    output: 'foliate',\n    configuration: bin_conf,\n    install_dir: get_option('bindir'),\n)\n\npkgdatadir = join_paths(get_option('datadir'), meson.project_name())\n\nsrc_res = gnome.compile_resources(\n    meson.project_name(),\n    'gresource.xml',\n    gresource_bundle: true,\n    install: true,\n    install_dir: pkgdatadir,\n)\n"
  },
  {
    "path": "src/navbar.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GObject from 'gi://GObject'\nimport Pango from 'gi://Pango'\nimport * as utils from './utils.js'\nimport * as format from './format.js'\nimport './tts.js'\n\nconst ONE_HUNDRED_PERCENT_LENGTH = format.percent(1).length\n\nconst Landmark = utils.makeDataClass('FoliateLandmark', {\n    'label': 'string',\n    'href': 'string',\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateLandmarkView',\n    Signals: {\n        'go-to-href': {\n            param_types: [GObject.TYPE_STRING],\n        },\n    },\n}, class extends Gtk.ListView {\n    constructor(params) {\n        super(params)\n        this.model = new Gtk.NoSelection()\n        this.connect('activate', (_, pos) => {\n            const { href } = this.model.model.get_item(pos) ?? {}\n            if (href) this.emit('go-to-href', href)\n        })\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) => listItem.child = new Gtk.Label({\n                xalign: 0,\n                ellipsize: Pango.EllipsizeMode.END,\n            }),\n            'bind': (_, { child, item }) => {\n                const label = item.label ?? ''\n                child.label = label\n                child.tooltip_text = label\n            },\n        })\n    }\n    load(landmarks) {\n        this.model.model = landmarks?.length\n            ? utils.list(landmarks.map(({ label, href }) =>\n                ({ label, href })), Landmark)\n            : null\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliatePageListDropDown',\n    Signals: {\n        'go-to-href': { param_types: [GObject.TYPE_STRING] },\n    },\n}, class extends Gtk.DropDown {\n    #hrefs\n    #indices\n    #shouldGo = true\n    constructor(params) {\n        super(params)\n        this.expression = Gtk.PropertyExpression.new(Gtk.StringObject, null, 'string')\n        this.enable_search = true\n        this.connect('notify::selected', () => {\n            if (this.#shouldGo) {\n                const href = this.#hrefs.get(this.selected)\n                if (href) this.emit('go-to-href', href)\n            }\n        })\n    }\n    load(pageList) {\n        pageList ??= []\n        this.#hrefs = new Map()\n        this.#indices = new Map()\n        const list = new Gtk.StringList()\n        this.model = list\n        for (const [i, { id, label, href }] of pageList.entries()) {\n            list.append(label ?? '')\n            this.#hrefs.set(i, href)\n            this.#indices.set(id, i)\n        }\n    }\n    update(item) {\n        this.#shouldGo = false\n        this.selected = this.#indices?.get?.(item?.id) ?? 0xffffffff\n        this.#shouldGo = true\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateProgressScale',\n    Signals: {\n        'go-to-fraction': { param_types: [GObject.TYPE_DOUBLE] },\n    },\n}, class extends Gtk.Scale {\n    #shouldUpdate = true\n    #shouldGo = true\n    constructor(params) {\n        super(params)\n        this.connect('value-changed', scale => {\n            if (this.#shouldGo) {\n                this.#shouldUpdate = false\n                this.emit('go-to-fraction', scale.get_value())\n            }\n        })\n    }\n    loadSectionFractions(fractions) {\n        this.clear_marks()\n        for (const fraction of fractions.slice(1, -1))\n            this.add_mark(fraction, Gtk.PositionType.TOP, null)\n    }\n    update(fraction) {\n        if (this.#shouldUpdate) {\n            this.#shouldGo = false\n            this.set_value(fraction)\n            this.#shouldGo = true\n        } else this.#shouldUpdate = true\n    }\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateNavBar',\n    Template: pkg.moduleuri('ui/navbar.ui'),\n    Children: ['tts-box', 'media-overlay-box'],\n    InternalChildren: [\n        'prev-image', 'next-image', 'back-image', 'forward-image',\n        'progress-box', 'progress-scale', 'location-button',\n        'location-popover', 'tts-popover', 'tts-stack',\n        'time-book', 'time-section',\n        'page-label', 'page-box', 'page-drop-down', 'page-total',\n        'loc-entry', 'loc-total', 'cfi-entry',\n        'section-entry', 'section-total', 'section-buttons',\n        'location-popover-stack', 'landmark-view', 'landmark-toggle',\n    ],\n    Signals: {\n        'go-to-cfi': { param_types: [GObject.TYPE_STRING] },\n        'go-to-section': { param_types: [GObject.TYPE_UINT] },\n        'go-to-fraction': { param_types: [GObject.TYPE_DOUBLE] },\n        'opened': {},\n        'closed': {},\n    },\n}, class extends Gtk.Box {\n    #locationTotal\n    constructor(params) {\n        super(params)\n        const closed = () => this.emit('closed')\n        this._location_popover.connect('closed', () => {\n            this._landmark_toggle.active = false\n            closed()\n        })\n        this._tts_popover.connect('closed', closed)\n        this._loc_entry.connect('activate', entry => {\n            this.emit('go-to-fraction', parseInt(entry.text) / this.#locationTotal)\n            this._location_popover.popdown()\n        })\n        this._cfi_entry.connect('activate',\n            entry => this.emit('go-to-cfi', entry.text))\n        this._section_entry.connect('activate',\n            entry => this.emit('go-to-section', parseInt(entry.text) - 1))\n        this._progress_scale.connect('go-to-fraction',\n            (_, value) => this.emit('go-to-fraction', value))\n        this._page_drop_down.connect('go-to-href',\n            (_, href) => this.emit('go-to-cfi', href))\n        this._landmark_view.connect('go-to-href',\n            (_, href) => this.emit('go-to-cfi', href))\n        this._landmark_toggle.connect('toggled', toggle =>\n            this._location_popover_stack.visible_child_name =\n                toggle.active ? 'landmarks' : 'main')\n\n        this.connect('go-to-cfi', () => this._location_popover.popdown())\n        this.connect('go-to-section', () => this._location_popover.popdown())\n\n        const actions = utils.addMethods(this, {\n            actions: ['copy-cfi', 'paste-cfi', 'toggle-landmarks'],\n        })\n        this.insert_action_group('navbar', actions)\n    }\n    get shouldStayVisible() {\n        return this._location_popover.visible || this._tts_popover.visible\n    }\n    update(progress) {\n        const { fraction, section, location, time, cfi, pageItem } = progress\n        this._cfi_entry.text = cfi ?? ''\n        this._progress_scale.update(fraction)\n        this._location_button.label = format.percent(fraction)\n            .padStart(ONE_HUNDRED_PERCENT_LENGTH, '\\u2007')\n        this._time_book.label = format.duration(time.total)\n        this._time_section.label = format.duration(time.section)\n        this._loc_entry.text = (location.current + 1).toString()\n        this._loc_total.label = format.total(location.total)\n        this.#locationTotal = location.total\n        this._section_entry.text = (section.current + 1).toString()\n        this._section_total.label = format.total(section.total)\n        this._page_drop_down.update(pageItem)\n    }\n    setDirection(dir) {\n        const value = utils.getGtkDir(dir)\n        for (const widget of [this, this._progress_box, this._progress_scale,\n            this._prev_image, this._next_image, this._back_image, this._forward_image])\n            widget.set_direction(value)\n        utils.setDirection(this._section_buttons, value)\n    }\n    loadSectionFractions(fractions) {\n        this._progress_scale.loadSectionFractions(fractions)\n    }\n    loadPageList(pageList, total) {\n        if (!pageList?.length) {\n            this._page_box.hide()\n            this._page_label.hide()\n            return\n        }\n        this._page_box.show()\n        this._page_label.show()\n        this._page_drop_down.load(pageList)\n        this._page_total.label = total ? format.total(total) : ''\n    }\n    loadLandmarks(landmarks) {\n        this._landmark_toggle.sensitive = landmarks?.length ? true : false\n        this._landmark_view.load(landmarks)\n    }\n    copyCfi() {\n        utils.setClipboardText(this._cfi_entry.text, this.root)\n        this._location_popover.popdown()\n    }\n    pasteCfi() {\n        utils.getClipboardText()\n            .then(text => this.emit('go-to-cfi', text))\n            .catch(e => console.warn(e))\n    }\n    showLocation() {\n        this.emit('opened')\n        this._location_button.popup()\n    }\n    setTTSType(name) {\n        this._tts_stack.visible_child_name = name\n        this._tts_popover.default_widget = this._tts_stack.visible_child.defaultWidget\n    }\n})\n"
  },
  {
    "path": "src/opds/main.html",
    "content": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'none'; script-src foliate-opds:; style-src 'unsafe-inline'; img-src *; connect-src *; frame-src 'self';\">\n<style>\n:not(:defined) > * {\n    display: none;\n}\n:root {\n    overflow-wrap: anywhere;\n    font: menu;\n    font-size: 11pt;\n    --shade: rgba(0, 0, 0, .07);\n    --raised: rgba(0, 0, 0, .1);\n    --pressed: rgba(0, 0, 0, .2);\n}\n@media (prefers-color-scheme: dark) {\n    :root {\n        --shade: rgba(255, 255, 255, .15);\n        --raised: rgba(255, 255, 255, .2);\n        --pressed: rgba(255, 255, 255, .25);\n    }\n}\na:any-link {\n    color: inherit;\n    text-decoration: none;\n    text-underline-offset: .2em;\n    padding-block-end: .2em;\n    margin-block-end: -.2em;\n}\na:any-link:hover {\n    text-decoration: underline;\n}\nhr {\n    background: none;\n    border: 0;\n    border-top: 1px solid color-mix(in hsl, currentColor, transparent 85%);\n}\nh1 {\n    font-size: 1.75em;\n    font-weight: 900;\n}\nh2 {\n    font-size: 1.25em;\n}\ncode {\n    font-size: smaller;\n}\nbutton {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    padding: 9px;\n    font: inherit;\n    font-weight: 700;\n    border-radius: 6px;\n    border: 0;\n    background: none;\n}\nbutton:hover {\n    background: var(--shade);\n}\nbutton:active, button[aria-expanded=\"true\"] {\n    background: var(--raised);\n}\nbutton.raised {\n    background: var(--shade);\n}\nbutton.raised:hover {\n    background: var(--raised);\n}\nbutton.raised:active, button.raised[aria-expanded=\"true\"] {\n    background: var(--pressed);\n}\n.pill {\n    border-radius: 9999px;\n    padding: 12px 24px;\n}\n.split-button {\n    display: flex;\n}\n.split-button > button {\n    flex: 1;\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n}\n.split-button foliate-menubutton > button {\n    padding: 9px;\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n    border-inline-start: 1px solid color-mix(in hsl, currentColor, transparent 75%);\n}\nfoliate-menubutton {\n    display: flex;\n}\nfoliate-menu {\n    position: absolute;\n    inset-block-start: 100%;\n    inset-inline-end: 0;\n    display: flex;\n    flex-direction: column;\n    width: max-content;\n    background: canvas;\n    border-radius: 9px;\n    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03),\n        0 1px 3px 1px rgba(0, 0, 0, 0.07),\n        0 2px 6px 2px rgba(0, 0, 0, 0.03);\n    visibility: hidden;\n    padding: 6px;\n}\nfoliate-menu:not([hidden]) {\n    visibility: visible;\n}\nbutton[role=\"menuitem\"] {\n    border: 0;\n    text-align: start;\n    justify-content: start;\n    font: menu;\n    border-radius: 6px;\n    padding: 9px;\n}\n\n/* main stack\n------------------------------------------------------------------------------*/\n#stack > * {\n    position: absolute;\n    inset: 0;\n    overflow: auto;\n    padding: 18px 24px;\n}\n#stack > [hidden] {\n    display: block;\n}\n#stack > *:before {\n    content: \"\";\n    display: block;\n    position: fixed;\n    inset: 0;\n    z-index: 1;\n    bottom: auto;\n    height: 4px;\n    box-shadow: inset 0 1px rgba(0, 0, 0, .07);\n    background: linear-gradient(rgba(0, 0, 0, .07), transparent);\n    pointer-events: none;\n    opacity: 1;\n}\n@media (prefers-color-scheme: dark) {\n    #stack > *:before {\n        box-shadow: inset 0 1px rgba(0, 0, 0, .2);\n        background: linear-gradient(rgba(0, 0, 0, .2), transparent);\n    }\n}\n#stack > *[data-scrolled-to-top]:before {\n    opacity: 0;\n}\n#loading {\n    opacity: 0;\n    animation: .2s ease 1s 1 normal forwards fade-in;\n}\n@keyframes fade-in {\n    from { opacity: 0; }\n    to { opacity: 1; }\n}\n#loading:not([hidden]) svg path {\n    animation: .6s linear infinite rotate;\n    transform-origin: center;\n}\n@keyframes rotate {\n    from { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n/* feed\n------------------------------------------------------------------------------*/\n#feed hgroup {\n    margin-bottom: 24px;\n}\n#feed hgroup h1 {\n    margin: 0;\n    margin-bottom: .5rem;\n}\n#feed main > nav {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    text-align: center;\n    margin: 1em auto;\n    width: fit-content;\n    background: #fff;\n    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03),\n        0 1px 3px 1px rgba(0, 0, 0, 0.07),\n        0 2px 6px 2px rgba(0, 0, 0, 0.03);\n    border-radius: 6px;\n    font: menu;\n}\n@media (prefers-color-scheme: dark) {\n    #feed main > nav {\n        background: #ffffff11;\n    }\n}\n#feed main > nav > * {\n    padding: 6px 9px;\n}\n#feed main > nav > * + * {\n    border-inline-start: 1px solid rgba(0, 0, 0, 0.07);\n}\n#feed main > nav a:not(:any-link) {\n    color: grayText;\n    cursor: default;\n}\n#nav:not(:empty) {\n    position: fixed;\n    inset: 0;\n    box-sizing: border-box;\n}\n#feed a[href=\"#nav\"] {\n    display: none;\n    position: fixed;\n    z-index: 1;\n    inset-block-end: 0;\n    inset-inline-end: 0;\n    margin: 18px;\n    background: highlight;\n    color: highlightText;\n    border-radius: 100%;\n    height: min-content;\n    width: min-content;\n    padding: 9px;\n}\n@media (max-width: 800px) {\n    #nav {\n        display: none;\n    }\n    #nav:not(:empty):target {\n        display: block;\n    }\n    #feed[data-scrolled-to-top] {\n        box-shadow: none;\n    }\n    #nav:not(:empty) {\n        padding: 18px;\n        background: canvas;\n        color: canvasText;\n        box-shadow: inset 0 1px rgba(0, 0, 0, .1);\n    }\n    #feed:has(#nav:not(:empty)):not(:has(#nav:target)) {\n        padding-block-end: calc(16px + 18px + 9px * 2);\n    }\n    #feed:has(#nav:not(:empty)):not(:has(#nav:target)) a[href=\"#nav\"] {\n        display: flex;\n    }\n}\n@media (width > 800px) {\n    #feed:has(#nav:not(:empty)) {\n        margin-inline-end: 200px;\n    }\n    #nav:not(:empty) {\n        display: block;\n        padding: 12px 9px;\n        width: 200px;\n        inset-inline-start: auto;\n    }\n    #feed[data-scrolled-to-top] #nav:not([data-scrolled-to-top]) {\n        -webkit-mask-image: linear-gradient(transparent, #000 4em, #000);\n    }\n    #feed:has(#nav:not(:empty)) .carousel:has(opds-pub) {\n        -webkit-mask-image: linear-gradient(to left, transparent, #000 24px, #000);\n    }\n    #feed:has(#nav:not(:empty)):dir(rtl) .carousel:has(opds-pub) {\n        -webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000);\n    }\n}\n#nav section + section {\n    margin-top: 2em;\n}\n#nav h3 {\n    font-size: smaller;\n    margin: 0;\n    margin-bottom: 6px;\n    color: graytext;\n}\n#nav ul {\n    margin: 0;\n    padding: 0;\n}\n#nav a {\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    flex: 1;\n}\n#nav span {\n    color: graytext;\n    font-size: .75em;\n    font-weight: 700;\n}\n#nav li {\n    border-radius: 6px;\n    padding: 6px 12px;\n    display: flex;\n    align-items: center;\n    gap: 9px;\n}\n#nav [aria-current] {\n    background: var(--shade);\n}\n.container {\n    display: grid;\n    gap: 18px;\n    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n    margin-bottom: 24px;\n}\n.container:has(opds-pub) {\n    gap: 24px;\n    row-gap: 0;\n    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n    margin-bottom: 0;\n}\n.carousel:has(opds-pub) {\n    gap: 18px;\n    row-gap: 0;\n    grid-template-columns: repeat(auto-fill, 120px);\n    grid-auto-flow: column;\n    grid-auto-columns: 120px;\n    margin-inline: -24px;\n    padding-inline: 24px;\n    overflow: auto;\n    scroll-snap-type: inline proximity;\n    scroll-padding: 24px;\n}\n.carousel:has(opds-pub) > * {\n    scroll-snap-align: start;\n}\n.carousel-header {\n    display: flex;\n    align-items: center;\n    gap: 24px;\n}\n.carousel-header h2 {\n    flex: 1;\n}\n\n/* navigation\n------------------------------------------------------------------------------*/\nopds-nav {\n    padding: 15px;\n    border-radius: 9px;\n    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03),\n        0 1px 3px 1px rgba(0, 0, 0, 0.07),\n        0 2px 6px 2px rgba(0, 0, 0, 0.03);\n    background: #fff;\n    transition: background .2s;\n}\nopds-nav:hover {\n    background: none;\n}\n@media (prefers-color-scheme: dark) {\n    opds-nav {\n        background: #ffffff11;\n    }\n    opds-nav:hover {\n        background: #ffffff17;\n    }\n}\n\n/* publication */\n:is(opds-pub, opds-pub-full) > [slot=\"image\"] {\n    border-radius: 9px;\n    box-shadow: 0 6px 12px rgba(0, 0, 0, .15);\n    border: 1px solid color-mix(in hsl, currentColor, transparent 85%);\n}\nopds-pub-full {\n    display: block;\n    max-width: 640px;\n}\nopds-pub-full a:any-link {\n    text-decoration: underline;\n    text-decoration-color: color-mix(in hsl, currentcolor, transparent 75%);\n}\nopds-pub-full a:any-link:hover {\n    text-decoration-color: currentcolor;\n}\nopds-pub-full > [slot=\"heading\"] {\n    display: flex;\n    flex-direction: column;\n    gap: 9px;\n    margin-bottom: 9px;\n}\nopds-pub-full > [slot=\"heading\"] {\n    font-size: max(1em, min(3vw, 1.15em));\n}\nopds-pub-full > [slot=\"heading\"] p:first-child {\n    font-size: 1rem;\n}\nopds-pub-full > [slot=\"heading\"] h1 {\n    font-size: 1.5em;\n}\nopds-pub-full > [slot=\"heading\"] h1 + p {\n    font-size: 1.2em;\n    font-weight: 700;\n}\nopds-pub-full :is(h1, p) {\n    margin: 0;\n}\nopds-pub-full hgroup p:empty {\n    display: none;\n}\nopds-pub-full > [slot=\"details\"] table {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n    column-gap: 12px;\n    row-gap: 3px;\n    margin-top: 24px;\n    margin-bottom: 6px;\n}\nopds-pub-full > [slot=\"details\"] th {\n    text-align: start;\n    font-size: smaller;\n}\nopds-pub-full > [slot=\"details\"] tr {\n    display: grid;\n    grid-row: auto / span 2;\n    grid-template-rows: subgrid;\n    margin-bottom: 18px;\n}\nopds-pub-full > [slot=\"details\"] tr.long {\n    grid-column: span 2;\n}\nopds-pub-full > [slot=\"details\"] [role=\"listitem\"] {\n    display: inline-flex;\n    gap: 1ex;\n    margin-inline-end: 2em;\n    font-size: smaller;\n}\nopds-pub-full > [slot=\"details\"] [role=\"listitem\"] + [role=\"listitem\"] {\n    margin-block-start: 1em;\n}\nopds-pub-full > [slot=\"actions\"] {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 9px;\n    width: 100%;\n    margin-top: 24px;\n}\nopds-pub-full > [slot=\"actions\"] > * {\n    min-width: min(100%, 8em);\n}\n/* if first button is \"sample\", highlight last button */\nopds-pub-full > [slot=\"actions\"]:has([data-rel$=\"sample\"]:first-child) > button:not([data-rel$=\"sample\"]):not(:has(~ :not([data-rel$=\"sample\"]))),\nopds-pub-full > [slot=\"actions\"]:has([data-rel$=\"sample\"]:first-child) > :not([data-rel$=\"sample\"]):not(:has(~ :not([data-rel$=\"sample\"]))) > button,\nopds-pub-full > [slot=\"actions\"]:has([data-rel$=\"sample\"]:first-child) > :not([data-rel$=\"sample\"]):not(:has(~ :not([data-rel$=\"sample\"]))) > foliate-menubutton > button,\n/* otherwise, highlight first button */\nopds-pub-full > [slot=\"actions\"]:not(:has([data-rel$=\"sample\"]:first-child)) > button:first-child,\nopds-pub-full > [slot=\"actions\"]:not(:has([data-rel$=\"sample\"]:first-child)) > *:first-child > button,\nopds-pub-full > [slot=\"actions\"]:not(:has([data-rel$=\"sample\"]:first-child)) > *:first-child > foliate-menubutton > button {\n    color: highlighttext;\n    --shade: highlight;\n    --raised: color-mix(in srgb, var(--shade), highlighttext 10%);\n    --pressed: color-mix(in srgb, var(--shade), transparent 20%);\n}\n\n/* search\n------------------------------------------------------------------------------*/\n#search form p {\n    text-align: start;\n}\n#search label > span {\n    font-size: smaller;\n    color: graytext;\n}\n#search input[type=\"search\"] {\n    display: block;\n    width: 100%;\n    box-sizing: border-box;\n    padding: 9px;\n    margin: 6px 0;\n    font: inherit;\n}\n</style>\n<template id=\"opds-nav\">\n    <style>\n    :host {\n        position: relative;\n        display: grid;\n        grid-template-columns: 1fr max-content min-content;\n        column-gap: 12px;\n        row-gap: 6px;\n        align-items: center;\n    }\n    a {\n        color: inherit;\n        text-decoration: none;\n    }\n    h1 a:before {\n        content: \"\";\n        display: block;\n        position: absolute;\n        inset: 0;\n    }\n    h1 {\n        font-size: inherit;\n        margin: 0;\n        align-self: end;\n    }\n    h1:has(+ #description:empty) {\n        align-self: center;\n    }\n    p {\n        margin: 0;\n    }\n    #description {\n        grid-row-start: 2;\n        margin: 0;\n        font-size: smaller;\n        align-self: start;\n    }\n    #description:empty {\n        display: none;\n    }\n    #description:not(:empty) ~ :is(#count, span) {\n        grid-row: span 2;\n    }\n    #count {\n        font-variant-numeric: tabular-nums;\n        font-size: smaller;\n        color: graytext;\n    }\n    span {\n        color: graytext;\n    }\n    </style>\n    <h1><a></a></h1>\n    <p id=\"description\"></p>\n    <p id=\"count\"></p>\n    <span aria-hidden=\"true\">❯</span>\n</template>\n<template id=\"opds-pub\">\n    <style>\n    :host {\n        position: relative;\n        display: grid;\n        grid-row: auto / span 2;\n        grid-template-rows: subgrid;\n        margin-bottom: 18px;\n        font-size: .9em;\n    }\n    ::slotted(img) {\n        width: 100%;\n        height: auto;\n        align-self: end;\n    }\n    div {\n        display: flex;\n        flex-direction: column;\n        gap: .3em;\n        margin-top: 12px;\n        min-width: 0;\n    }\n    div > * {\n        margin: 0;\n    }\n    h1 {\n        font-size: 1em;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        display: -webkit-box;\n        -webkit-box-orient: vertical;\n        -webkit-line-clamp: 2;\n        padding-block-end: .2em;\n        margin-block-end: -.2em;\n    }\n    #author {\n        font-size: smaller;\n        overflow: hidden;\n        white-space: nowrap;\n        text-overflow: ellipsis;\n    }\n    a {\n        color: inherit;\n        text-decoration: none;\n        text-underline-offset: .2em;\n    }\n    a:hover {\n        text-decoration: underline;\n    }\n    h1 a:before {\n        content: \"\";\n        display: block;\n        position: absolute;\n        inset: 0;\n        border-radius: 4px;\n    }\n    h1 a:focus-visible:before {\n        outline: 2px solid highlight;\n    }\n    </style>\n    <slot name=\"image\"></slot>\n    <div>\n        <h1><a></a></h1>\n        <p id=\"author\"></p>\n        <p id=\"price\"></p>\n    </div>\n</template>\n<template id=\"opds-pub-full\">\n    <style>\n    #header {\n        display: grid;\n        grid-template-columns: min(40%, 180px) 1fr;\n        grid-template-rows: min-content min-content 1fr;\n        column-gap: 24px;\n    }\n    ::slotted(img) {\n        width: 100%;\n        height: auto;\n        grid-row: span 3;\n    }\n    iframe {\n        border: 0;\n        width: 100%;\n        margin-top: 24px;\n    }\n    :host(:not([description])) iframe {\n        display: none;\n    }\n    #actions, #actions > * {\n        display: flex;\n        align-items: end;\n        flex: 1;\n    }\n    #downloading {\n        gap: 6px;\n    }\n    #downloading progress {\n        align-self: center;\n        flex: 1;\n        width: auto;\n    }\n    :host(:not([downloading])) #actions > :not(slot) { display: none }\n    :host([downloading]) #actions > :not(#downloading) { display: none }\n    </style>\n    <div id=\"header\">\n        <slot name=\"image\"></slot>\n        <slot name=\"heading\"></slot>\n        <slot name=\"authors\"></slot>\n        <div id=\"actions\">\n            <div id=\"downloading\">\n                <progress></progress>\n                <slot name=\"cancel\"></slot>\n            </div>\n            <slot name=\"actions\"></slot>\n        </div>\n    </div>\n    <iframe sandbox></iframe>\n    <slot name=\"details\"></slot>\n</template>\n<foliate-stack id=\"stack\">\n    <foliate-scrolled id=\"loading\">\n        <foliate-center>\n            <svg width=\"48\" height=\"48\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                <path d=\"M24 8A 16 16 0 0 0 24 40\"></path>\n            </svg>\n            <h1></h1>\n        </foliate-center>\n    </foliate-scrolled>\n    <foliate-scrolled id=\"error\">\n        <foliate-center>\n            <h1></h1>\n            <p></p>\n            <hr style=\"visibility: hidden\">\n            <button class=\"raised pill\"></button>\n        </foliate-center>\n    </foliate-scrolled>\n    <foliate-scrolled id=\"feed\">\n        <article>\n            <hgroup>\n                <h1></h1>\n                <p></p>\n            </hgroup>\n            <a href=\"#nav\"><foliate-symbolic src=\"/icons/hicolor/scalable/actions/funnel-symbolic.svg\"></foliate-symbolic></a>\n            <main></main>\n            <foliate-scrolled id=\"nav\" role=\"navigation\"></foliate-scrolled>\n        </article>\n    </foliate-scrolled>\n    <foliate-scrolled id=\"entry\"></foliate-scrolled>\n    <foliate-scrolled id=\"search\">\n        <foliate-center>\n            <h1></h1>\n            <p></p>\n            <form>\n                <div id=\"search-params\"></div>\n                <button class=\"raised pill\"></button>\n            </form>\n        </foliate-center>\n    </foliate-scrolled>\n</foliate-stack>\n"
  },
  {
    "path": "src/opds/main.js",
    "content": "import '../common/widgets.js'\nimport { REL, SYMBOL, isOPDSCatalog, getPublication, getFeed, getSearch, getOpenSearch } from '../foliate-js/opds.js'\n\nconst emit = x => globalThis.webkit.messageHandlers.opds\n    .postMessage(JSON.stringify(x))\n\nconst MIME = {\n    XML: 'application/xml',\n    ATOM: 'application/atom+xml',\n    XHTML: 'application/xhtml+xml',\n    HTML: 'text/html',\n    OPENSEARCH: 'application/opensearchdescription+xml',\n}\n\nconst PAGINATION = Symbol('pagination')\n\nconst groupByArray = (arr, f) => {\n    const map = new Map()\n    if (arr) for (const el of arr) {\n        const keys = f(el)\n        for (const key of [keys].flat()) {\n            const group = map.get(key)\n            if (group) group.push(el)\n            else map.set(key, [el])\n        }\n    }\n    return map\n}\n\nconst filterKeys = (map, f) => Array.from(map, ([key, val]) =>\n    f(key) ? [key, val] : null).filter(x => x)\n\nconst resolveURL = (url, relativeTo) => {\n    if (!url) return ''\n    try {\n        if (relativeTo.includes(':')) return new URL(url, relativeTo).toString()\n        // the base needs to be a valid URL, so set a base URL and then remove it\n        const root = 'https://invalid.invalid/'\n        const obj = new URL(url, root + relativeTo)\n        obj.search = ''\n        return decodeURI(obj.href.replace(root, ''))\n    } catch(e) {\n        console.warn(e)\n        return url\n    }\n}\n\n// https://www.rfc-editor.org/rfc/rfc7231#section-3.1.1\nconst parseMediaType = str => {\n    if (!str) return null\n    const [mediaType, ...ps] = str.split(/ *; */)\n    return {\n        mediaType: mediaType.toLowerCase(),\n        parameters: Object.fromEntries(ps.map(p => {\n            const [name, val] = p.split('=')\n            return [name.toLowerCase(), val?.replace(/(^\"|\"$)/g, '')]\n        })),\n    }\n}\n\nconst formatElementList = async els => {\n    const arr = els.slice(0)\n    return (await globalThis.formatList(els.map(() => '%s')))\n        .split(/(%s)/g)\n        .map(str => str === '%s' ? arr.shift() : document.createTextNode(str))\n}\n\ncustomElements.define('opds-nav', class extends HTMLElement {\n    static observedAttributes = ['heading', 'count', 'description', 'href']\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        this.attachInternals().role = 'listitem'\n        const template = document.querySelector('#opds-nav')\n        this.#root.append(template.content.cloneNode(true))\n    }\n    attributeChangedCallback(name, _, val) {\n        switch (name) {\n            case 'heading':\n                this.#root.querySelector('h1 a').textContent = val\n                break\n            case 'count':\n                this.#root.querySelector('#count').textContent = val\n                break\n            case 'description':\n                this.#root.querySelector('p').textContent = val\n                break\n            case 'href':\n                this.#root.querySelector('a').href = val\n                break\n        }\n    }\n})\n\ncustomElements.define('opds-pub', class extends HTMLElement {\n    static observedAttributes = ['heading', 'author', 'price', 'image', 'href']\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        this.attachInternals().role = 'listitem'\n        const template = document.querySelector('#opds-pub')\n        this.#root.append(template.content.cloneNode(true))\n    }\n    attributeChangedCallback(name, _, val) {\n        switch (name) {\n            case 'heading':\n                this.#root.querySelector('h1 a').textContent = val\n                break\n            case 'author':\n                this.#root.querySelector('#author').textContent = val\n                break\n            case 'price':\n                this.#root.querySelector('#price').textContent = val\n                break\n            case 'image':\n                this.#root.querySelector('img').src = val\n                break\n            case 'href':\n                this.#root.querySelector('a').href = val\n                break\n        }\n    }\n})\n\ncustomElements.define('opds-pub-full', class extends HTMLElement {\n    static observedAttributes = ['description', 'progress']\n    #root = this.attachShadow({ mode: 'closed' })\n    constructor() {\n        super()\n        this.attachInternals().role = 'article'\n        const template = document.querySelector('#opds-pub-full')\n        this.#root.append(template.content.cloneNode(true))\n\n        const frame = this.#root.querySelector('iframe')\n        frame.onload = () => {\n            const doc = frame.contentDocument\n            const sheet = new doc.defaultView.CSSStyleSheet()\n            sheet.replaceSync(`\n            html, body {\n                color-scheme: light dark;\n                font: menu;\n                font-size: 11pt;\n                margin: 0;\n                overflow-wrap: anywhere;\n            }\n            a:any-link {\n                color: highlight;\n            }`)\n            doc.adoptedStyleSheets = [sheet]\n            const updateHeight = () => frame.style.height =\n                `${doc.documentElement.getBoundingClientRect().height}px`\n            updateHeight()\n            new ResizeObserver(updateHeight).observe(doc.documentElement)\n        }\n    }\n    attributeChangedCallback(name, _, val) {\n        switch (name) {\n            case 'description':\n                this.#root.querySelector('iframe').src = val\n                break\n            case 'progress': {\n                const progress = this.#root.querySelector('#downloading progress')\n                if (val) progress.value = val\n                else progress.removeAttribute('value')\n                break\n            }\n        }\n    }\n    disconnectedCallback() {\n        this.dispatchEvent(new Event('cancel-download'))\n    }\n})\n\nconst renderLanguageMap = async x => {\n    if (!x) return ''\n    if (typeof x === 'string') return x\n    const keys = Object.keys(x)\n    return x[(await globalThis.matchLocales(keys))[0]] ?? x.en ?? x[keys[0]]\n}\n\nconst renderLinkedObject = (object, baseURL) => {\n    const a = document.createElement('a')\n    const link = object.links?.find(link => isOPDSCatalog(link.type)) ?? object.links?.[0]\n    if (link) a.href = '?url=' + encodeURIComponent(resolveURL(link.href, baseURL))\n    return a\n}\n\nconst renderContributor = async (contributor, baseURL) => {\n    if (!contributor) return []\n    const as = await Promise.all([contributor ?? []].flat().map(async contributor => {\n        const a = renderLinkedObject(contributor, baseURL)\n        a.textContent = typeof contributor === 'string' ? contributor\n            : await renderLanguageMap(contributor.name)\n        if (contributor.position != null) {\n            const span = document.createElement('span')\n            span.textContent = contributor.position\n            // TODO: localize this\n            return [a, document.createTextNode('\\u00a0'), span]\n        }\n        return a\n    }))\n    return (as.length <= 1 ? as : await formatElementList(as)).flat()\n}\n\nconst renderContributorText = async contributor => {\n    const arr = await Promise.all([contributor ?? []].flat().map(async contributor =>\n        typeof contributor === 'string' ? contributor\n        : await renderLanguageMap(contributor.name)))\n    return globalThis.formatList(arr)\n}\n\nconst renderAcquisitionButton = async (rel, links, callback) => {\n    const label = globalThis.uiText.acq[rel] ?? globalThis.uiText.acq[REL.ACQ]\n    const price = await globalThis.formatPrice(links[0].properties?.price)\n\n    const button = document.createElement('button')\n    button.classList.add('raised', 'pill')\n    button.textContent = price ? `${label} · ${price}` : label\n    button.onclick = () => callback(links[0].href, links[0].type)\n    button.dataset.rel = rel\n    if (links.length === 1) return button\n    else {\n        const menuButton = document.createElement('foliate-menubutton')\n        const menuButtonButton = document.createElement('button')\n        menuButtonButton.classList.add('raised', 'pill')\n        menuButton.append(menuButtonButton)\n        const icon = document.createElement('foliate-symbolic')\n        icon.setAttribute('src', '/icons/hicolor/scalable/actions/pan-down-symbolic.svg')\n        menuButtonButton.append(icon)\n        const menu = document.createElement('foliate-menu')\n        menu.slot = 'menu'\n        menuButton.append(menu)\n\n        for (const link of links) {\n            const type = parseMediaType(link.properties?.indirectAcquisition?.at(-1)?.type\n                ?? link.type)?.mediaType\n            const price = await globalThis.formatPrice(links[0].properties?.price)\n\n            const menuitem = document.createElement('button')\n            menuitem.role = 'menuitem'\n            menuitem.textContent = (link.title || await globalThis.formatMime(type))\n                + (price ? ' · ' + price : '')\n            menuitem.onclick = () => callback(link.href, link.type)\n            menu.append(menuitem)\n        }\n\n        const div = document.createElement('div')\n        div.classList.add('split-button')\n        div.replaceChildren(button, menuButton)\n        div.dataset.rel = rel\n        return div\n    }\n}\n\nconst renderAcquisitionButtons = (links, callback) =>\n    Promise.all(filterKeys(links, rel => rel.startsWith(REL.ACQ))\n        .map(([rel, links]) => renderAcquisitionButton(rel, links, callback)))\n\nconst renderFacets = (facets, baseURL) => facets.map(({ metadata, links }) => {\n    const section = document.createElement('section')\n    const h = document.createElement('h3')\n    h.textContent = metadata.title ?? ''\n    const l = document.createElement('ul')\n    l.append(...links.map(link => {\n        const li = document.createElement('li')\n        const a = document.createElement('a')\n        const href = resolveURL(link.href, baseURL)\n        a.href = isOPDSCatalog(link.type) ? '?url=' + encodeURIComponent(href) : href\n        const title = link.title ?? ''\n        a.title = title\n        a.textContent = title\n        li.append(a)\n        const count = link.properties?.numberOfItems\n        if (count) {\n            const span = document.createElement('span')\n            span.textContent = count\n            li.append(span)\n        }\n        if (link.rel === 'self' || link.rel?.includes('self'))\n            li.ariaCurrent = 'true'\n        return li\n    }))\n    section.append(h, l)\n    return section\n})\n\nconst renderImages = (images, isThumbnail, baseURL) => {\n    const img = document.createElement('img')\n    img.loading = 'lazy'\n    const hasSizes = images?.filter(link => link.width > 0 && link.height > 0)\n    if (hasSizes?.length) {\n        const widest = hasSizes.reduce((state, link) => {\n            if (link.width >= state.width) state.link = link\n            return state\n        }, { width: 0 }).link\n        img.width = widest.width\n        img.height = widest.height\n        img.srcset = hasSizes.map(link =>\n            `${resolveURL(link.href, baseURL)} ${link.width}w`).join(',')\n    }\n    else {\n        img.width = 120\n        img.height = 180\n        const map = groupByArray(images, link => link.rel)\n        const getByRels = rels => rels.flatMap(rel => map.get(rel) ?? [])[0] ?? images?.[0]\n        const src = isThumbnail ? resolveURL(getByRels(REL.THUMBNAIL)?.href, baseURL)\n            : resolveURL(getByRels(REL.COVER)?.href, baseURL)\n        if (src) img.src = src\n    }\n    return img\n}\n\nconst renderIdentifier = identifier => {\n    if (!identifier) return\n    const el = document.createElement('code')\n    el.textContent = identifier\n    return [el]\n}\n\nconst renderContent = (value, type, baseURL) => {\n    const doc = type === 'xhtml'\n        ? document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html')\n        : document.implementation.createHTMLDocument()\n    if (type === 'xhtml') {\n        doc.documentElement.append(doc.createElement('head'))\n        doc.documentElement.append(doc.createElement('body'))\n    }\n    const meta = doc.createElement('meta')\n    meta.setAttribute('http-equiv', 'Content-Security-Policy')\n    meta.setAttribute('content', \"default-src 'none';\")\n    const base = doc.createElement('base')\n    base.href = baseURL\n    doc.head.append(meta, base)\n    if (!type || type === 'text') doc.body.textContent = value\n    else doc.body.innerHTML = value\n    return new Blob([new XMLSerializer().serializeToString(doc)],\n        { type: type === 'xhtml' ? MIME.XHTML : MIME.HTML })\n}\n\nconst renderGroups = async (groups, baseURL) => (await Promise.all(groups.map(async (group, groupIndex) => {\n    const { metadata, links, publications, navigation } = group\n\n    const paginationItems = group[PAGINATION]?.map((links, i) => {\n        links ??= []\n        const a = renderLinkedObject({ links }, baseURL)\n        a.textContent = globalThis.uiText.pagination[i]\n        return a\n    })\n    const pagination = paginationItems?.filter(a => a.href)?.length\n        ? document.createElement('nav') : null\n    if (pagination) pagination.append(...paginationItems)\n\n    const container = document.createElement('div')\n    container.classList.add('container')\n    container.replaceChildren(...await Promise.all((publications ?? navigation).map(async (item, itemIndex) => {\n        const isPub = 'metadata' in item\n        const el = document.createElement(isPub ? 'opds-pub' : 'opds-nav')\n        if (isPub) {\n            const linksByRel = groupByArray(item.links, link => link.rel)\n            el.setAttribute('heading', await renderLanguageMap(item.metadata.title))\n            el.setAttribute('author', await renderContributorText(item.metadata.author))\n            el.setAttribute('price', (await globalThis.formatPrice(\n                item.links?.find(link => link.properties?.price)?.properties?.price))\n                || (linksByRel.has(REL.ACQ + '/open-access')\n                    ? globalThis.uiText.openAccess : ''))\n            const img = renderImages(item.images, true, baseURL)\n            img.slot = 'image'\n            el.append(img)\n            const alternate = linksByRel.get('alternate')?.find(link => {\n                const parsed = parseMediaType(link.type)\n                if (!parsed) return\n                return parsed.mediaType === MIME.ATOM\n                    && parsed.parameters.profile === 'opds-catalog'\n                    && parsed.parameters.type === 'entry'\n            })\n            el.setAttribute('href', alternate?.href\n                ? '?url=' + encodeURIComponent(resolveURL(alternate.href, baseURL))\n                : '#' + groupIndex + ',' + itemIndex)\n        } else {\n            el.setAttribute('heading', item.title ?? '')\n            el.setAttribute('count', await globalThis.formatNumber(item.properties?.numberOfItems))\n            el.setAttribute('description', item[SYMBOL.SUMMARY] ?? '')\n            const href = resolveURL(item.href, baseURL)\n            el.setAttribute('href', '?url=' + encodeURIComponent(href))\n        }\n        return el\n    })))\n    if (!metadata) return pagination ? [container, pagination] : container\n\n    const div = document.createElement('div')\n    const h = document.createElement('h2')\n    h.textContent = metadata.title ?? ''\n    div.append(h)\n    const link = groupByArray(links, link => link.rel).get('self')?.[0]\n    if (link) {\n        const a = document.createElement('a')\n        const url = resolveURL(link.href, baseURL)\n        a.href = isOPDSCatalog(link.type) ? '?url=' + encodeURIComponent(url) : url\n        a.textContent = globalThis.uiText.viewCollection\n        div.append(a)\n    }\n    div.classList.add('carousel-header')\n    container.classList.add('carousel')\n    return [document.createElement('hr'), div, container]\n}))).flat()\n\nconst entryMap = new Map()\nglobalThis.updateProgress = ({ progress, token }) =>\n    entryMap.get(token)?.deref()?.setAttribute('progress', progress)\nglobalThis.finishDownload = ({ token }) =>\n    entryMap.get(token)?.deref()?.removeAttribute('downloading')\n\nconst renderPublication = async (pub, baseURL) => {\n    const item = document.createElement('opds-pub-full')\n    const token = new Date() + Math.random()\n    entryMap.set(token, new WeakRef(item))\n    const download = (href, type) => {\n        href = resolveURL(href, baseURL)\n        if (parseMediaType(type)?.mediaType === MIME.HTML) {\n            location = href\n            return\n        }\n        item.setAttribute('downloading', '')\n        item.removeAttribute('progress')\n        emit({ type: 'download', href, token })\n    }\n\n    const cancelButton = document.createElement('button')\n    cancelButton.slot = 'cancel'\n    cancelButton.title = globalThis.uiText.cancel\n    item.append(cancelButton)\n    const icon = document.createElement('foliate-symbolic')\n    icon.setAttribute('src', '/icons/hicolor/scalable/actions/stop-sign-symbolic.svg')\n    cancelButton.append(icon)\n    cancelButton.addEventListener('click', () => emit({ type: 'cancel', token }))\n\n    const img = renderImages(pub.images, false, baseURL)\n    img.slot = 'image'\n    item.append(img)\n\n    const metadata = pub.metadata ?? {}\n\n    const hgroup = document.createElement('hgroup')\n    hgroup.slot = 'heading'\n    item.append(hgroup)\n    const series = document.createElement('p')\n    series.append(...await renderContributor(metadata.belongsTo?.series, baseURL))\n    const h1 = document.createElement('h1')\n    h1.textContent = await renderLanguageMap(metadata.title)\n    const subtitle = document.createElement('p')\n    subtitle.textContent = await renderLanguageMap(metadata.subtitle)\n    hgroup.append(series, h1, subtitle)\n\n    const authors = document.createElement('p')\n    authors.slot = 'authors'\n    item.append(authors)\n    authors.append(...await renderContributor(metadata.author, baseURL))\n\n    const blob = metadata[SYMBOL.CONTENT]\n        ? renderContent(metadata[SYMBOL.CONTENT].value, metadata[SYMBOL.CONTENT].type, baseURL)\n        : metadata.description ? renderContent(metadata.description, 'html', baseURL) : null\n    if (blob) item.setAttribute('description', URL.createObjectURL(blob))\n\n    const actions = document.createElement('div')\n    item.append(actions)\n    actions.slot = 'actions'\n    actions.append(...await renderAcquisitionButtons(groupByArray(pub.links, link => link.rel), download))\n\n    const details = document.createElement('div')\n    details.slot = 'details'\n    item.append(details)\n    const table = document.createElement('table')\n    details.append(table)\n\n    for (const [k, v] of [\n        ['publisher', await renderContributor(metadata.publisher, baseURL)],\n        ['published', await globalThis.formatDate(metadata.published)],\n        ['language', await globalThis.formatList(\n            await Promise.all([metadata.language ?? []].flat()\n                .map(x => globalThis.formatLanguage(x))))],\n        ['identifier', renderIdentifier(metadata.identifier)],\n    ]) {\n        if (!v?.length) continue\n        const tr = document.createElement('tr')\n        const th = document.createElement('th')\n        const td = document.createElement('td')\n        tr.append(th, td)\n        th.textContent = globalThis.uiText.metadata[k]\n        td.append(...v)\n        if (td.textContent.length > 30) tr.classList.add('long')\n        table.append(tr)\n    }\n\n    const tags = document.createElement('div')\n    tags.role = 'list'\n    details.append(tags)\n    tags.append(...[metadata.subject ?? []].flat().map(subject => {\n        const li = document.createElement('div')\n        li.role = 'listitem'\n        const icon = document.createElement('foliate-symbolic')\n        icon.setAttribute('src', '/icons/hicolor/scalable/actions/tag-symbolic.svg')\n        const a = renderLinkedObject(subject, baseURL)\n        a.textContent = typeof subject === 'string' ? subject : subject.name ?? subject.code\n        li.append(icon, a)\n        return li\n    }))\n\n    return item\n}\n\nconst renderEntry = (pub, baseURL) => {\n    document.querySelector('#stack').showChild(document.querySelector('#entry'))\n    return renderPublication(pub, baseURL)\n        .then(el => document.querySelector('#entry').append(el))\n}\n\nconst renderFeed = async (feed, baseURL) => {\n    const { navigation, publications } = feed\n    const linksByRel = groupByArray(feed.links, link => link.rel)\n    const pagination = ['first', 'previous', 'next', 'last']\n        .map(rel => linksByRel.get(rel))\n    feed.groups = [\n        navigation ? { navigation, [PAGINATION]: !publications ? pagination : null } : null,\n        publications ? { publications, [PAGINATION]: pagination } : null,\n        ...(feed.groups ?? []),\n    ].filter(x => x)\n\n    const templatedSearch = linksByRel.get('search')\n        ?.find(link => isOPDSCatalog(link.type) && link.templated)\n    const atomSearch = templatedSearch ? null\n        // can't find where this is specced, and it makes no sense,\n        // but it's used by calibre and Thorium Reader\n        // so apparently it's a thing...\n        : linksByRel.get('search')?.find(link =>\n            parseMediaType(link.type)?.mediaType === MIME.ATOM\n            && link.href?.includes('{searchTerms}'))\n    globalThis.state = {\n        title: feed.metadata?.title,\n        self: resolveURL(linksByRel.get('self')?.[0]?.href, baseURL) || baseURL,\n        start: resolveURL(linksByRel.get('start')?.[0]?.href, baseURL),\n        search: templatedSearch || atomSearch ? '#search'\n        : resolveURL(linksByRel.get('search')\n            ?.find(link => parseMediaType(link.type).mediaType === MIME.OPENSEARCH)?.href, baseURL),\n        searchEnabled: true,\n    }\n    globalThis.updateState()\n\n    document.querySelector('#feed h1').textContent = await renderLanguageMap(feed.metadata?.title)\n    document.querySelector('#feed p').textContent = await renderLanguageMap(feed.metadata?.subtitle)\n\n    document.querySelector('#feed main').append(...await renderGroups(feed.groups, baseURL))\n    if (feed.facets)\n        document.querySelector('#nav').append(...renderFacets(feed.facets, baseURL))\n\n    const update = () => {\n        const hash = location.hash.slice(1)\n        document.querySelector('#entry').replaceChildren()\n        if (!hash || hash === 'nav')\n            document.querySelector('#stack').showChild(document.querySelector('#feed'))\n        else if (hash === 'search') {\n            if (templatedSearch) getSearch(templatedSearch)\n                .then(search => renderSearch(search, baseURL))\n                .catch(e => console.error(e))\n            else if (atomSearch) renderSearch({\n                metadata: { title: atomSearch.title },\n                // NOTE: no full OpenSearch support here\n                search: map => resolveURL(atomSearch.href.replaceAll('{searchTerms}',\n                    encodeURIComponent(map.get(null).get('searchTerms'))), baseURL),\n                params: [{ name: 'searchTerms' }],\n            })\n        }\n        else {\n            const [groupIndex, itemIndex] = hash.split(',').map(x => parseInt(x))\n            const group = feed.groups[groupIndex]\n            const items = group.publications ?? group.navigation\n            renderEntry(items[itemIndex], baseURL)\n                .catch(e => console.error(e))\n        }\n        globalThis.state.searchEnabled = hash !== 'search'\n        globalThis.updateState()\n    }\n    addEventListener('hashchange', update)\n    update()\n}\n\nconst renderSearch = (search, baseURL) => {\n    document.querySelector('#search form').onsubmit = e => {\n        e.preventDefault()\n        const map = new Map()\n        for (const input of document.querySelectorAll('#search input[data-param]')) {\n            const { value } = input\n            const { ns = null, param } = input.dataset\n            if (map.has(ns)) map.get(ns).set(param, value)\n            else map.set(ns, new Map([[param, value]]))\n        }\n        location = '?url=' + encodeURIComponent(resolveURL(search.search(map), baseURL))\n    }\n\n    document.querySelector('#search h1').textContent = search.metadata.title ?? ''\n    document.querySelector('#search p').textContent = search.metadata.description ?? ''\n\n    document.querySelector('#search-params').replaceChildren(...search.params.map(obj => {\n        const input = document.createElement('input')\n        if (obj.ns) input.dataset.ns = obj.ns\n        input.dataset.param = obj.name\n        input.required = obj.required\n        input.type = 'search'\n        input.value = obj.value ?? ''\n\n        const label = document.createElement('label')\n        const span = document.createElement('span')\n        span.textContent = obj.name === 'searchTerms' || obj.name === 'query'\n            ? globalThis.uiText.query\n            : globalThis.uiText.metadata[obj.name] ?? obj.name\n        label.append(span, input)\n\n        const p = document.createElement('p')\n        p.append(label)\n        return p\n    }))\n    document.querySelector('#stack').showChild(document.querySelector('#search'))\n    document.querySelector('#search input').focus()\n}\n\nglobalThis.updateState = () => emit({ type: 'state', state: globalThis.state })\n\ndocument.querySelector('#loading h1').textContent = globalThis.uiText.loading\ndocument.querySelector('#error h1').textContent = globalThis.uiText.error\ndocument.querySelector('#error button').textContent = globalThis.uiText.reload\ndocument.querySelector('#error button').onclick = () => location.reload()\ndocument.querySelector('#feed a[href=\"#nav\"]').title = globalThis.uiText.filter\ndocument.querySelector('#search button').textContent = globalThis.uiText.search\n\ntry {\n    const params = new URLSearchParams(location.search)\n    const res = await fetch(params.get('url'))\n    if (!res.ok) throw new Error(`${res.status} ${res.statusText}`)\n    const url = res.url\n    const text = await res.text()\n    if (text.startsWith('<')) {\n        const doc = new DOMParser().parseFromString(text, MIME.XML)\n        const { documentElement: { localName } } = doc\n        if (localName === 'feed') await renderFeed(getFeed(doc), url)\n        else if (localName === 'entry') await renderEntry(getPublication(doc.documentElement), url)\n        else if (localName === 'OpenSearchDescription') renderSearch(getOpenSearch(doc), url)\n        else {\n            const contentType = res.headers.get('Content-Type') ?? MIME.HTML\n            const type = parseMediaType(contentType)?.mediaType ?? MIME.HTML\n            const doc = new DOMParser().parseFromString(text, type)\n            if (!doc.head) throw new Error('document has no head')\n            const base = doc.head.querySelector('base')\n            if (base) base.href = resolveURL(base.getAttribute('href'), url)\n            else {\n                const base = doc.createElement('base')\n                base.href = url\n                doc.head.append(base)\n            }\n            const link = Array.from(doc.head.querySelectorAll('link'))\n                .find(link => isOPDSCatalog(link.type))\n            if (!link) throw new Error('document has no link to OPDS feeds')\n            location.replace('?url=' + encodeURIComponent(link.href))\n        }\n    }\n    else {\n        const feed = JSON.parse(text)\n        await renderFeed(feed, url)\n    }\n} catch (e) {\n    console.error(e)\n    document.querySelector('#error p').innerText = e.message + '\\n' + e.stack\n    document.querySelector('#stack').showChild(document.querySelector('#error'))\n    globalThis.updateState()\n}\n"
  },
  {
    "path": "src/reader/markup.js",
    "content": "const unescapeHTML = str => {\n    const textarea = document.createElement('textarea')\n    textarea.innerHTML = str\n    return textarea.value\n}\n\nconst usurp = p => {\n    let last = p\n    for (let i = p.childNodes.length - 1; i >= 0; i--) {\n        let e = p.removeChild(p.childNodes[i])\n        p.parentNode.insertBefore(e, last)\n        last = e\n    }\n    p.parentNode.removeChild(p)\n}\n\nconst pangoTags = ['a', 'b', 'big', 'i', 's', 'sub', 'sup', 'small', 'tt', 'u']\n\nexport const toPangoMarkup = html => {\n    if (!html) return ''\n    const doc = new DOMParser().parseFromString(\n        html.trim().replace(/\\r?\\n/g, ' ').replace(/\\s{2,}/g, ' '), 'text/html')\n    Array.from(doc.querySelectorAll('p'))\n        .forEach(el => el.innerHTML = '\\n\\n' + el.innerHTML)\n    Array.from(doc.querySelectorAll('div'))\n        .forEach(el => el.innerHTML = '\\n' + el.innerHTML)\n    Array.from(doc.querySelectorAll('li'))\n        .forEach(el => el.innerHTML = '\\n • ' + el.innerHTML)\n    Array.from(doc.querySelectorAll('br'))\n        .forEach(el => el.innerHTML = '\\n')\n    Array.from(doc.querySelectorAll('em'))\n        .forEach(el => el.innerHTML = '<i>' + el.innerHTML + '</i>')\n    Array.from(doc.querySelectorAll('strong'))\n        .forEach(el => el.innerHTML = '<b>' + el.innerHTML + '</b>')\n    Array.from(doc.querySelectorAll('code'))\n        .forEach(el => el.innerHTML = '<tt>' + el.innerHTML + '</tt>')\n    Array.from(doc.querySelectorAll('h1, h2, h3, h4, h5, h6'))\n        .forEach(el => el.innerHTML = '\\n\\n<b>' + el.innerHTML + '</b>')\n    Array.from(doc.body.querySelectorAll('*')).forEach(el => {\n        const nodeName = el.nodeName.toLowerCase()\n        if (pangoTags.indexOf(nodeName) === -1) usurp(el)\n        else Array.from(el.attributes).forEach(attr => {\n            if (attr.name !== 'href') el.removeAttribute(attr.name)\n        })\n        if (nodeName === 'a' && !el.hasAttribute('href')) usurp(el)\n    })\n    return unescapeHTML(doc.body.innerHTML.trim()\n        .replace(/\\n{3,}/g, '\\n\\n')\n        .replace(/&(?=lt;|gt;|amp;)/g, '&amp;'))\n        .replace(/&/g, '&amp;')\n}\n"
  },
  {
    "path": "src/reader/reader.html",
    "content": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self' blob:; script-src 'self'; style-src 'self' blob: 'unsafe-inline'; img-src 'self' blob: data:; connect-src 'self' blob: data:; frame-src blob: data:; object-src blob: data:; form-action 'none';\">\n<style>\nhtml {\n    /* TODO: high contrast mode */\n    --hover: rgba(0, 0, 0, .03);\n    --active: rgba(0, 0, 0, .05);\n    --border: rgba(0, 0, 0, .15);\n    --bg: var(--light-bg);\n    --fg: var(--light-fg);\n    height: 100%;\n}\nbody {\n    margin: 0 auto;\n    height: 100%;\n    background: var(--bg);\n    color: var(--fg);\n}\n@media (prefers-color-scheme: dark) {\n    html {\n        --hover: rgba(255, 255, 255, .03);\n        --active: rgba(255, 255, 255, .05);\n        --border: rgba(255, 255, 255, .15);\n        --bg: var(--dark-bg);\n        --fg: var(--dark-fg);\n    }\n    .invert foliate-view::part(filter) {\n        color-scheme: light; /* required to make the iframe bg transparent */\n        filter: invert(1) hue-rotate(180deg);\n    }\n}\nfoliate-view::part(head), foliate-view::part(foot) {\n    font: menu;\n    font-size: 9pt;\n}\nfoliate-view {\n    --overlayer-highlight-blend-mode: multiply;\n}\n@media (prefers-color-scheme: dark) {\n    foliate-view {\n        --overlayer-highlight-blend-mode: screen;\n    }\n}\n#ribbon {\n    visibility: hidden;\n    display: inline-block;\n    position: absolute;\n    left: 48px;\n    z-index: 1;\n}\n#ribbon:before,\n#ribbon:after {\n    content: \"\";\n    display: block;\n    position: absolute;\n    height: 10px;\n    border: 9px solid red;\n }\n#ribbon:before {\n    border-bottom-color: transparent;\n    bottom: -40px;\n}\n\n#footnote-dialog {\n    font: menu;\n    padding: 0;\n    width: 400px;\n    height: 400px;\n    border-radius: 12px;\n    border: 0;\n    box-shadow: 0 0 0 1px var(--border), 0 0 12px rgba(0, 0, 0, .2);\n    -webkit-user-select: none;\n    background: var(--bg);\n    color: var(--fg);\n}\n#footnote-dialog div {\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n}\n#footnote-dialog header {\n    text-align: center;\n    font-weight: bold;\n    padding: 9px;\n    border-bottom: 1px solid var(--border);\n    cursor: default;\n}\n#footnote-dialog form {\n    display: flex;\n    border-top: 1px solid var(--border);\n}\n#footnote-dialog form button + button {\n    border-inline-start: 1px solid var(--border);\n}\n#footnote-dialog button {\n    flex: 1;\n    border: 0;\n    margin: 0;\n    padding: 12px;\n    font-weight: bold;\n    color: inherit;\n    background: none;\n}\n#footnote-dialog button:hover {\n    background: var(--hover);\n}\n#footnote-dialog button:active {\n    background: var(--active);\n}\n#footnote-dialog main {\n    min-height: 0;\n    flex: 1\n}\n@media (max-width: 500px) {\n    #footnote-dialog {\n        margin: 0;\n        margin-top: auto;\n        width: 100%;\n        max-width: 100%;\n        border-bottom-left-radius: 0;\n        border-bottom-right-radius: 0;\n    }\n}\n</style>\n<input type=\"file\" id=\"file-input\" hidden>\n<div id=\"ribbon\"></div>\n<dialog id=\"footnote-dialog\">\n    <div>\n        <header></header>\n        <main></main>\n        <form method=\"dialog\">\n            <input name=\"href\" type=\"hidden\">\n            <button value=\"close\"></button>\n            <button value=\"go\"></button>\n        </form>\n    </div>\n</dialog>\n<script src=\"reader.js\" type=\"module\"></script>\n"
  },
  {
    "path": "src/reader/reader.js",
    "content": "import { makeBook, NotFoundError, UnsupportedTypeError } from '../foliate-js/view.js'\nimport { Overlayer } from '../foliate-js/overlayer.js'\nimport { FootnoteHandler } from '../foliate-js/footnotes.js'\nimport { toPangoMarkup } from './markup.js'\n\nconst format = {}\n\nconst emit = x => globalThis.webkit.messageHandlers.viewer\n    .postMessage(JSON.stringify(x))\n\nconst formatLanguageMap = x => {\n    if (!x) return ''\n    if (typeof x === 'string') return x\n    const keys = Object.keys(x)\n    return x[keys[0]]\n}\n\nconst getSelectionRange = sel => {\n    if (!sel.rangeCount) return\n    const range = sel.getRangeAt(0)\n    if (range.collapsed) return\n    return range\n}\n\nconst getLang = el => {\n    const lang = el.lang || el?.getAttributeNS?.('http://www.w3.org/XML/1998/namespace', 'lang')\n    if (lang) return lang\n    if (el.parentElement) return getLang(el.parentElement)\n}\n\nconst blobToBase64 = blob => new Promise(resolve => {\n    const reader = new FileReader()\n    reader.readAsDataURL(blob)\n    reader.onloadend = () => resolve(reader.result.split(',')[1])\n})\n\nconst embedImages = async doc => {\n    for (const el of doc.querySelectorAll('img[src]')) {\n        const res = await fetch(el.src)\n        const blob = await res.blob()\n        el.src = `data:${blob.type};base64,${await blobToBase64(blob)}`\n    }\n}\n\nconst getHTML = async range => {\n    const fragment = range.cloneContents()\n    await embedImages(fragment)\n    return new XMLSerializer().serializeToString(fragment)\n}\n\nconst getCSS = ({\n    lineHeight, justify, hyphenate, invert, theme, overrideFont, userStylesheet,\n    mediaActiveClass,\n}) => [`\n    @namespace epub \"http://www.idpf.org/2007/ops\";\n    @media print {\n        html {\n            column-width: auto !important;\n            height: auto !important;\n            width: auto !important;\n        }\n    }\n    @media screen {\n        html {\n            color-scheme: ${invert ? 'only light' : 'light dark'};\n            color: ${theme.light.fg};\n        }\n        a:any-link {\n            color: ${theme.light.link};\n            text-decoration-color: light-dark(\n                color-mix(in srgb, currentColor 20%, transparent),\n                color-mix(in srgb, currentColor 40%, transparent));\n            text-underline-offset: .1em;\n            &:hover {\n                text-decoration-color: unset;\n            }\n        }\n        @media (prefers-color-scheme: dark) {\n            html {\n                color: ${invert ? theme.inverted.fg : theme.dark.fg};\n                ${invert ? '-webkit-font-smoothing: antialiased;' : ''}\n            }\n            a:any-link {\n                color: ${invert ? theme.inverted.link : theme.dark.link};\n            }\n        }\n        aside[epub|type~=\"footnote\"] {\n            display: none;\n        }\n    }\n    html {\n        line-height: ${lineHeight};\n        hanging-punctuation: allow-end last;\n        orphans: 2;\n        widows: 2;\n    }\n    [align=\"left\"] { text-align: left; }\n    [align=\"right\"] { text-align: right; }\n    [align=\"center\"] { text-align: center; }\n    [align=\"justify\"] { text-align: justify; }\n    :is(hgroup, header) p {\n        text-align: unset;\n        hyphens: unset;\n    }\n    h1, h2, h3, h4, h5, h6, hgroup, th {\n        text-wrap: balance;\n    }\n    pre {\n        white-space: pre-wrap !important;\n        tab-size: 2;\n    }\n`, `\n    @media screen and (prefers-color-scheme: light) {\n        ${theme.light.bg !== '#ffffff' ? `\n        html, body {\n            color: ${theme.light.fg} !important;\n            background: none !important;\n        }\n        body * {\n            color: inherit !important;\n            border-color: currentColor !important;\n            background-color: ${theme.light.bg} !important;\n        }\n        a:any-link {\n            color: ${theme.light.link} !important;\n        }\n        svg, img {\n            background-color: transparent !important;\n            mix-blend-mode: multiply;\n        }\n        .${CSS.escape(mediaActiveClass)}, .${CSS.escape(mediaActiveClass)} * {\n            color: ${theme.light.fg} !important;\n            background: color-mix(in hsl, ${theme.light.fg}, #fff 50%) !important;\n            background: color-mix(in hsl, ${theme.light.fg}, ${theme.light.bg} 85%) !important;\n        }` : ''}\n    }\n    @media screen and (prefers-color-scheme: dark) {\n        ${invert ? '' : `\n        html, body {\n            color: ${theme.dark.fg} !important;\n            background: none !important;\n        }\n        body * {\n            color: inherit !important;\n            border-color: currentColor !important;\n            background-color: ${theme.dark.bg} !important;\n        }\n        a:any-link {\n            color: ${theme.dark.link} !important;\n        }\n        .${CSS.escape(mediaActiveClass)}, .${CSS.escape(mediaActiveClass)} * {\n            color: ${theme.dark.fg} !important;\n            background: color-mix(in hsl, ${theme.dark.fg}, #000 50%) !important;\n            background: color-mix(in hsl, ${theme.dark.fg}, ${theme.dark.bg} 75%) !important;\n        }`}\n    }\n    p, li, blockquote, dd {\n        line-height: ${lineHeight};\n        text-align: ${justify ? 'justify' : 'start'};\n        hyphens: ${hyphenate ? 'auto' : 'none'};\n    }\n    ${overrideFont ? '* { font-family: revert !important }' : ''}\n` + userStylesheet]\n\nconst frameRect = (frame, rect, sx = 1, sy = 1) => {\n    const left = sx * rect.left + frame.left\n    const right = sx * rect.right + frame.left\n    const top = sy * rect.top + frame.top\n    const bottom = sy * rect.bottom + frame.top\n    return { left, right, top, bottom }\n}\n\nconst pointIsInView = ({ x, y }) =>\n    x > 0 && y > 0 && x < window.innerWidth && y < window.innerHeight\n\nconst getPosition = target => {\n    // TODO: vertical text\n    const frameElement = (target.getRootNode?.() ?? target?.endContainer?.getRootNode?.())\n        ?.defaultView?.frameElement\n\n    const transform = frameElement ? getComputedStyle(frameElement).transform : ''\n    const match = transform.match(/matrix\\((.+)\\)/)\n    const [sx, , , sy] = match?.[1]?.split(/\\s*,\\s*/)?.map(x => parseFloat(x)) ?? []\n\n    const frame = frameElement?.getBoundingClientRect() ?? { top: 0, left: 0 }\n    const rects = Array.from(target.getClientRects())\n    const first = frameRect(frame, rects[0], sx, sy)\n    const last = frameRect(frame, rects.at(-1), sx, sy)\n    const start = {\n        point: { x: (first.left + first.right) / 2, y: first.top },\n        dir: 'up',\n    }\n    const end = {\n        point: { x: (last.left + last.right) / 2, y: last.bottom },\n        dir: 'down',\n    }\n    const startInView = pointIsInView(start.point)\n    const endInView = pointIsInView(end.point)\n    if (!startInView && !endInView) return { point: { x: 0, y: 0 } }\n    if (!startInView) return end\n    if (!endInView) return start\n    return start.point.y > window.innerHeight - end.point.y ? start : end\n}\n\nconst footnoteDialog = document.getElementById('footnote-dialog')\nfootnoteDialog.addEventListener('close', () => {\n    emit({ type: 'dialog-close' })\n    const view = footnoteDialog.querySelector('foliate-view')\n    view.close()\n    view.remove()\n    if (footnoteDialog.returnValue === 'go')\n        globalThis.reader.view.goTo(footnoteDialog.querySelector('[name=\"href\"]').value)\n    footnoteDialog.returnValue = null\n})\nfootnoteDialog.addEventListener('click', e =>\n    e.target === footnoteDialog ? footnoteDialog.close() : null)\n\nclass Reader {\n    #footnoteHandler = new FootnoteHandler()\n    style = {\n        spacing: 1.4,\n        justify: true,\n        hyphenate: true,\n        invert: false,\n    }\n    constructor(book) {\n        this.book = book\n        if (book.metadata?.description)\n            book.metadata.description = toPangoMarkup(book.metadata.description)\n        this.pageTotal = book.pageList\n            ?.findLast(x => !isNaN(parseInt(x.label)))?.label\n        this.style.mediaActiveClass = book.media?.activeClass\n\n        this.book.transformTarget?.addEventListener('data', ({ detail }) => {\n            detail.data = Promise.resolve(detail.data).catch(e => {\n                console.error(new Error(`Failed to load ${detail.name}`, { cause: e }))\n                return ''\n            })\n        })\n\n        this.#footnoteHandler.addEventListener('before-render', e => {\n            const { view } = e.detail\n            view.addEventListener('link', e => {\n                e.preventDefault()\n                const { href } = e.detail\n                this.view.goTo(href)\n                footnoteDialog.close()\n            })\n            view.addEventListener('external-link', e => {\n                e.preventDefault()\n                emit({ type: 'external-link', ...e.detail })\n            })\n            footnoteDialog.querySelector('main').replaceChildren(view)\n\n            const { renderer } = view\n            renderer.setAttribute('flow', 'scrolled')\n            renderer.setAttribute('margin', '12px')\n            renderer.setAttribute('gap', '5%')\n            renderer.setStyles(getCSS(this.style))\n        })\n        this.#footnoteHandler.addEventListener('render', e => {\n            const { href, hidden, type } = e.detail\n\n            footnoteDialog.querySelector('[name=\"href\"]').value = href\n            footnoteDialog.querySelector('[value=\"go\"]').style.display =\n                hidden ? 'none' : 'block'\n\n            const { uiText } = globalThis\n            footnoteDialog.querySelector('header').innerText =\n                uiText.references[type] ?? uiText.references.footnote\n            footnoteDialog.querySelector('[value=\"go\"]').innerText =\n                uiText.references[type + '-go'] ?? uiText.references['footnote-go']\n\n            footnoteDialog.showModal()\n            emit({ type: 'dialog-open' })\n        })\n    }\n    async init() {\n        this.view = document.createElement('foliate-view')\n        this.#handleEvents()\n        await this.view.open(this.book)\n        document.body.append(this.view)\n        this.sectionFractions = this.view.getSectionFractions()\n    }\n    setAppearance({ style, layout, autohideCursor }) {\n        Object.assign(this.style, style)\n        const { theme } = style\n        const $style = document.documentElement.style\n        $style.setProperty('--light-bg', theme.light.bg)\n        $style.setProperty('--light-fg', theme.light.fg)\n        $style.setProperty('--dark-bg', theme.dark.bg)\n        $style.setProperty('--dark-fg', theme.dark.fg)\n        const renderer = this.view?.renderer\n        if (renderer) {\n            renderer.setAttribute('flow', layout.flow)\n            renderer.setAttribute('gap', layout.gap * 100 + '%')\n            renderer.setAttribute('max-inline-size', layout.maxInlineSize + 'px')\n            renderer.setAttribute('max-block-size', layout.maxBlockSize + 'px')\n            renderer.setAttribute('max-column-count', layout.maxColumnCount)\n            if (layout.animated) renderer.setAttribute('animated', '')\n            else renderer.removeAttribute('animated')\n            renderer.setStyles?.(getCSS(this.style))\n        }\n        document.body.classList.toggle('invert', this.style.invert)\n        if (autohideCursor) this.view?.setAttribute('autohide-cursor', '')\n        else this.view?.removeAttribute('autohide-cursor')\n    }\n    #handleEvents() {\n        this.view.addEventListener('relocate', e => {\n            const { heads, feet } = this.view.renderer\n            if (heads) {\n                const { tocItem } = e.detail\n                heads.at(-1).innerText = tocItem?.label ?? ''\n                if (heads.length > 1)\n                    heads[0].innerText = formatLanguageMap(this.book.metadata.title)\n            }\n            if (feet) {\n                const { pageItem, location: { current, next, total } } = e.detail\n                if (pageItem) {\n                    // only show page number at the end\n                    // because we only have visible range for the spread,\n                    // not each column\n                    feet.at(-1).innerText = format.page(pageItem.label, this.pageTotal)\n                    if (feet.length > 1)\n                        feet[0].innerText = format.loc(current + 1, total)\n                }\n                else {\n                    feet[0].innerText = format.loc(current + 1, total)\n                    if (feet.length > 1) {\n                        const r = 1 - 1 / feet.length\n                        const end = Math.floor((1 - r) * current + r * next)\n                        feet.at(-1).innerText = format.loc(end + 1, total)\n                    }\n                }\n            }\n            emit({ type: 'relocate', ...e.detail })\n        })\n        this.view.addEventListener('create-overlay', e =>\n            emit({ type: 'create-overlay', ...e.detail }))\n        this.view.addEventListener('show-annotation', e => {\n            const { value, index, range } = e.detail\n            const pos = getPosition(range)\n            this.#showAnnotation({ index, range, value, pos })\n        })\n        this.view.addEventListener('draw-annotation', e => {\n            const { draw, annotation, doc, range } = e.detail\n            const { color } = annotation\n            if (['underline', 'squiggly', 'strikethrough'].includes(color)) {\n                const { defaultView } = doc\n                const node = range.startContainer\n                const el = node.nodeType === 1 ? node : node.parentElement\n                const { writingMode } = defaultView.getComputedStyle(el)\n                draw(Overlayer[color], { writingMode })\n            }\n            else draw(Overlayer.highlight, { color })\n        })\n        this.view.addEventListener('external-link', e => {\n            e.preventDefault()\n            emit({ type: 'external-link', ...e.detail })\n        })\n        this.view.addEventListener('link', e =>\n            this.#footnoteHandler.handle(this.book, e)?.catch(err => {\n                console.warn(err)\n                this.view.goTo(e.detail.href)\n            }))\n        this.view.addEventListener('load', e => this.#onLoad(e))\n        this.view.history.addEventListener('index-change', e => {\n            const { canGoBack, canGoForward } = e.target\n            emit({ type: 'history-index-change', canGoBack, canGoForward })\n        })\n    }\n    #onLoad(e) {\n        const { doc, index } = e.detail\n        for (const img of doc.querySelectorAll('img'))\n            img.addEventListener('dblclick', () => fetch(img.src)\n                .then(res => res.blob())\n                .then(blob => Promise.all([blobToBase64(blob), blob.type]))\n                .then(([base64, mimetype]) =>\n                    emit({ type: 'show-image', base64, mimetype }))\n                .catch(e => console.error(e)))\n\n        doc.addEventListener('pointerup', () => {\n            const sel = doc.getSelection()\n            const range = getSelectionRange(sel)\n            if (!range) return\n            // prevent click event\n            doc.addEventListener('click', e => e.stopPropagation(), { capture: true, once: true })\n            const pos = getPosition(range)\n            const value = this.view.getCFI(index, range)\n            const lang = getLang(range.commonAncestorContainer)\n            const text = sel.toString()\n            this.#showSelection({ index, range, lang, value, pos, text })\n        })\n    }\n    #showAnnotation({ index, range, value, pos }) {\n        globalThis.showSelection({ type: 'annotation', value, pos })\n            .then(action => {\n                if (action === 'select')\n                    this.#showSelection({ index, range, value, pos })\n            })\n    }\n    #showSelection({ index, range, lang, value, pos, text }) {\n        if (!text) {\n            const sel = range.startContainer.ownerDocument.getSelection()\n            sel.removeAllRanges()\n            sel.addRange(range)\n            text = sel.toString()\n        }\n        const content = range.toString()\n        globalThis.showSelection({ type: 'selection', text, content, lang, value, pos }).then(action => {\n            switch (action) {\n                case 'copy': getHTML(range).then(html =>\n                    emit({ type: 'selection', action, text, html }))\n                    break\n                case 'copy-citation':\n                    emit({ type: 'selection', action, text, value,\n                        ...this.view.getProgressOf(index, range) })\n                    break\n                case 'highlight':\n                    this.#showAnnotation({ index, range, value, pos })\n                    break\n                case 'print':\n                    this.printRange(range.startContainer.ownerDocument, range)\n                    break\n                case 'speak-from-here':\n                    this.view.initTTS().then(() => emit({\n                        type: 'selection', action,\n                        ssml: this.view.tts.from(range),\n                    }))\n                    break\n            }\n        })\n    }\n    printRange(doc, range) {\n        const iframe = document.createElement('iframe')\n        // NOTE: it needs `allow-scripts` to remove the frame after printing\n        // and `allow-modals` to show the print dialog\n        iframe.setAttribute('sandbox', 'allow-same-origin allow-scripts allow-modals')\n        const css = getCSS(this.style)\n        iframe.addEventListener('load', () => {\n            const doc = iframe.contentDocument\n\n            const beforeStyle = doc.createElement('style')\n            beforeStyle.textContent = css[0]\n            doc.head.prepend(beforeStyle)\n\n            const afterStyle = doc.createElement('style')\n            afterStyle.textContent = css[1]\n            doc.head.append(afterStyle)\n\n            if (range) {\n                const frag = range.cloneContents()\n                doc.body.replaceChildren()\n                doc.body.appendChild(frag)\n            }\n            iframe.contentWindow.addEventListener('afterprint', () =>\n                iframe.remove())\n            iframe.contentWindow.print()\n        }, { once: true })\n\n        iframe.src = doc.defaultView.frameElement.src\n        iframe.style.display = 'none'\n        document.body.append(iframe)\n    }\n    print() {\n        this.printRange(this.view.renderer.getContents()[0]?.doc)\n    }\n    async getCover() {\n        try {\n            const blob = await this.book.getCover?.()\n            return blob ? blobToBase64(blob) : null\n        } catch (e) {\n            console.warn(e)\n            console.warn('Failed to load cover')\n            return null\n        }\n    }\n\n    // wrap these renderer methods\n    // because `FoliateWebView.exec()` can only pass one argument\n    scrollBy([x, y]) {\n        return this.view.renderer.scrollBy?.(x, y)\n    }\n    snap([x, y]) {\n        return this.view.renderer.snap?.(x, y)\n    }\n}\n\nglobalThis.visualViewport.addEventListener('resize', () =>\n    emit({ type: 'pinch-zoom', scale: globalThis.visualViewport.scale }))\n\nconst printf = (str, args) => {\n    for (const arg of args) str = str.replace('%s', arg)\n    return str\n}\n\nconst open = async (file, Reader) => {\n    try {\n        const book = await makeBook(file)\n        const reader = new Reader(book)\n        globalThis.reader = reader\n        await reader.init()\n        emit({ type: 'book-ready', book, reader })\n    }\n    catch (e) {\n        if (e instanceof NotFoundError)\n            emit({ type: 'book-error', id: 'not-found' })\n        else if (e instanceof UnsupportedTypeError)\n            emit({ type: 'book-error', id: 'unsupported-type' })\n        else throw e\n    }\n}\n\nglobalThis.loadFile = () => document.getElementById('file-input').click()\n\nglobalThis.init = ({ uiText }) => {\n    globalThis.uiText = uiText\n\n    format.loc = (a, b) => printf(uiText.loc, [a, b])\n    format.page = (a, b) => b\n        ? printf(uiText.page, [a, b])\n        : printf(uiText.pageWithoutTotal, [a])\n\n    footnoteDialog.querySelector('[value=\"close\"]').innerText = uiText.close\n\n    document.getElementById('file-input').onchange = e => open(e.target.files[0], Reader)\n        .catch(({ message, stack }) => emit({ type: 'book-error', message, stack }))\n    globalThis.loadFile()\n}\n\nglobalThis.initImport = () => {\n    const view = document.createElement('foliate-view')\n    class Reader {\n        constructor(book) {\n            this.book = book\n            if (book.metadata?.description)\n                book.metadata.description = toPangoMarkup(book.metadata.description)\n        }\n        async init() {\n            await view.open(this.book)\n        }\n        async getCover() {\n            try {\n                const blob = await this.book.getCover?.()\n                return blob ? blobToBase64(blob) : null\n            } catch (e) {\n                console.warn(e)\n                console.warn('Failed to load cover')\n                return null\n            }\n        }\n    }\n    document.getElementById('file-input').onchange = e => open(e.target.files[0], Reader)\n        .catch(({ message, stack }) => emit({ type: 'book-error', message, stack }))\n}\n\nemit({ type: 'ready' })\n"
  },
  {
    "path": "src/search.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GObject from 'gi://GObject'\nimport GLib from 'gi://GLib'\nimport Pango from 'gi://Pango'\nimport * as utils from './utils.js'\n\nconst SearchSettings = utils.makeDataClass('FoliateSearchSettings', {\n    'scope': 'string',\n    'match-case': 'boolean',\n    'match-diacritics': 'boolean',\n    'match-whole-words': 'boolean',\n})\n\nconst SearchResult = utils.makeDataClass('FoliateSearchResult', {\n    'label': 'string',\n    'cfi': 'string',\n    'subitems': 'object',\n})\n\nconst formatExcerpt = ({ pre, match, post }) => {\n    const [a, b, c] = [pre, match, post].map(x => GLib.markup_escape_text(x, -1))\n    return `${a}<b>${b}</b>${c}`\n}\n\nGObject.registerClass({\n    GTypeName: 'FoliateSearchView',\n    Properties: utils.makeParams({\n        'entry': 'object',\n        'settings': 'object',\n        'dir': 'string',\n    }),\n    Signals: {\n        'show-results': {},\n        'no-results': {},\n        'clear-results': {},\n        'show-cfi': {\n            param_types: [GObject.TYPE_STRING],\n        },\n    },\n}, class extends Gtk.ListView {\n    generator = null\n    getGenerator\n    doSearch = () => this.search().catch(e => console.error(e))\n    constructor(params) {\n        super(params)\n        this.settings = new SearchSettings({ scope: 'book' })\n        this.settings.connectAll(this.doSearch)\n        this.model = new Gtk.SingleSelection({ autoselect: false })\n        this.actionGroup = utils.addSimpleActions({\n            'prev': () => this.cycle(-1),\n            'next': () => this.cycle(1),\n        })\n        utils.addPropertyActions(this.settings, this.settings.keys, this.actionGroup)\n        this.model.connect('selection-changed', sel => {\n            this.scroll_to(sel.selected, Gtk.ListScrollFlags.NONE, null)\n            const { cfi } = sel.selected_item?.item ?? {}\n            if (cfi) this.emit('show-cfi', cfi)\n        })\n        this.connect('activate', (_, pos) => {\n            const { cfi } = this.model.model.get_item(pos).item ?? {}\n            if (cfi) this.emit('show-cfi', cfi)\n        })\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) => {\n                listItem.child = new Gtk.TreeExpander({ indent_for_icon: false })\n                listItem.child.child = new Gtk.Label({\n                    xalign: 0,\n                    margin_top: 6,\n                    margin_bottom: 6,\n                    wrap_mode: Pango.WrapMode.WORD_CHAR,\n                })\n            },\n            'bind': (_, listItem) => {\n                const widget = listItem.child.child\n                listItem.child.list_row = listItem.item\n                const { label, subitems } = listItem.item.item\n                Object.assign(widget, {\n                    label,\n                    ellipsize: subitems ? Pango.EllipsizeMode.END : Pango.EllipsizeMode.NONE,\n                    wrap: !subitems,\n                    use_markup: !subitems,\n                })\n                const ctx = listItem.child.get_style_context()\n                if (subitems) {\n                    ctx.add_class('caption')\n                    ctx.add_class('dim-label')\n                } else {\n                    ctx.remove_class('caption')\n                    ctx.remove_class('dim-label')\n                }\n                utils.setDirection(listItem.child, this.dir)\n            },\n        })\n    }\n    async reset() {\n        await this.generator?.return()\n        this.generator = null\n        this.model.model = null\n        this.entry.progress_fraction = null\n        this.emit('clear-results')\n    }\n    async search() {\n        const query = this.entry.text.trim()\n        if (!query) return\n        await this.reset()\n        this.model.model = utils.tree([])\n        this.emit('show-results')\n\n        const opts = this.settings.toCamel()\n        const index = opts.scope === 'section' ? this.index : null\n        this.generator = await this.getGenerator({ ...opts, query, index })\n\n        for await (const result of this.generator) {\n            if (result === 'done') {\n                this.entry.progress_fraction = null\n                if (!this.model.model.get_n_items()) this.emit('no-results')\n            }\n            else if ('progress' in result)\n                this.entry.progress_fraction = result.progress\n            else {\n                const { label, cfi, excerpt, subitems } = result\n                const { model } = this.model\n                if (!model) return\n                model.model.append(subitems ? new SearchResult({\n                    label: label ?? '',\n                    cfi: cfi ?? '',\n                    subitems: utils.list(subitems.map(item => ({\n                        label: formatExcerpt(item.excerpt),\n                        cfi: item.cfi,\n                    })), SearchResult),\n                }) : new SearchResult({ label: formatExcerpt(excerpt), cfi }))\n            }\n        }\n    }\n    cycle(dir) {\n        const { model } = this\n        while (true) {\n            if (!model.get_n_items()) break\n            const position = model.selected\n            if (position + dir < 0) model.selected = model.get_n_items() - 1\n            else model.selected = position + dir\n            if (model.selected_item?.item?.cfi) break\n        }\n    }\n})\n"
  },
  {
    "path": "src/selection-tools/common.css",
    "content": "* {\n    box-sizing: border-box;\n}\nhtml, body {\n    color-scheme: light dark;\n    font: menu;\n}\nh1 {\n    font-size: larger;\n}\nh2 {\n    font-size: smaller;\n}\na:any-link {\n    color: highlight;\n}\nul, ol {\n    padding-inline-start: 2em;\n}\nfooter {\n    font-size: smaller;\n    opacity: .6;\n}\n:is([data-state=\"loading\"], [data-state=\"error\"]) footer {\n    display: none;\n}\n[data-state=\"loaded\"] footer {\n    display: block;\n}\n[data-state=\"error\"] main {\n    display: flex;\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    text-align: center;\n    justify-content: center;\n    align-items: center;\n}\n"
  },
  {
    "path": "src/selection-tools/translate.html",
    "content": "<!DOCTYPE html>\n<html>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<link href=\"common.css\" rel=\"stylesheet\">\n<style>\nhtml, body {\n    margin: 0;\n    height: 100%;\n    width: 100%;\n}\nbody {\n    display: flex;\n    flex-direction: column;\n    gap: 9px;\n    padding: 6px;\n}\nselect {\n    width: 100%;\n}\nmain {\n    flex: 1;\n    overflow-y: auto;\n}\nbutton {\n    display: flex;\n    border-radius: 6px;\n    padding: 6px;\n}\ninput, button {\n    background: none;\n    border: none;\n    color: inherit;\n    font: inherit;\n    &[hidden] {\n        display: none;\n    }\n}\ndialog {\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    max-width: 100%;\n    max-height: 100%;\n    border: 0;\n    margin: 0;\n    padding: 0;\n    overflow: hidden;\n    display: flex;\n    flex-direction: column;\n    &:not([open]) {\n        display: none;\n    }\n    input {\n        top: 0;\n        left: 0;\n        right: 0;\n        padding: 12px;\n        padding-top: 6px;\n        border-bottom: 1px solid color-mix(in srgb, currentcolor 15%, transparent);\n        outline: 0;\n        width: 100%;\n    }\n    form {\n        padding: 6px;\n        display: flex;\n        flex-direction: column;\n        gap: 2px;\n        overflow-y: auto;\n    }\n    button {\n        text-align: start;\n        &:hover {\n            background: color-mix(in srgb, currentcolor 3%, transparent);\n        }\n        &:active, &[aria-selected=\"true\"] {\n            background: color-mix(in srgb, currentcolor 7%, transparent);\n        }\n    }\n}\n</style>\n<header>\n    <button style=\"width: 100%; background: color-mix(in srgb, currentcolor 7%, transparent)\">\n        <span style=\"text-align: start; flex: 1\"></span>\n        <foliate-symbolic src=\"/icons/hicolor/scalable/actions/pan-down-symbolic.svg\"></foliate-symbolic>\n    </button>\n</header>\n<main><div id=\"output\"></div></main>\n<footer>asdf</footer>\n<dialog>\n    <input type=\"search\">\n    <form method=\"dialog\" role=\"listbox\"></form>\n</dialog>\n<script src=\"../common/widgets.js\" type=\"module\"></script>\n<script>\nconst googleTranslate = (text, lang) =>\n    fetch('https://translate.googleapis.com/translate_a/single?client=gtx'\n    + '&ie=UTF-8&oe=UTF-&sl=auto&tl=' + lang\n    + '&dt=t&q=' + text)\n        .then(res => res.ok ? res.json() : Promise.reject(new Error()))\n        .then(json => json[0].map(x => x[0]).join(''))\n\nconst manageFocus = items => {\n    const setFocusPrev = el =>\n        setFocusNext(el, items.slice(0).reverse())\n    const setFocusNext = (el, items) => {\n        let justFound, found\n        for (const item of items) {\n            if (justFound && !item.hidden) {\n                item.tabIndex = 0\n                item.focus()\n                found = true\n                justFound = false\n            }\n            else {\n                item.tabIndex = -1\n                if (item === el) justFound = true\n            }\n        }\n        if (!found) {\n            items[0].tabIndex = 0\n            items[0].focus()\n        }\n    }\n    return e => {\n        switch (e.key) {\n            case 'ArrowUp':\n                e.preventDefault()\n                e.stopPropagation()\n                setFocusPrev(e.target)\n                break\n            case 'ArrowDown':\n                e.preventDefault()\n                e.stopPropagation()\n                setFocusNext(e.target, items)\n                break\n        }\n    }\n}\n\ndocument.querySelector('header button').addEventListener('click', () => {\n    document.querySelector('dialog').showModal()\n    document.querySelector('[aria-selected=\"true\"]').scrollIntoView({ block: 'center' })\n    const input = document.querySelector('input')\n    input.value = ''\n    input.dispatchEvent(new Event('input'))\n    input.focus()\n})\n\ndocument.querySelector('input').addEventListener('keydown', e => {\n    if (e.key === 'Escape') document.querySelector('dialog').close()\n})\ndocument.querySelector('input').addEventListener('input', e => {\n    const { value } = e.target\n    const els = [...document.querySelectorAll('dialog form button')]\n    if (value) {\n        const lower = value.toLowerCase()\n        for (const el of els) {\n            el.hidden = !el.textContent.toLowerCase().startsWith(lower)\n            el.tabIndex = -1\n        }\n        const first = document.querySelector('dialog button:not([hidden])')\n        if (first) first.tabIndex = 0\n        document.querySelector('dialog form').scrollTop = 0\n    }\n    else {\n        for (const el of els) {\n            el.hidden = false\n            el.tabIndex = -1\n        }\n        const el = document.querySelector('[aria-selected=\"true\"]')\n        el.tabIndex = 0\n        el.scrollIntoView({ block: 'center' })\n    }\n})\n\nlet msgError\nconst translate = (text, lang) => googleTranslate(text, lang)\n    .then(result => document.querySelector('#output').innerText = result)\n    .catch(e => {\n        console.error(e)\n        document.querySelector('#output').innerText = msgError\n    })\n\nglobalThis.init = ({ msg, text, lang }) => {\n    msgError = msg.error\n    document.querySelector('footer').textContent = msg.footer\n    document.querySelector('input').placeholder = msg.search\n\n    const options = msg.langs.map(([code, label]) => {\n        const option = document.createElement('button')\n        option.role = 'option'\n        option.ariaSelected = code === lang ? 'true' : 'false'\n        option.tabIndex = code === lang ? 0 : -1\n        option.textContent = label\n        option.value = code\n        return option\n    })\n    const form = document.querySelector('form')\n    form.replaceChildren(...options)\n    form.addEventListener('keydown', manageFocus(options))\n    form.addEventListener('submit', e => {\n        const { submitter } = e\n        for (const option of options) option.ariaSelected = option === submitter\n        document.querySelector('header button span').textContent = submitter.textContent\n        webkit.messageHandlers.settings.postMessage(JSON.stringify({\n            key: 'translate-target-language',\n            value: submitter.value,\n        }))\n        translate(text, submitter.value)\n    })\n    document.querySelector('header button span').textContent =\n        form.querySelector(`[value=\"${CSS.escape(lang)}\"]`).textContent\n\n    translate(text, lang)\n}\n</script>\n"
  },
  {
    "path": "src/selection-tools/wikipedia.html",
    "content": "<!DOCTYPE html>\n<html>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<link href=\"common.css\" rel=\"stylesheet\">\n<style>\nhgroup {\n    color: #fff;\n    background-position: center center;\n    background-size: cover;\n    background-color: rgba(0, 0, 0, .4);\n    background-blend-mode: darken;\n    border-radius: 6px;\n    padding: 12px;\n    margin: -8px;\n    margin-bottom: 0;\n    min-height: 100px;\n}\n</style>\n<main></main>\n<footer><p></footer>\n<script>\nconst main = document.querySelector('main')\ndocument.body.dataset.state = 'loading'\n\nglobalThis.init = ({ msg, text, lang }) => {\n    document.querySelector('footer p').innerHTML = msg.footer\n    fetch(`https://${lang}.wikipedia.org/api/rest_v1/page/summary/${text}`)\n        .then(res => res.ok ? res.json() : Promise.reject(new Error()))\n        .then(json => {\n            const hgroup = document.createElement('hgroup')\n            const h1 = document.createElement('h1')\n            h1.innerHTML = json.titles.display\n            hgroup.append(h1)\n            if (json.description) {\n                const p = document.createElement('p')\n                p.innerText = json.description\n                hgroup.append(p)\n            }\n            if (json.thumbnail)\n                hgroup.style.backgroundImage = 'url(\"' + json.thumbnail.source + '\")'\n            const div = document.createElement('div')\n            div.innerHTML = json.extract_html\n            main.append(hgroup, div)\n            main.dir = json.dir\n            document.querySelector('#link').href = json.content_urls.desktop.page\n            document.body.dataset.state = 'loaded'\n        })\n        .catch(e => {\n            console.error(e)\n            const div = document.createElement('div')\n            const h1 = document.createElement('h1')\n            h1.innerText = msg.error\n            const p = document.createElement('p')\n            p.innerHTML = `<a href=\"https://${lang}.wikipedia.org/w/index.php?search=${text}\">${msg.errorAction}</a>`\n            div.append(h1, p)\n            main.append(div)\n            document.body.dataset.state = 'error'\n        })\n}\n</script>\n"
  },
  {
    "path": "src/selection-tools/wiktionary.html",
    "content": "<!DOCTYPE html>\n<html>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<link href=\"common.css\" rel=\"stylesheet\">\n<base href=\"https://en.wiktionary.org/wiki/Wiktionary:Main_Page\">\n<style>\nul {\n    margin: .5em 0;\n    font-style: italic;\n    opacity: .75;\n    font-size: smaller;\n    list-style: none;\n}\nh1 {\n    padding-inline-end: 1em;\n    display: inline;\n}\nhgroup p {\n    font-size: smaller;\n    display: inline;\n}\n</style>\n<main></main>\n<footer><p></footer>\n<script>\nlet msgError, msgErrorAction\nconst main = document.querySelector('main')\nconst footer = document.querySelector('footer')\nconst wiktionary = (word, language, languageName) => {\n    document.body.dataset.state = 'loading'\n    return fetch(`https://en.wiktionary.org/api/rest_v1/page/definition/${word}`)\n        .then(res => res.ok ? res.json() : Promise.reject(new Error()))\n        .then(json => {\n            const results = language ? json[language]\n                : languageName ? Object.values(json)\n                    .find(x => x.some(x => x.language === languageName))\n                : json['en']\n            const hgroup = document.createElement('hgroup')\n            const h1 = document.createElement('h1')\n            h1.innerText = word\n            const p = document.createElement('p')\n            p.innerText = results[0].language\n            hgroup.append(h1, p)\n            main.append(hgroup)\n            for (const { partOfSpeech, definitions } of results) {\n                const h2 = document.createElement('h2')\n                h2.innerText = partOfSpeech\n                const ol = document.createElement('ol')\n                main.append(h2, ol)\n                for (const { definition, examples } of definitions) {\n                    const li = document.createElement('li')\n                    li.innerHTML = definition\n                    ol.append(li)\n                    const ul = document.createElement('ul')\n                    li.append(ul)\n                    if (examples) for (const example of examples) {\n                        const li = document.createElement('li')\n                        li.innerHTML = example\n                        ul.append(li)\n                    }\n                }\n            }\n            document.querySelector('#link').href = '/wiki/' + word\n            document.body.dataset.state = 'loaded'\n        })\n        .catch(e => {\n            console.error(e)\n            const lower = word.toLocaleLowerCase(language)\n            if (lower !== word) return wiktionary(lower, language)\n            else {\n                const div = document.createElement('div')\n                const h1 = document.createElement('h1')\n                h1.innerText = msgError\n                const p = document.createElement('p')\n                p.innerHTML = `<a href=\"https://en.wiktionary.org/w/index.php?search=${encodeURIComponent(word)}\">${msgErrorAction}</a>`\n                div.append(h1, p)\n                main.append(div)\n                document.body.dataset.state = 'error'\n            }\n        })\n}\n\n// see https://en.wiktionary.org/wiki/Wiktionary:Namespace\nconst wikiNamespaces = [\n    'Media', 'Special', 'Talk', 'User', 'Wiktionary', 'File', 'MediaWiki',\n    'Template', 'Help', 'Category',\n    'Summary', 'Appendix', 'Concordance', 'Index', 'Rhymes', 'Transwiki',\n    'Thesaurus', 'Citations', 'Sign',\n]\n\nmain.addEventListener('click', e => {\n    const { target } = e\n    if (target.tagName === 'A') {\n        const href = target.getAttribute('href')\n        if (href.startsWith('/wiki/')) {\n            const [word, languageName] = href.replace('/wiki/', '').split('#')\n            if (wikiNamespaces.every(namespace => !word.startsWith(namespace + ':')\n            && !word.startsWith(namespace + '_talk:'))) {\n                e.preventDefault()\n                main.replaceChildren()\n                wiktionary(word.replaceAll('_', ' '), null, languageName)\n            }\n        }\n    }\n})\n\nglobalThis.init = ({ msg, text, lang }) => {\n    document.querySelector('footer').innerHTML = msg.footer\n    msgError = msg.error\n    msgErrorAction = msg.errorAction\n    wiktionary(text, lang)\n}\n</script>\n"
  },
  {
    "path": "src/selection-tools.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Gio from 'gi://Gio'\nimport GObject from 'gi://GObject'\nimport WebKit from 'gi://WebKit'\nimport Gdk from 'gi://Gdk'\nimport { gettext as _ } from 'gettext'\n\nimport * as utils from './utils.js'\nimport { WebView } from './webview.js'\nimport { locales, matchLocales } from './format.js'\n\nconst getLanguage = lang => {\n    try {\n        return new Intl.Locale(lang).language\n    } catch (e) {\n        console.warn(e)\n        return 'en'\n    }\n}\n\nconst getGoogleTranslateLanguages = utils.memoize(() => {\n    // list of languages supported by Google Translate\n    // generated by running the following on https://cloud.google.com/translate/docs/languages\n    // [...document.querySelector('table').querySelectorAll('tr')].map(tr => tr.querySelector('code')?.innerText).filter(x => x).map(x => `'${x}'`).join(', ')\n    const displayName = new Intl.DisplayNames(locales, { type: 'language' })\n    const langs = ['af', 'sq', 'am', 'ar', 'hy', 'as', 'ay', 'az', 'bm', 'eu', 'be', 'bn', 'bho', 'bs', 'bg', 'ca', 'ceb', 'zh-CN', 'zh-TW', 'co', 'hr', 'cs', 'da', 'dv', 'doi', 'nl', 'en', 'eo', 'et', 'ee', 'fil', 'fi', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'gn', 'gu', 'ht', 'ha', 'haw', 'he', 'hi', 'hmn', 'hu', 'is', 'ig', 'ilo', 'id', 'ga', 'it', 'ja', 'jv', 'kn', 'kk', 'km', 'rw', 'gom', 'ko', 'kri', 'ku', 'ckb', 'ky', 'lo', 'la', 'lv', 'ln', 'lt', 'lg', 'lb', 'mk', 'mai', 'mg', 'ms', 'ml', 'mt', 'mi', 'mr', 'mni-Mtei', 'lus', 'mn', 'my', 'ne', 'no', 'ny', 'or', 'om', 'ps', 'fa', 'pl', 'pt', 'pa', 'qu', 'ro', 'ru', 'sm', 'sa', 'gd', 'nso', 'sr', 'st', 'sn', 'sd', 'si', 'sk', 'sl', 'so', 'es', 'su', 'sw', 'sv', 'tl', 'tg', 'ta', 'tt', 'te', 'th', 'ti', 'ts', 'tr', 'tk', 'ak', 'uk', 'ur', 'ug', 'uz', 'vi', 'cy', 'xh', 'yi', 'yo', 'zu']\n    const defaultLang = matchLocales(langs)[0] ?? 'en'\n    return [langs.map(lang => [lang, displayName.of(lang)]), defaultLang]\n})\n\nconst tools = {\n    'dictionary': {\n        label: _('Dictionary'),\n        uri: 'foliate-selection-tool:///selection-tools/wiktionary.html',\n        run: (__, { text, lang }) => ({\n            msg: {\n                footer: _('From <a id=\"link\">Wiktionary</a>, released under the <a href=\"https://creativecommons.org/licenses/by-sa/4.0/\">CC BY-SA License</a>.'),\n                error: _('No Definitions Found'),\n                errorAction: _('Search on Wiktionary'),\n            },\n            text,\n            lang: getLanguage(lang),\n        }),\n    },\n    'wikipedia': {\n        label: _('Wikipedia'),\n        uri: 'foliate-selection-tool:///selection-tools/wikipedia.html',\n        run: (__, { text, lang }) => ({\n            msg: {\n                footer: _('From <a id=\"link\">Wikipedia</a>, released under the <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License\">CC BY-SA License</a>.'),\n                error: _('No Definitions Found'),\n                errorAction: _('Search on Wikipedia'),\n            },\n            text,\n            lang: getLanguage(lang),\n        }),\n    },\n    'translate': {\n        label: _('Translate'),\n        uri: 'foliate-selection-tool:///selection-tools/translate.html',\n        run: (popover, { text }) => {\n            const [langs, defaultLang] = getGoogleTranslateLanguages()\n            return {\n                msg: {\n                    footer: _('Translation by Google Translate'),\n                    error: _('Cannot retrieve translation'),\n                    search: _('Search…'),\n                    langs,\n                },\n                text,\n                lang: popover.translate_target_language || defaultLang,\n            }\n        },\n    },\n}\n\nconst SelectionToolPopover = GObject.registerClass({\n    GTypeName: 'FoliateSelectionToolPopover',\n    Properties: utils.makeParams({\n        'translate-target-language': 'string',\n    }),\n}, class extends Gtk.Popover {\n    #webView = utils.connect(new WebView({\n        settings: new WebKit.Settings({\n            enable_write_console_messages_to_stdout: true,\n            enable_back_forward_navigation_gestures: false,\n            enable_hyperlink_auditing: false,\n            enable_html5_database: false,\n            enable_html5_local_storage: false,\n        }),\n    }), {\n        'decide-policy': (_, decision, type) => {\n            switch (type) {\n                case WebKit.PolicyDecisionType.NAVIGATION_ACTION:\n                case WebKit.PolicyDecisionType.NEW_WINDOW_ACTION: {\n                    const { uri } = decision.navigation_action.get_request()\n                    if (!uri.startsWith('foliate-selection-tool:')) {\n                        decision.ignore()\n                        new Gtk.UriLauncher({ uri }).launch(this.root, null, null)\n                        return true\n                    }\n                }\n            }\n        },\n    })\n    constructor(params) {\n        super(params)\n        utils.bindSettings('viewer', this, ['translate-target-language'])\n        Object.assign(this, {\n            width_request: 300,\n            height_request: 300,\n        })\n        this.child = this.#webView\n        this.#webView.set_background_color(new Gdk.RGBA())\n        this.#webView.registerHandler('settings', payload => {\n            if (payload.key === 'translate-target-language')\n                this.translate_target_language = payload.value\n        })\n    }\n    loadTool(tool, init) {\n        this.#webView.loadURI(tool.uri)\n            .then(() => this.#webView.opacity = 1)\n            .then(() => this.#webView.exec('init', init))\n            .catch(e => console.error(e))\n    }\n})\n\nconst getSelectionToolPopover = utils.memoize(() => new SelectionToolPopover())\n\nexport const SelectionPopover = GObject.registerClass({\n    GTypeName: 'FoliateSelectionPopover',\n    Template: pkg.moduleuri('ui/selection-popover.ui'),\n    Signals: {\n        'show-popover': { param_types: [Gtk.Popover.$gtype] },\n        'run-tool': { return_type: GObject.TYPE_JSOBJECT },\n    },\n}, class extends Gtk.PopoverMenu {\n    constructor(params) {\n        super(params)\n        const model = this.menu_model\n        const section = new Gio.Menu()\n        model.insert_section(1, null, section)\n\n        const group = new Gio.SimpleActionGroup()\n        this.insert_action_group('selection-tools', group)\n\n        for (const [name, tool] of Object.entries(tools)) {\n            const action = new Gio.SimpleAction({ name })\n            action.connect('activate', () => {\n                const popover = getSelectionToolPopover()\n                Promise.resolve(tool.run(popover, this.emit('run-tool')))\n                    .then(x => popover.loadTool(tool, x))\n                    .catch(e => console.error(e))\n                this.emit('show-popover', popover)\n            })\n            group.add_action(action)\n            section.append(tool.label, `selection-tools.${name}`)\n        }\n    }\n})\n"
  },
  {
    "path": "src/speech.js",
    "content": "import Gio from 'gi://Gio'\nimport GLib from 'gi://GLib'\n\nclass SSIPConnection {\n    #connection\n    #inputStream\n    #outputStream\n    #onResponse\n    #eventData = []\n    constructor(onEvent) {\n        this.onEvent = onEvent\n    }\n    spawn() {\n        const flags = Gio.SubprocessFlags.NONE\n        const launcher = new Gio.SubprocessLauncher({ flags })\n        const cmd = GLib.getenv('SPEECHD_CMD') ?? 'speech-dispatcher'\n        const proc = launcher.spawnv([cmd, '--spawn'])\n        return new Promise(resolve => proc.wait_check_async(null, () => resolve()))\n    }\n    connect() {\n        const path = GLib.getenv('SPEECHD_ADDRESS')?.split(':')?.[1]\n            ?? GLib.build_filenamev([GLib.get_user_runtime_dir(),\n                'speech-dispatcher/speechd.sock'])\n        try {\n            const address = Gio.UnixSocketAddress.new(path)\n            this.#connection = new Gio.SocketClient().connect(address, null)\n        } catch (e){\n            throw new Error(`Error connecting to ${path}: ${e}`)\n        }\n        this.#outputStream = Gio.DataOutputStream.new(this.#connection.get_output_stream())\n        this.#inputStream = Gio.DataInputStream.new(this.#connection.get_input_stream())\n        this.#inputStream.newline_type = Gio.DataStreamNewlineType.TYPE_CR_LF\n        this.#receive()\n    }\n    #receive() {\n        this.#inputStream.read_line_async(0, null, (stream, res) => {\n            const [line/*, length*/] = stream.read_line_finish_utf8(res)\n            const code = line.slice(0, 3)\n            const end = line.slice(3, 4) === ' '\n            const text = line.slice(4, -1)\n            if (code.startsWith('7')) this.#onEvent(code, end, text)\n            else this.#onResponse(code, end, text)\n            this.#receive()\n        })\n    }\n    #onEvent(code, end, message) {\n        if (!end) return this.#eventData.push(message)\n        else {\n            const [msgID,, mark] = this.#eventData\n            this.onEvent?.(msgID, { code, message, mark })\n            this.#eventData = []\n        }\n    }\n    send(command) {\n        return new Promise((resolve, reject) => {\n            if (!this.#connection.is_connected()) reject()\n            this.#outputStream.put_string(command + '\\r\\n', null)\n            const data = []\n            this.#onResponse = (code, end, message) => {\n                if (!end) return data.push(message)\n                if (code.startsWith('2'))\n                    resolve(Object.assign(data, { code, message }))\n                else reject(new Error(code + ' ' + message))\n            }\n        })\n    }\n}\n\nexport class SSIPClient {\n    #initialized\n    #promises = new Map()\n    #connection = new SSIPConnection((msgID, result) =>\n        this.#promises.get(msgID)?.resolve?.(result))\n    async init() {\n        if (this.#initialized) return\n        this.#initialized = true\n        try {\n            await this.#connection.spawn()\n        } catch (e) {\n            console.debug(e)\n        }\n        try {\n            this.#connection.connect()\n            const clientName = `${GLib.get_user_name()}:foliate:tts`\n            await this.#connection.send('SET SELF CLIENT_NAME ' + clientName)\n            await this.#connection.send('SET SELF SSML_MODE on')\n            await this.#connection.send('SET SELF NOTIFICATION ALL on')\n        } catch (e) {\n            this.#initialized = false\n            throw e\n        }\n    }\n    #makePromise(msgID){\n        return new Promise((resolve, reject) => this.#promises.set(msgID, {\n            resolve: value => (resolve(value), this.#promises.delete(msgID)),\n            reject: value => (reject(value), this.#promises.delete(msgID)),\n        }))\n    }\n    #makeIter(msgID) {\n        let promise = this.#makePromise(msgID)\n        return {\n            next: async () => {\n                const data = await promise\n                promise = this.#makePromise(msgID)\n                return data\n            },\n            return: () => {\n                promise = null\n                this.#promises.delete(msgID)\n            },\n        }\n    }\n    async send(command) {\n        await this.init()\n        return this.#connection.send(command)\n    }\n    async speak(str) {\n        await this.send('SPEAK')\n        const text = str.replace('\\r\\n.', '\\r\\n..') + '\\r\\n.'\n        const [msgID] = await this.send(text)\n        const iter = this.#makeIter(msgID)\n        let done = false\n        const next = async () => {\n            if (done) return { done }\n            const value = await iter.next()\n            const { code } = value\n            if (code === '702' || code === '703') {\n                iter.return()\n                done = true\n                return { value, done: false }\n            }\n            return { value, done }\n        }\n        return {\n            next,\n            [Symbol.asyncIterator]: () => ({ next }),\n        }\n    }\n    pause() {\n        return this.send('PAUSE self')\n    }\n    resume() {\n        return this.send('RESUME self')\n    }\n    stop() {\n        return this.send('STOP self')\n    }\n    setRate(rate) {\n        return this.send(`SET self RATE ${rate}`)\n    }\n    setPitch(rate) {\n        return this.send(`SET self PITCH ${rate}`)\n    }\n    async listSynthesisVoices() {\n        const data = await this.send('LIST SYNTHESIS_VOICES')\n        return data.map(row => {\n            const [name, lang, variant] = row.split('\\t')\n            return { name, lang, variant }\n        })\n    }\n}\n"
  },
  {
    "path": "src/themes.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GLib from 'gi://GLib'\nimport { gettext as _ } from 'gettext'\nimport * as utils from './utils.js'\n\nexport const themes = [\n    {\n        name: 'default', label: _('Default'),\n        light: { fg: '#000000', bg: '#ffffff', link: '#0066cc' },\n        dark: { fg: '#e0e0e0', bg: '#222222', link: '#77bbee' },\n    },\n    {\n        name: 'gray', label: _('Gray'),\n        light: { fg: '#222222', bg: '#e0e0e0', link: '#4488cc' },\n        dark: { fg: '#c6c6c6', bg: '#444444', link: '#88ccee' },\n    },\n    {\n        name: 'sepia', label: _('Sepia'),\n        light: { fg: '#5b4636', bg: '#f1e8d0', link: '#008b8b' },\n        dark: { fg: '#ffd595', bg: '#342e25', link: '#48d1cc' },\n    },\n    {\n        name: 'grass', label: _('Grass'),\n        light: { fg: '#232c16', bg: '#d7dbbd', link: '#177b4d' },\n        dark: { fg: '#d8deba', bg: '#333627', link: '#a6d608' },\n    },\n    {\n        name: 'cherry', label: _('Cherry'),\n        light: { fg: '#4e1609', bg: '#f0d1d5', link: '#de3838' },\n        dark: { fg: '#e5c4c8', bg: '#462f32', link: '#ff646e' },\n    },\n    {\n        name: 'sky', label: _('Sky'),\n        light: { fg: '#262d48', bg: '#cedef5', link: '#2d53e5' },\n        dark: { fg: '#babee1', bg: '#282e47', link: '#ff646e' },\n    },\n    {\n        name: 'solarized', label: _('Solarized'),\n        light: { fg: '#586e75', bg: '#fdf6e3', link: '#268bd2' },\n        dark: { fg: '#93a1a1', bg: '#002b36', link: '#268bd2' },\n    },\n    {\n        name: 'gruvbox', label: _('Gruvbox'),\n        light: { fg: '#3c3836', bg: '#fbf1c7', link: '#076678' },\n        dark: { fg: '#ebdbb2', bg: '#282828', link: '#83a598' },\n    },\n    {\n        name: 'nord', label: _('Nord'),\n        light: { fg: '#2e3440', bg: '#eceff4', link: '#5e81ac' },\n        dark: { fg: '#d8dee9', bg: '#2e3440', link: '#88c0d0' },\n    },\n]\n\nfor (const { file, name } of utils.listDir(pkg.configpath('themes'))) try {\n    if (!/\\.json$/.test(name)) continue\n    const theme = utils.readJSONFile(file)\n    themes.push({\n        name,\n        label: theme.label ?? name.replace(/\\.json$/, ''),\n        light: {\n            fg: theme.light.fg,\n            bg: theme.light.bg,\n            link: theme.light.link,\n        },\n        dark: {\n            fg: theme.dark.fg,\n            bg: theme.dark.bg,\n            link: theme.dark.link,\n        },\n    })\n} catch (e) {\n    console.error(e)\n}\n\nexport const themeCssProvider = new Gtk.CssProvider()\nthemeCssProvider.load_from_data(`\n    .theme-container .card {\n        padding: 9px;\n    }\n` + themes.map(theme => {\n    const id = `theme-${GLib.uuid_string_random()}`\n    theme.id = id\n    return `\n        .${id}, .sidebar-${id}:not(.background) {\n            color: ${theme.light.fg};\n            background: ${theme.light.bg};\n        }\n        .sidebar-${id}:not(.background) toolbarview {\n            background: rgba(0, 0, 0, .08);\n        }\n        .is-dark .${id}, .is-dark .sidebar-${id}:not(.background) {\n            color: ${theme.dark.fg};\n            background: ${theme.dark.bg};\n        }\n        .is-dark .sidebar-${id}:not(.background) toolbarview {\n            background: rgba(255, 255, 255, .05);\n        }\n        .${id} highlight {\n            background: ${theme.light.link};\n        }\n        .is-dark .${id} highlight {\n            background: ${theme.dark.link};\n        }\n        .${id} popover highlight, .is-dark .${id} popover highlight {\n            background: @accent_bg_color;\n        }\n    `\n}).join(''), -1)\n\nexport const invertTheme = ({ light, dark }) => ({ light, dark, inverted: {\n    fg: utils.invertColor(dark.fg),\n    link: utils.invertColor(dark.link),\n} })\n"
  },
  {
    "path": "src/toc.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GObject from 'gi://GObject'\nimport Pango from 'gi://Pango'\nimport * as utils from './utils.js'\n\nconst TOCItem = utils.makeDataClass('FoliateTOCItem', {\n    'id': 'uint',\n    'label': 'string',\n    'href': 'string',\n    'subitems': 'object',\n})\n\nGObject.registerClass({\n    GTypeName: 'FoliateTOCView',\n    Properties: utils.makeParams({\n        'dir': 'string',\n    }),\n    Signals: {\n        'go-to-href': {\n            param_types: [GObject.TYPE_STRING],\n        },\n    },\n}, class extends Gtk.ListView {\n    #shouldGoToTocItem = true\n    #map = new Map()\n    #parentMap = new Map()\n    constructor(params) {\n        super(params)\n        this.model = new Gtk.SingleSelection({ autoselect: false, can_unselect: true })\n        this.model.connect('selection-changed', sel => {\n            if (!this.#shouldGoToTocItem) return\n            const href = sel.selected_item?.item?.href\n            if (href) this.emit('go-to-href', href)\n        })\n        this.connect('activate', (_, pos) => {\n            const { href } = this.model.model.get_item(pos).item ?? {}\n            if (href) this.emit('go-to-href', href)\n        })\n        this.factory = utils.connect(new Gtk.SignalListItemFactory(), {\n            'setup': (_, listItem) => {\n                listItem.child = new Gtk.TreeExpander()\n                listItem.child.child = new Gtk.Label({\n                    xalign: 0,\n                    ellipsize: Pango.EllipsizeMode.END,\n                })\n            },\n            'bind': (_, listItem) => {\n                const widget = listItem.child.child\n                listItem.child.list_row = listItem.item\n                const { label, href } = listItem.item.item\n                Object.assign(widget, { label, tooltip_text: label })\n                const ctx = widget.get_style_context()\n                if (href) ctx.remove_class('dim-label')\n                else ctx.add_class('dim-label')\n                utils.setDirection(listItem.child, this.dir)\n            },\n        })\n    }\n    load(toc) {\n        toc ??= []\n        this.model.model = utils.tree(toc, TOCItem, false)\n        // save parent for each item in a map\n        const f = item => {\n            this.#map.set(item.id, item)\n            if (!item.subitems?.length) return\n            for (const subitem of item.subitems) {\n                this.#parentMap.set(subitem, item)\n                f(subitem)\n            }\n        }\n        for (const item of toc) f(item)\n    }\n    getParents(id) {\n        const results = []\n        let item = this.#map.get(id)\n        while (item) {\n            results.push(item.id)\n            item = this.#parentMap.get(item)\n        }\n        return results.reverse()\n    }\n    setCurrent(id) {\n        if (id == null) {\n            this.model.unselect_item(this.model.selected)\n            return\n        }\n        const { model } = this\n        let index\n        let iStart = 0\n        // child rows are added to the tree dynamically\n        // so have to expand every ancestors from the top\n        for (const parent of this.getParents(id)) {\n            const length = model.get_n_items()\n            for (let i = iStart; i < length; i++) {\n                const row = model.get_item(i)\n                if (row.get_item().id === parent) {\n                    row.expanded = true\n                    index = i\n                    // start next search from i + 1\n                    // as children must come after the parent\n                    iStart = i + 1\n                    break\n                }\n            }\n        }\n        this.#shouldGoToTocItem = false\n        this.scroll_to(index, Gtk.ListScrollFlags.SELECT, null)\n        this.#shouldGoToTocItem = true\n    }\n})\n"
  },
  {
    "path": "src/tts.js",
    "content": "import Gtk from 'gi://Gtk'\nimport GObject from 'gi://GObject'\nimport { gettext as _ } from 'gettext'\n\nimport * as utils from './utils.js'\nimport { SSIPClient } from './speech.js'\n\nconst ssip = new SSIPClient()\n\nGObject.registerClass({\n    GTypeName: 'FoliateTTSBox',\n    Template: pkg.moduleuri('ui/tts-box.ui'),\n    Signals: {\n        'init': { return_type: GObject.TYPE_JSOBJECT },\n        'start': { return_type: GObject.TYPE_JSOBJECT },\n        'resume': { return_type: GObject.TYPE_JSOBJECT },\n        'backward': { return_type: GObject.TYPE_JSOBJECT },\n        'forward': { return_type: GObject.TYPE_JSOBJECT },\n        'backward-paused': {},\n        'forward-paused': {},\n        'highlight': {\n            param_types: [GObject.TYPE_STRING],\n            return_type: GObject.TYPE_JSOBJECT,\n        },\n        'next-section': { return_type: GObject.TYPE_JSOBJECT },\n    },\n    InternalChildren: [\n        'tts-rate-scale', 'tts-pitch-scale',\n        'media-buttons', 'play-button',\n    ],\n}, class extends Gtk.Box {\n    #state = 'stopped'\n    defaultWidget = this._play_button\n    constructor(params) {\n        super(params)\n        this.insert_action_group('tts', utils.addMethods(this, {\n            actions: ['play', 'backward', 'forward', 'stop'],\n        }))\n        utils.setDirection(this._media_buttons, Gtk.TextDirection.LTR)\n\n        this.#connectScale(this._tts_rate_scale, ssip.setRate.bind(ssip))\n        this.#connectScale(this._tts_pitch_scale, ssip.setPitch.bind(ssip))\n    }\n    #connectScale(scale, f) {\n        scale.connect('value-changed', scale => {\n            const shouldResume = this.state === 'playing'\n            this.state = 'paused'\n            ssip.stop()\n                .then(() => f(Math.trunc(scale.get_value())))\n                .then(() => shouldResume ? this.start() : null)\n                .catch(e => this.error(e))\n        })\n    }\n    get state() {\n        return this.#state\n    }\n    set state(state) {\n        this.#state = state\n        this._play_button.icon_name = state === 'playing'\n            ? 'media-playback-pause-symbolic'\n            : 'media-playback-start-symbolic'\n    }\n    #init() {\n        return ssip.stop().then(() => this.emit('init'))\n    }\n    async #speak(ssml) {\n        this.state = 'playing'\n        ssml = await ssml\n        if (!ssml && await this.emit('next-section')) return this.forward()\n        const iter = await ssip.speak(ssml)\n        let state\n        for await (const { mark, message } of iter) {\n            if (mark) await this.emit('highlight', mark)\n            else state = message\n        }\n        if (state === 'END') this.forward()\n    }\n    speak(ssml) {\n        this.#init().then(() => this.#speak(ssml)).catch(e => this.error(e))\n    }\n    play() {\n        if (this.#state !== 'playing') this.start()\n        else this.pause()\n    }\n    start() {\n        this.#init()\n            .then(() => this.#speak(this.state === 'paused'\n                ? this.emit('resume')\n                : this.emit('start')))\n            .catch(e => this.error(e))\n    }\n    pause() {\n        this.state = 'paused'\n        ssip.stop().catch(e => this.error(e))\n    }\n    stop() {\n        this.state = 'stopped'\n        ssip.stop().catch(e => this.error(e))\n    }\n    backward() {\n        this.#init()\n            .then(() => this.state === 'playing'\n                ? this.#speak(this.emit('backward'))\n                : (this.state = 'paused', this.emit('backward-paused')))\n            .catch(e => this.error(e))\n    }\n    forward() {\n        this.#init()\n            .then(() => this.state === 'playing'\n                ? this.#speak(this.emit('forward'))\n                : (this.state = 'paused', this.emit('forward-paused')))\n            .catch(e => this.error(e))\n    }\n    error(e) {\n        this.state = 'stopped'\n        console.error(e)\n        this.root.error(_('Text-to-Speech Error'),\n            _('Make sure Speech Dispatcher is installed and working on your system'))\n    }\n    kill() {\n        this.emit = () => {}\n        if (this.state === 'playing') ssip.stop().catch(e => console.error(e))\n    }\n})\n\n\nGObject.registerClass({\n    GTypeName: 'FoliateMediaOverlayBox',\n    Template: pkg.moduleuri('ui/media-overlay-box.ui'),\n    Properties: utils.makeParams({\n        'rate': 'double',\n        'volume': 'double',\n    }),\n    Signals: {\n        'start': {},\n        'pause': {},\n        'resume': {},\n        'stop': {},\n        'backward': {},\n        'forward': {},\n    },\n    InternalChildren: [\n        'volume-scale',\n        'media-buttons', 'play-button',\n    ],\n}, class extends Gtk.Box {\n    #state = 'stopped'\n    defaultWidget = this._play_button\n    constructor(params) {\n        super(params)\n        this.set_property('rate', 1)\n        const actionGroup = utils.addMethods(this, {\n            actions: ['play', 'backward', 'forward', 'stop'],\n        })\n        utils.addPropertyActions(this, ['rate'], actionGroup)\n        this.insert_action_group('media-overlay', actionGroup)\n\n        utils.setDirection(this._media_buttons, Gtk.TextDirection.LTR)\n\n        // GtkScale, y u no implement GtkActionable?\n        this._volume_scale.connect('value-changed', scale =>\n            this.set_property('volume', scale.get_value()))\n    }\n    get state() {\n        return this.#state\n    }\n    set state(state) {\n        this.#state = state\n        this._play_button.icon_name = state === 'playing'\n            ? 'media-playback-pause-symbolic'\n            : 'media-playback-start-symbolic'\n    }\n    play() {\n        if (this.#state !== 'playing') this.start()\n        else this.pause()\n    }\n    start() {\n        if (this.state === 'paused') this.emit('resume')\n        else this.emit('start')\n        this.state = 'playing'\n    }\n    pause() {\n        this.state = 'paused'\n        this.emit('pause')\n    }\n    stop() {\n        this.state = 'stopped'\n        this.emit('stop')\n    }\n    backward() {\n        if (this.state === 'stopped') this.state = 'playing'\n        this.emit('backward')\n    }\n    forward() {\n        if (this.state === 'stopped') this.state = 'playing'\n        this.emit('forward')\n    }\n})\n"
  },
  {
    "path": "src/ui/annotation-popover.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <template class=\"FoliateAnnotationPopover\" parent=\"GtkPopover\">\n    <child>\n      <object class=\"GtkBox\">\n        <property name=\"orientation\">vertical</property>\n        <child>\n          <object class=\"GtkBox\">\n            <property name=\"spacing\">6</property>\n            <child>\n              <object class=\"FoliateAnnotationColorDropDown\" id=\"drop-down\">\n                <property name=\"hexpand\">True</property>\n                <property name=\"tooltip-text\" translatable=\"yes\">Highlight Style</property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkButton\">\n                <property name=\"icon-name\">user-trash-symbolic</property>\n                <property name=\"action-name\">annotation.delete</property>\n                <property name=\"tooltip-text\" translatable=\"yes\">Delete</property>\n                <style><class name=\"flat\"/></style>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkButton\">\n                <property name=\"icon-name\">view-more-symbolic</property>\n                <property name=\"action-name\">annotation.more</property>\n                <property name=\"tooltip-text\" translatable=\"yes\">Menu</property>\n                <style><class name=\"flat\"/></style>\n              </object>\n            </child>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkSeparator\">\n            <property name=\"margin-top\">9</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkStack\" id=\"stack\">\n            <property name=\"vhomogeneous\">False</property>\n            <child>\n              <object class=\"GtkButton\" id=\"button\">\n                <style><class name=\"flat\"/></style>\n                <property name=\"margin-top\">9</property>\n                <property name=\"action-name\">annotation.add-note</property>\n                <property name=\"label\" translatable=\"yes\">Add Note…</property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkScrolledWindow\">\n                <property name=\"width-request\">250</property>\n                <property name=\"height-request\">200</property>\n                <child>\n                  <object class=\"GtkTextView\" id=\"text-view\">\n                    <property name=\"top-margin\">9</property>\n                    <property name=\"bottom-margin\">9</property>\n                    <property name=\"right-margin\">9</property>\n                    <property name=\"left-margin\">9</property>\n                    <property name=\"wrap-mode\">word</property>\n                    <style><class name=\"inline\"/></style>\n                  </object>\n                </child>\n              </object>\n            </child>\n          </object>\n        </child>\n      </object>\n    </child>\n  </template>\n</interface>\n"
  },
  {
    "path": "src/ui/annotation-row.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<template class=\"FoliateAnnotationRow\" parent=\"GtkBox\">\n    <property name=\"orientation\">vertical</property>\n    <property name=\"valign\">center</property>\n    <property name=\"spacing\">9</property>\n    <child>\n      <object class=\"GtkLabel\" id=\"heading\">\n        <property name=\"xalign\">0</property>\n        <property name=\"hexpand\">true</property>\n        <property name=\"ellipsize\">end</property>\n        <style><class name=\"caption\"/></style>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkBox\" id=\"box\">\n        <property name=\"spacing\">12</property>\n        <child>\n          <object class=\"FoliateAnnotationColorImage\" id=\"color\">\n            <property name=\"valign\">center</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkLabel\" id=\"text\">\n            <property name=\"hexpand\">True</property>\n            <property name=\"xalign\">0</property>\n            <property name=\"wrap\">True</property>\n            <property name=\"ellipsize\">middle</property>\n            <property name=\"lines\">3</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkSeparator\" id=\"sep\">\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkLabel\" id=\"note\">\n        <property name=\"hexpand\">True</property>\n        <property name=\"xalign\">0</property>\n        <property name=\"wrap\">True</property>\n        <property name=\"ellipsize\">end</property>\n        <property name=\"lines\">3</property>\n        <style><class name=\"caption\"/></style>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkBox\" id=\"bar\">\n        <property name=\"spacing\">12</property>\n        <child>\n          <object class=\"GtkLabel\" id=\"date\">\n            <property name=\"hexpand\">True</property>\n            <property name=\"xalign\">0</property>\n            <property name=\"ellipsize\">end</property>\n            <style><class name=\"caption\"/><class name=\"dim-label\"/></style>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\" id=\"button\">\n            <property name=\"visible\" bind-source=\"FoliateAnnotationRow\" bind-property=\"editable\"/>\n            <property name=\"valign\">center</property>\n            <property name=\"icon-name\">user-trash-symbolic</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Delete</property>\n            <style><class name=\"flat\"/></style>\n          </object>\n        </child>\n      </object>\n    </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/book-image.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<template class=\"FoliateBookImage\" parent=\"GtkOverlay\">\n  <child>\n    <object class=\"GtkFrame\">\n      <property name=\"valign\">end</property>\n      <child>\n        <object class=\"GtkPicture\" id=\"image\">\n        </object>\n      </child>\n      <style><class name=\"background\"/><class name=\"book-image-frame\"/></style>\n    </object>\n  </child>\n  <child type=\"overlay\">\n    <object class=\"GtkBox\" id=\"generated\">\n      <property name=\"visible\">false</property>\n      <property name=\"orientation\">vertical</property>\n      <property name=\"valign\">center</property>\n      <property name=\"spacing\">12</property>\n      <property name=\"margin-start\">12</property>\n      <property name=\"margin-end\">12</property>\n      <child>\n        <object class=\"GtkLabel\" id=\"title\">\n          <property name=\"xalign\">0.5</property>\n          <property name=\"justify\">center</property>\n          <property name=\"wrap\">True</property>\n          <property name=\"wrap-mode\">word-char</property>\n          <property name=\"ellipsize\">end</property>\n          <property name=\"lines\">7</property>\n          <style><class name=\"heading\"/><class name=\"dim-label\"/></style>\n        </object>\n      </child>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/book-item.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<menu id=\"menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open in New Window</attribute>\n      <attribute name=\"action\">book-item.open-new-window</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open with External App</attribute>\n      <attribute name=\"action\">book-item.open-external-app</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">About This Book</attribute>\n      <attribute name=\"action\">book-item.info</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Export Annotations…</attribute>\n      <attribute name=\"action\">book-item.export</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Remove</attribute>\n      <attribute name=\"action\">book-item.remove</attribute>\n    </item>\n  </section>\n</menu>\n<template class=\"FoliateBookItem\" parent=\"GtkBox\">\n    <property name=\"orientation\">vertical</property>\n    <property name=\"halign\">center</property>\n    <property name=\"valign\">end</property>\n    <property name=\"width-request\">120</property>\n    <property name=\"margin-start\">12</property>\n    <property name=\"margin-end\">12</property>\n    <property name=\"margin-top\">9</property>\n    <property name=\"margin-bottom\">3</property>\n    <child>\n      <object class=\"FoliateBookImage\" id=\"image\"/>\n    </child>\n    <child>\n      <object class=\"GtkInscription\" id=\"title\">\n        <property name=\"text-overflow\">ellipsize-end</property>\n        <property name=\"min-lines\">2</property>\n        <property name=\"margin-top\">9</property>\n        <style><class name=\"caption-heading\"/></style>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkBox\">\n        <child>\n          <object class=\"GtkLabel\" id=\"progress\">\n            <property name=\"xalign\">0</property>\n            <property name=\"hexpand\">true</property>\n            <style><class name=\"dim-label\"/></style>\n            <style><class name=\"caption\"/></style>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkMenuButton\" id=\"menu-button\">\n            <property name=\"visible\">True</property>\n            <property name=\"valign\">center</property>\n            <property name=\"icon-name\">view-more-horizontal-symbolic</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Menu</property>\"\n            <property name=\"menu-model\">menu</property>\n            <style><class name=\"flat\"/><class name=\"circular\"/></style>\n          </object>\n        </child>\n      </object>\n    </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/book-row.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<menu id=\"menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open in New Window</attribute>\n      <attribute name=\"action\">book-item.open-new-window</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open with External App</attribute>\n      <attribute name=\"action\">book-item.open-external-app</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">About This Book</attribute>\n      <attribute name=\"action\">book-item.info</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Export Annotations…</attribute>\n      <attribute name=\"action\">book-item.export</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Remove</attribute>\n      <attribute name=\"action\">book-item.remove</attribute>\n    </item>\n  </section>\n</menu>\n<template class=\"FoliateBookRow\" parent=\"GtkBox\">\n    <property name=\"valign\">center</property>\n    <property name=\"spacing\">9</property>\n    <property name=\"margin-start\">18</property>\n    <property name=\"margin-end\">12</property>\n    <property name=\"margin-top\">18</property>\n    <property name=\"margin-bottom\">18</property>\n    <child>\n      <object class=\"GtkBox\">\n        <property name=\"orientation\">vertical</property>\n        <property name=\"spacing\">3</property>\n        <property name=\"hexpand\">true</property>\n        <child>\n          <object class=\"GtkLabel\" id=\"title\">\n            <property name=\"xalign\">0</property>\n            <property name=\"wrap\">True</property>\n            <property name=\"ellipsize\">end</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkLabel\" id=\"author\">\n            <property name=\"xalign\">0</property>\n            <property name=\"ellipsize\">end</property>\n            <style><class name=\"caption\"/><class name=\"dim-label\"/></style>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkGrid\" id=\"progress-grid\">\n            <property name=\"column-homogeneous\">True</property>\n            <property name=\"column-spacing\">6</property>\n            <child>\n              <object class=\"GtkProgressBar\" id=\"progress-bar\">\n                <property name=\"valign\">center</property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkLabel\" id=\"progress-label\">\n                <property name=\"valign\">center</property>\n                <property name=\"xalign\">0</property>\n                <style><class name=\"caption\"/><class name=\"dim-label\"/></style>\n              </object>\n            </child>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkMenuButton\">\n        <property name=\"icon-name\">view-more-symbolic</property>\n        <property name=\"tooltip-text\" translatable=\"yes\">Menu</property>\"\n        <property name=\"menu-model\">menu</property>\n        <property name=\"valign\">center</property>\n        <style><class name=\"flat\"/><class name=\"circular\"/></style>\n      </object>\n    </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/book-viewer.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<menu id=\"book-menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">New Window</attribute>\n      <attribute name=\"action\">win.new-window</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open a Copy</attribute>\n      <attribute name=\"action\">win.open-copy</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Reload</attribute>\n      <attribute name=\"action\">view.reload</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Import Annotations…</attribute>\n      <attribute name=\"action\">viewer.import-annotations</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Export Annotations…</attribute>\n      <attribute name=\"action\">viewer.export-annotations</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Keyboard Shortcuts</attribute>\n      <attribute name=\"action\">viewer.help-overlay</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">About Foliate</attribute>\n      <attribute name=\"action\">app.about</attribute>\n    </item>\n  </section>\n</menu>\n<menu id=\"search-menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">All Sections</attribute>\n      <attribute name=\"action\">search.scope</attribute>\n      <attribute name=\"target\">book</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Current Section</attribute>\n      <attribute name=\"action\">search.scope</attribute>\n      <attribute name=\"target\">section</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Match Whole Words Only</attribute>\n      <attribute name=\"action\">search.match-whole-words</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Match Case</attribute>\n      <attribute name=\"action\">search.match-case</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Match Diacritics</attribute>\n      <attribute name=\"action\">search.match-diacritics</attribute>\n    </item>\n  </section>\n</menu>\n<menu id=\"view-menu\">\n  <section>\n    <item>\n      <attribute name=\"custom\">theme</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"custom\">zoom</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Font &amp; Layout Settings</attribute>\n      <attribute name=\"action\">viewer.preferences</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Scrolled Mode</attribute>\n      <attribute name=\"action\">view.scrolled</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Invert Colors in Dark Mode</attribute>\n      <attribute name=\"action\">view.invert</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Autohide Cursor</attribute>\n      <attribute name=\"action\">view.autohide-cursor</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Print…</attribute>\n      <attribute name=\"action\">view.print</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Inspector</attribute>\n      <attribute name=\"action\">view.inspector</attribute>\n    </item>\n  </section>\n</menu>\n\n<template class=\"FoliateBookViewer\" parent=\"GtkOverlay\">\n  <child type=\"overlay\">\n    <object class=\"AdwToolbarView\" id=\"top-overlay-box\">\n      <property name=\"vexpand\">True</property>\n      <property name=\"hexpand\">True</property>\n      <style><class name=\"background\"/></style>\n      <child type=\"top\">\n        <object class=\"GtkHeaderBar\" id=\"top-overlay-headerbar\">\n          <style><class name=\"flat\"/></style>\n          <property name=\"title-widget\">\n            <object class=\"GtkLabel\"/>\n          </property>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"action-name\">win.show-library</property>\n              <property name=\"halign\">center</property>\n              <property name=\"icon-name\">go-previous-symbolic</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Library</property>\n            </object>\n          </child>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkStack\" id=\"top-overlay-stack\">\n          <property name=\"vexpand\">True</property>\n          <property name=\"hexpand\">True</property>\n          <child>\n            <object class=\"GtkStackPage\">\n              <property name=\"name\">nothing</property>\n              <property name=\"child\">\n                <object class=\"GtkBox\"/>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkStackPage\">\n              <property name=\"name\">loading</property>\n              <property name=\"child\">\n                <object class=\"AdwSpinner\"/>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkStackPage\">\n              <property name=\"name\">error</property>\n              <property name=\"child\">\n                <object class=\"AdwStatusPage\" id=\"error-page\">\n                  <property name=\"icon-name\">face-uncertain-symbolic</property>\n                  <property name=\"title\" translatable=\"yes\">Book Cannot Be Opened</property>\n                  <child>\n                    <object class=\"GtkBox\">\n                      <property name=\"orientation\">vertical</property>\n                      <property name=\"spacing\">18</property>\n                      <child>\n                        <object class=\"GtkExpander\" id=\"error-page-expander\">\n                          <property name=\"halign\">center</property>\n                          <child type=\"label\">\n                            <object class=\"GtkLabel\">\n                              <property name=\"label\" translatable=\"yes\">Details</property>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\" id=\"error-page-details\">\n                              <property name=\"selectable\">True</property>\n                              <property name=\"wrap\">True</property>\n                              <style><class name=\"monospace\"/></style>\n                            </object>\n                          </child>\n                        </object>\n                      </child>\n                      <child>\n                        <object class=\"GtkButton\">\n                          <property name=\"action-name\">win.open</property>\n                          <property name=\"halign\">center</property>\n                          <property name=\"label\" translatable=\"yes\">Open Another File…</property>\n                          <style><class name=\"pill\"/></style>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                </object>\n              </property>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"AdwBreakpointBin\" id=\"breakpoint-bin\">\n      <property name=\"height-request\">300</property>\n      <property name=\"width-request\">360</property>\n      <child>\n        <object class=\"AdwBreakpoint\"/>\n      </child>\n      <property name=\"child\">\n\n    <object class=\"AdwOverlaySplitView\" id=\"flap\">\n      <property name=\"enable-show-gesture\">False</property>\n      <property name=\"sidebar-width-unit\">px</property>\n      <child type=\"sidebar\">\n        <object class=\"GtkOverlay\" id=\"sidebar\">\n          <child type=\"overlay\">\n            <object class=\"GtkBox\" id=\"resize-handle\">\n              <property name=\"width-request\">4</property>\n              <property name=\"halign\">end</property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwToolbarView\">\n              <child type=\"top\">\n                <object class=\"AdwHeaderBar\">\n                  <property name=\"show-end-title-buttons\">false</property>\n                  <property name=\"title-widget\">\n                    <object class=\"GtkLabel\"/>\n                  </property>\n                  <child type=\"start\">\n                    <object class=\"GtkButton\" id=\"library-button\">\n                      <property name=\"action-name\">win.show-library</property>\n                      <property name=\"icon-name\">library-symbolic</property>\n                      <property name=\"tooltip-text\" translatable=\"yes\">Library</property>\n                    </object>\n                  </child>\n                  <child type=\"end\">\n                    <object class=\"GtkToggleButton\" id=\"pin-button\">\n                      <property name=\"icon-name\">pin-symbolic</property>\n                      <property name=\"tooltip-text\" translatable=\"yes\">Pin Sidebar</property>\n                      <property name=\"active\" bind-source=\"FoliateBookViewer\" bind-property=\"fold-sidebar\" bind-flags=\"sync-create|bidirectional|invert-boolean\"/>\n                      <style><class name=\"circular\"/><class name=\"raised\"/><class name=\"small-button\"/></style>\n                    </object>\n                  </child>\n                  <child type=\"end\">\n                    <object class=\"GtkMenuButton\" id=\"book-menu-button\">\n                      <property name=\"icon-name\">open-menu-symbolic</property>\n                      <property name=\"tooltip-text\" translatable=\"yes\">Book Menu</property>\n                      <property name=\"menu-model\">book-menu</property>\n                    </object>\n                  </child>\n                  <child type=\"end\">\n                    <object class=\"GtkToggleButton\">\n                      <property name=\"icon-name\">edit-find-symbolic</property>\n                      <property name=\"tooltip-text\" translatable=\"yes\">Find</property>\n                      <property name=\"active\" bind-source=\"search-bar\" bind-property=\"search-mode-enabled\" bind-flags=\"sync-create|bidirectional\"/>\n                    </object>\n                  </child>\n                </object>\n              </child>\n              <child type=\"top\">\n                <object class=\"GtkSearchBar\" id=\"search-bar\">\n                  <child>\n                    <object class=\"GtkBox\">\n                      <style><class name=\"linked\"/></style>\n                      <child>\n                        <object class=\"GtkEntry\" id=\"search-entry\">\n                          <property name=\"hexpand\">True</property>\n                          <property name=\"primary-icon-name\">edit-find-symbolic</property>\n                          <property name=\"secondary-icon-name\"></property>\n                          <property name=\"placeholder-text\" translatable=\"yes\">Find in book…</property>\n                          <style><class name=\"search\"/></style>\n                        </object>\n                      </child>\n                      <child>\n                        <object class=\"GtkMenuButton\">\n                          <property name=\"icon-name\">pan-down-symbolic</property>\n                          <property name=\"menu-model\">search-menu</property>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                </object>\n              </child>\n              <child type=\"bottom\">\n                <object class=\"AdwInlineViewSwitcher\" id=\"contents-stack-switcher\">\n                  <property name=\"stack\">contents-stack</property>\n                  <property name=\"display-mode\">icons</property>\n                  <property name=\"margin-top\">6</property>\n                  <property name=\"margin-bottom\">6</property>\n                  <property name=\"margin-start\">6</property>\n                  <property name=\"margin-end\">6</property>\n                </object>\n              </child>\n              <child>\n                <object class=\"GtkStack\" id=\"sidebar-stack\">\n                  <child>\n                    <object class=\"GtkStackPage\">\n                      <property name=\"name\">main</property>\n                      <property name=\"child\">\n                        <object class=\"GtkBox\">\n                          <property name=\"orientation\">vertical</property>\n                          <child>\n                            <object class=\"AdwViewStack\" id=\"contents-stack\">\n                              <property name=\"vexpand\">True</property>\n                              <child>\n                                <object class=\"AdwViewStackPage\">\n                                  <property name=\"name\">toc</property>\n                                  <property name=\"title\" translatable=\"yes\">Contents</property>\n                                  <property name=\"icon-name\">view-list-symbolic</property>\n                                  <property name=\"child\">\n                                    <object class=\"GtkBox\">\n                                      <property name=\"orientation\">vertical</property>\n                                      <child>\n                                        <object class=\"GtkBox\" id=\"book-info\">\n                                          <property name=\"margin-start\">12</property>\n                                          <property name=\"margin-bottom\">12</property>\n                                          <property name=\"margin-top\">3</property>\n                                          <property name=\"spacing\">6</property>\n                                          <child>\n                                            <object class=\"GtkImage\" id=\"book-cover\">\n                                              <property name=\"pixel-size\">72</property>\n                                            </object>\n                                          </child>\n                                          <child>\n                                            <object class=\"GtkBox\">\n                                              <property name=\"orientation\">vertical</property>\n                                              <property name=\"valign\">center</property>\n                                              <property name=\"spacing\">6</property>\n                                              <child>\n                                                <object class=\"GtkLabel\" id=\"book-title\">\n                                                  <property name=\"hexpand\">True</property>\n                                                  <property name=\"xalign\">0</property>\n                                                  <property name=\"wrap\">True</property>\n                                                  <property name=\"ellipsize\">end</property>\n                                                  <property name=\"lines\">2</property>\n                                                  <property name=\"max-width-chars\">1</property>\n                                                  <style><class name=\"heading\"/></style>\n                                                </object>\n                                              </child>\n                                              <child>\n                                                <object class=\"GtkLabel\" id=\"book-author\">\n                                                  <property name=\"hexpand\">True</property>\n                                                  <property name=\"xalign\">0</property>\n                                                  <property name=\"ellipsize\">end</property>\n                                                  <property name=\"lines\">1</property>\n                                                  <property name=\"max-width-chars\">1</property>\n                                                  <style><class name=\"caption\"/></style>\n                                                </object>\n                                              </child>\n                                            </object>\n                                          </child>\n                                          <child>\n                                            <object class=\"GtkButton\">\n                                              <property name=\"valign\">center</property>\n                                              <property name=\"margin-end\">6</property>\n                                              <property name=\"icon-name\">help-about-symbolic</property>\n                                              <property name=\"action-name\">viewer.show-info</property>\n                                              <property name=\"tooltip-text\" translatable=\"yes\">About This Book</property>\n                                              <style><class name=\"circular\"/><class name=\"flat\"/></style>\n                                            </object>\n                                          </child>\n                                        </object>\n                                      </child>\n                                      <child>\n                                        <object class=\"GtkScrolledWindow\">\n                                          <property name=\"vexpand\">True</property>\n                                          <child>\n                                            <object class=\"FoliateTOCView\" id=\"toc-view\">\n                                              <style><class name=\"navigation-sidebar\"/></style>\n                                            </object>\n                                          </child>\n                                        </object>\n                                      </child>\n                                    </object>\n                                  </property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"AdwViewStackPage\">\n                                  <property name=\"name\">annotations</property>\n                                  <property name=\"title\" translatable=\"yes\">Annotations</property>\n                                  <property name=\"icon-name\">document-edit-symbolic</property>\n                                  <property name=\"child\">\n                                    <object class=\"GtkStack\" id=\"annotation-stack\">\n                                      <child>\n                                        <object class=\"GtkStackPage\">\n                                          <property name=\"name\">empty</property>\n                                          <property name=\"child\">\n                                            <object class=\"AdwStatusPage\">\n                                              <property name=\"vexpand\">true</property>\n                                              <property name=\"icon-name\">document-edit-symbolic</property>\n                                              <property name=\"title\" translatable=\"yes\">No Annotations</property>\n                                              <property name=\"description\" translatable=\"yes\">Select some text to add annotations</property>\n                                              <style><class name=\"compact\"/></style>\n                                            </object>\n                                          </property>\n                                        </object>\n                                      </child>\n                                      <child>\n                                        <object class=\"GtkStackPage\">\n                                          <property name=\"name\">main</property>\n                                          <property name=\"child\">\n                                            <object class=\"GtkBox\">\n                                              <property name=\"orientation\">vertical</property>\n                                              <child>\n                                                <object class=\"GtkScrolledWindow\">\n                                                  <property name=\"vexpand\">true</property>\n                                                  <child>\n                                                    <object class=\"FoliateAnnotationView\" id=\"annotation-view\">\n                                                      <property name=\"editable\">True</property>\n                                                      <property name=\"single-click-activate\">True</property>\n                                                      <style><class name=\"card-sidebar\"/></style>\n                                                    </object>\n                                                  </child>\n                                                </object>\n                                              </child>\n                                              <child>\n                                                <object class=\"GtkSearchEntry\" id=\"annotation-search-entry\">\n                                                  <property name=\"margin-top\">6</property>\n                                                  <property name=\"margin-bottom\">6</property>\n                                                  <property name=\"margin-start\">6</property>\n                                                  <property name=\"margin-end\">6</property>\n                                                  <property name=\"placeholder-text\" translatable=\"yes\">Filter annotations…</property>\n                                                </object>\n                                              </child>\n                                            </object>\n                                          </property>\n                                        </object>\n                                      </child>\n                                    </object>\n                                  </property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"AdwViewStackPage\">\n                                  <property name=\"name\">bookmarks</property>\n                                  <property name=\"title\" translatable=\"yes\">Bookmarks</property>\n                                  <property name=\"icon-name\">user-bookmarks-symbolic</property>\n                                  <property name=\"child\">\n                                    <object class=\"GtkStack\" id=\"bookmark-stack\">\n                                      <child>\n                                        <object class=\"GtkStackPage\">\n                                          <property name=\"name\">empty</property>\n                                          <property name=\"child\">\n                                            <object class=\"AdwStatusPage\">\n                                              <property name=\"vexpand\">true</property>\n                                              <property name=\"icon-name\">user-bookmarks-symbolic</property>\n                                              <property name=\"title\" translatable=\"yes\">No Bookmarks</property>\n                                              <property name=\"description\" translatable=\"yes\">Add some bookmarks to see them here</property>\n                                              <style><class name=\"compact\"/></style>\n                                            </object>\n                                          </property>\n                                        </object>\n                                      </child>\n                                      <child>\n                                        <object class=\"GtkStackPage\">\n                                          <property name=\"name\">main</property>\n                                          <property name=\"child\">\n\t                                          <object class=\"GtkScrolledWindow\">\n\t                                            <property name=\"vexpand\">true</property>\n\t                                            <child>\n\t                                              <object class=\"FoliateBookmarkView\" id=\"bookmark-view\">\n\t                                                <property name=\"single-click-activate\">True</property>\n\t                                                <style><class name=\"navigation-sidebar\"/></style>\n\t                                              </object>\n\t                                            </child>\n\t                                          </object>\n                                          </property>\n                                        </object>\n                                      </child>\n                                    </object>\n                                  </property>\n                                </object>\n                              </child>\n                            </object>\n                          </child>\n                        </object>\n                      </property>\n                    </object>\n                  </child>\n                  <child>\n                    <object class=\"GtkStackPage\">\n                      <property name=\"name\">search-empty</property>\n                      <property name=\"child\">\n                        <object class=\"AdwStatusPage\">\n                          <property name=\"vexpand\">true</property>\n                          <property name=\"icon-name\">edit-find-symbolic</property>\n                          <property name=\"title\" translatable=\"yes\">No Results Found</property>\n                          <property name=\"description\" translatable=\"yes\">Try a different search</property>\n                          <style><class name=\"compact\"/></style>\n                        </object>\n                      </property>\n                    </object>\n                  </child>\n                  <child>\n                    <object class=\"GtkStackPage\">\n                      <property name=\"name\">search</property>\n                      <property name=\"child\">\n                        <object class=\"GtkScrolledWindow\">\n                          <child>\n                            <object class=\"FoliateSearchView\" id=\"search-view\">\n                              <property name=\"entry\">search-entry</property>\n                              <style><class name=\"navigation-sidebar\"/></style>\n                            </object>\n                          </child>\n                        </object>\n                      </property>\n                    </object>\n                  </child>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </child>\n      <child type=\"content\">\n        <object class=\"FoliateBookView\" id=\"view\">\n          <property name=\"width-request\">360</property>\n          <property name=\"hexpand\">True</property>\n          <child type=\"overlay\">\n            <object class=\"GtkWindowHandle\">\n              <property name=\"valign\">start</property>\n              <child>\n                <object class=\"GtkRevealer\" id=\"headerbar-revealer\">\n                  <property name=\"transition-type\">crossfade</property>\n                  <child>\n                    <object class=\"AdwHeaderBar\">\n                      <property name=\"valign\">start</property>\n                      <child type=\"start\">\n                        <object class=\"GtkToggleButton\">\n                          <property name=\"icon-name\">sidebar-show-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Sidebar</property>\n                          <property name=\"active\" bind-source=\"flap\" bind-property=\"show-sidebar\" bind-flags=\"sync-create|bidirectional\"/>\n                        </object>\n                      </child>\n                      <child type=\"start\">\n                        <object class=\"GtkButton\" id=\"bookmark-button\">\n                          <property name=\"icon-name\">user-bookmarks-symbolic</property>\n                          <property name=\"action-name\">viewer.bookmark</property>\n                          <property name=\"visible\">false</property>\n                        </object>\n                      </child>\n                      <child type=\"end\">\n                        <object class=\"GtkMenuButton\">\n                          <property name=\"icon-name\">view-more-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">View Menu</property>\n                          <property name=\"popover\">\n                            <object class=\"GtkPopoverMenu\" id=\"view-popover\">\n                              <property name=\"menu-model\">view-menu</property>\n                                <child type=\"zoom\">\n                                  <object class=\"GtkBox\">\n                                    <property name=\"spacing\">12</property>\n                                    <property name=\"margin-start\">12</property>\n                                    <property name=\"margin-end\">12</property>\n                                    <child>\n                                      <object class=\"GtkButton\">\n                                        <property name=\"icon-name\">zoom-out-symbolic</property>\n                                        <property name=\"action-name\">view.zoom-out</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Zoom Out</property>\n                                        <style><class name=\"circular\"/><class name=\"flat\"/></style>\n                                      </object>\n                                    </child>\n                                    <child>\n                                      <object class=\"GtkButton\" id=\"zoom-button\">\n                                        <property name=\"hexpand\">True</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Reset Zoom</property>\n                                        <property name=\"action-name\">view.zoom-restore</property>\n                                        <style><class name=\"flat\"/></style>\n                                      </object>\n                                    </child>\n                                    <child>\n                                      <object class=\"GtkButton\">\n                                        <property name=\"icon-name\">zoom-in-symbolic</property>\n                                        <property name=\"action-name\">view.zoom-in</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Zoom In</property>\n                                        <style><class name=\"circular\"/><class name=\"flat\"/></style>\n                                      </object>\n                                    </child>\n                                  </object>\n                                </child>\n                                <child type=\"theme\">\n                                  <object class=\"GtkBox\">\n                                    <property name=\"spacing\">12</property>\n                                    <property name=\"margin-top\">9</property>\n                                    <property name=\"margin-bottom\">9</property>\n                                    <child>\n                                      <object class=\"GtkCheckButton\">\n                                        <style><class name=\"theme-selector\"/><class name=\"follow\"/></style>\n                                        <property name=\"hexpand\">true</property>\n                                        <property name=\"halign\">center</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Follow System Style</property>\n                                        <property name=\"action-name\">viewer.color-scheme</property>\n                                        <property name=\"action-target\">'default'</property>\n                                      </object>\n                                    </child>\n                                    <child>\n                                      <object class=\"GtkCheckButton\">\n                                        <style><class name=\"theme-selector\"/><class name=\"light\"/></style>\n                                        <property name=\"hexpand\">true</property>\n                                        <property name=\"halign\">center</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Light Style</property>\n                                        <property name=\"action-name\">viewer.color-scheme</property>\n                                        <property name=\"action-target\">'force-light'</property>\n                                      </object>\n                                    </child>\n                                    <child>\n                                      <object class=\"GtkCheckButton\">\n                                        <style><class name=\"theme-selector\"/><class name=\"dark\"/></style>\n                                        <property name=\"hexpand\">true</property>\n                                        <property name=\"halign\">center</property>\n                                        <property name=\"tooltip-text\" translatable=\"yes\">Dark Style</property>\n                                        <property name=\"action-name\">viewer.color-scheme</property>\n                                        <property name=\"action-target\">'force-dark'</property>\n                                      </object>\n                                    </child>\n                                  </object>\n                                </child>\n                            </object>\n                          </property>\n                        </object>\n                      </child>\n                      <child type=\"end\">\n                        <object class=\"GtkToggleButton\">\n                          <property name=\"icon-name\">view-fullscreen-symbolic</property>\n                          <property name=\"action-name\">win.fullscreened</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Fullscreen</property>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                </object>\n              </child>\n            </object>\n          </child>\n          <child type=\"overlay\">\n            <object class=\"GtkRevealer\" id=\"navbar-revealer\">\n              <property name=\"valign\">end</property>\n              <property name=\"transition-type\">crossfade</property>\n              <child>\n                <object class=\"GtkBox\">\n                  <property name=\"valign\">end</property>\n                  <property name=\"orientation\">vertical</property>\n                  <style><class name=\"background\"/></style>\n                  <child>\n                    <object class=\"GtkSeparator\"/>\n                  </child>\n                  <child>\n                    <object class=\"FoliateNavBar\" id=\"navbar\"/>\n                  </child>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </property>\n\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/bookmark-row.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<template class=\"FoliateBookmarkRow\" parent=\"GtkBox\">\n    <property name=\"margin-top\">12</property>\n    <property name=\"margin-bottom\">12</property>\n    <child>\n      <object class=\"GtkBox\">\n        <property name=\"orientation\">vertical</property>\n        <property name=\"spacing\">6</property>\n        <property name=\"hexpand\">true</property>\n        <child>\n          <object class=\"GtkLabel\" id=\"label\">\n            <property name=\"xalign\">0</property>\n            <property name=\"wrap\">True</property>\n            <property name=\"ellipsize\">middle</property>\n            <property name=\"lines\">3</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkLabel\" id=\"value\">\n            <property name=\"xalign\">0</property>\n            <property name=\"wrap\">True</property>\n            <property name=\"ellipsize\">end</property>\n            <property name=\"lines\">3</property>\n            <style><class name=\"dim-label\"/><class name=\"caption\"/></style>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkButton\" id=\"button\">\n        <property name=\"valign\">center</property>\n        <property name=\"icon-name\">user-trash-symbolic</property>\n        <property name=\"tooltip-text\" translatable=\"yes\">Delete</property>\n        <style><class name=\"flat\"/></style>\n      </object>\n    </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/export-dialog.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <object class=\"GtkWindow\" id=\"export-dialog\">\n    <property name=\"modal\">true</property>\n    <property name=\"title\" translatable=\"yes\">Export Annotations</property>\n    <child type=\"titlebar\">\n      <object class=\"GtkHeaderBar\">\n        <property name=\"show-title-buttons\">false</property>\n        <child>\n          <object class=\"GtkButton\" id=\"cancel-button\">\n            <property name=\"label\" translatable=\"yes\">Cancel</property>\n          </object>\n        </child>\n        <child type=\"end\">\n          <object class=\"GtkButton\" id=\"ok-button\">\n            <property name=\"label\" translatable=\"yes\">Export</property>\n            <style><class name=\"suggested-action\"/></style>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwPreferencesPage\">\n        <child>\n          <object class=\"AdwPreferencesGroup\">\n            <child>\n              <object class=\"AdwComboRow\" id=\"format-combo\">\n                <property name=\"title\" translatable=\"yes\">Format</property>\n                <property name=\"subtitle\" translatable=\"yes\">Choose “JSON” if you plan on importing annotations back to Foliate</property>\n                <property name=\"model\">\n                  <object class=\"GtkStringList\">\n                    <items>\n                      <item translatable=\"yes\">JSON</item>\n                      <item translatable=\"yes\">HTML</item>\n                      <item translatable=\"yes\">Markdown</item>\n                      <item translatable=\"yes\">Org Mode</item>\n                    </items>\n                  </object>\n                </property>\n              </object>\n            </child>\n          </object>\n        </child>\n      </object>\n    </child>\n  </object>\n</interface>\n"
  },
  {
    "path": "src/ui/help-overlay.ui",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<interface>\n  <object class=\"AdwShortcutsDialog\" id=\"help-overlay\">\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-navigation\">\n        <property name=\"title\" translatable=\"yes\">Navigation</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">p Page_Up &lt;shift&gt;space</property>\n            <property name=\"title\" translatable=\"yes\">Previous Page</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">n Page_Down space</property>\n            <property name=\"title\" translatable=\"yes\">Next Page</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">h Left</property>\n            <property name=\"title\" translatable=\"yes\">Go Left</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">j Down</property>\n            <property name=\"title\" translatable=\"yes\">Scroll Down</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">k Up</property>\n            <property name=\"title\" translatable=\"yes\">Scroll Up</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">l Right</property>\n            <property name=\"title\" translatable=\"yes\">Go Right</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;alt&gt;Left</property>\n            <property name=\"title\" translatable=\"yes\">Jump to Previous Location</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;alt&gt;Right</property>\n            <property name=\"title\" translatable=\"yes\">Jump to Next Location</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-sidebar\">\n        <property name=\"title\" translatable=\"yes\">Sidebar</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F9</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Sidebar</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;t</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Table of Contents</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;&lt;alt&gt;a</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Annotations</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;&lt;alt&gt;d</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Bookmarks</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">slash &lt;ctrl&gt;f</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Search</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-view\">\n        <property name=\"title\" translatable=\"yes\">View</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F5 &lt;ctrl&gt;r</property>\n            <property name=\"title\" translatable=\"yes\">Reload</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">plus &lt;ctrl&gt;plus</property>\n            <property name=\"title\" translatable=\"yes\">Zoom In</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">minus &lt;ctrl&gt;minus</property>\n            <property name=\"title\" translatable=\"yes\">Zoom Out</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">0 &lt;ctrl&gt;0</property>\n            <property name=\"title\" translatable=\"yes\">Reset Zoom</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F11</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Fullscreen</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;m</property>\n            <property name=\"title\" translatable=\"yes\">Toggle Scrolled Mode</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;l</property>\n            <property name=\"title\" translatable=\"yes\">Show Current Location</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;d</property>\n            <property name=\"title\" translatable=\"yes\">Bookmark Current Location</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-in-search\">\n        <property name=\"title\" translatable=\"yes\">In Search</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;&lt;shift&gt;g</property>\n            <property name=\"title\" translatable=\"yes\">Previous</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;g</property>\n            <property name=\"title\" translatable=\"yes\">Next</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-in-selection\">\n        <property name=\"title\" translatable=\"yes\">With Selection</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;c</property>\n            <property name=\"title\" translatable=\"yes\">Selection Copy</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;f</property>\n            <property name=\"title\" translatable=\"yes\">Selection Search</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-window\">\n        <property name=\"title\" translatable=\"yes\">Window</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;o</property>\n            <property name=\"title\" translatable=\"yes\">Open File</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;n</property>\n            <property name=\"title\" translatable=\"yes\">Open a Copy</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;w</property>\n            <property name=\"title\" translatable=\"yes\">Close Window</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;q</property>\n            <property name=\"title\" translatable=\"yes\">Quit</property>\n          </object>\n        </child>\n      </object>\n    </child>\n    <child>\n      <object class=\"AdwShortcutsSection\" id=\"shortcuts-general\">\n        <property name=\"title\" translatable=\"yes\">General</property>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;i &lt;alt&gt;Return</property>\n            <property name=\"title\" translatable=\"yes\">Show Book Information</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F1</property>\n            <property name=\"title\" translatable=\"yes\">Show App Information</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F10</property>\n            <property name=\"title\" translatable=\"yes\">Open Menu</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;alt&gt;comma</property>\n            <property name=\"title\" translatable=\"yes\">Font &amp; Layout Settings</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;question</property>\n            <property name=\"title\" translatable=\"yes\">Keyboard Shortcuts</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">&lt;ctrl&gt;p</property>\n            <property name=\"title\" translatable=\"yes\">Print...</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"AdwShortcutsItem\">\n            <property name=\"accelerator\">F12</property>\n            <property name=\"title\" translatable=\"yes\">Inspector</property>\n          </object>\n        </child>\n      </object>\n    </child>\n  </object>\n</interface>\n"
  },
  {
    "path": "src/ui/image-viewer.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <menu id=\"menu\">\n    <section>\n      <item>\n        <attribute name=\"label\" translatable=\"yes\">Copy</attribute>\n        <attribute name=\"action\">img.copy</attribute>\n      </item>\n      <item>\n        <attribute name=\"label\" translatable=\"yes\">Save As…</attribute>\n        <attribute name=\"action\">img.save-as</attribute>\n      </item>\n    </section>\n  </menu>\n  <template class=\"FoliateImageViewer\" parent=\"GtkBox\">\n    <property name=\"orientation\">vertical</property>\n    <child>\n      <object class=\"GtkHeaderBar\">\n        <property name=\"title-widget\">\n          <object class=\"GtkBox\">\n            <property name=\"spacing\">6</property>\n            <child>\n              <object class=\"GtkButton\">\n                <property name=\"action-name\">img.rotate-left</property>\n                <property name=\"tooltip-text\" translatable=\"yes\">Rotate 90° Counter-Clockwise</property>\n                <property name=\"icon-name\">object-rotate-left-symbolic</property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkButton\">\n                <property name=\"action-name\">img.rotate-right</property>\n                <property name=\"tooltip-text\" translatable=\"yes\">Rotate 90° Clockwise</property>\n                <property name=\"icon-name\">object-rotate-right-symbolic</property>\n              </object>\n            </child>\n          </object>\n        </property>\n        <child>\n          <object class=\"GtkButton\">\n            <property name=\"action-name\">img.zoom-out</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Zoom Out</property>\n            <property name=\"icon-name\">zoom-out-symbolic</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\">\n            <property name=\"action-name\">img.zoom-restore</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Reset Zoom</property>\n            <property name=\"icon-name\">zoom-original-symbolic</property>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\">\n            <property name=\"action-name\">img.zoom-in</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Zoom In</property>\n            <property name=\"icon-name\">zoom-in-symbolic</property>\n          </object>\n        </child>\n        <child type=\"end\">\n          <object class=\"GtkMenuButton\">\n            <property name=\"icon-name\">view-more-symbolic</property>\n            <property name=\"tooltip-text\" translatable=\"yes\">Menu</property>\n            <property name=\"menu-model\">menu</property>\n            <property name=\"primary\">True</property>\n          </object>\n        </child>\n        <!--\n        <child type=\"end\">\n          <object class=\"GtkToggleButton\" id=\"invertButton\">\n            <property name=\"tooltip-text\" translatable=\"yes\">Invert colors</property>\n            <property name=\"icon-name\">night-light-symbolic</property>\n          </object>\n        </child>\n        -->\n      </object>\n    </child>\n    <child>\n      <object class=\"GtkScrolledWindow\" id=\"scrolled\">\n        <property name=\"vexpand\">True</property>\n        <property name=\"propagate-natural-width\">True</property>\n        <property name=\"propagate-natural-height\">True</property>\n        <property name=\"min-content-height\">250</property>\n        <property name=\"min-content-width\">250</property>\n        <child>\n          <object class=\"GtkPicture\" id=\"image\">\n            <property name=\"can-shrink\">False</property>\n            <property name=\"halign\">center</property>\n            <property name=\"valign\">center</property>\n          </object>\n        </child>\n      </object>\n    </child>\n  </template>\n</interface>\n"
  },
  {
    "path": "src/ui/import-dialog.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <template class=\"FoliateImportDialog\" parent=\"AdwWindow\">\n    <property name=\"modal\">true</property>\n    <property name=\"default-width\">400</property>\n    <property name=\"default-widget\">ok-button</property>\n    <property name=\"title\" translatable=\"yes\">Import Annotations</property>\n    <property name=\"content\">\n      <object class=\"AdwToolbarView\">\n        <child type=\"top\">\n          <object class=\"GtkHeaderBar\">\n            <property name=\"show-title-buttons\">False</property>\n            <child>\n              <object class=\"GtkButton\" id=\"cancel-button\">\n                <property name=\"label\" translatable=\"yes\">Cancel</property>\n              </object>\n            </child>\n            <child type=\"end\">\n              <object class=\"GtkButton\" id=\"ok-button\">\n                <property name=\"sensitive\" bind-source=\"FoliateImportDialog\" bind-property=\"identifier-mismatch\" bind-flags=\"invert-boolean\"/>\n                <property name=\"label\" translatable=\"yes\">Import</property>\n                <style><class name=\"suggested-action\"/></style>\n              </object>\n            </child>\n          </object>\n        </child>\n        <property name=\"content\">\n          <object class=\"GtkBox\">\n            <property name=\"orientation\">vertical</property>\n            <child>\n              <object class=\"AdwBanner\" id=\"banner\">\n                <property name=\"revealed\" bind-source=\"FoliateImportDialog\" bind-property=\"identifier-mismatch\"/>\n                <property name=\"title\" translatable=\"yes\">The identifier doesn’t match. These annotations may not be for this book.</property>\n                <property name=\"button-label\" translatable=\"yes\">Import Anyway</property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkScrolledWindow\">\n                <property name=\"propagate-natural-height\">True</property>\n                <child>\n                  <object class=\"FoliateAnnotationView\" id=\"annotation-view\">\n                    <style><class name=\"card-sidebar\"/><class name=\"flat-list\"/></style>\n                  </object>\n                </child>\n              </object>\n            </child>\n          </object>\n        </property>\n      </object>\n    </property>\n  </template>\n</interface>\n"
  },
  {
    "path": "src/ui/library-view.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n<template class=\"FoliateLibraryView\" parent=\"GtkStack\">\n  <child>\n    <object class=\"GtkStackPage\">\n      <property name=\"name\">main</property>\n      <property name=\"child\">\n        <object class=\"GtkScrolledWindow\" id=\"scrolled\">\n          <property name=\"vexpand\">true</property>\n        </object>\n      </property>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkStackPage\">\n      <property name=\"name\">empty</property>\n      <property name=\"child\">\n        <object class=\"AdwStatusPage\">\n          <property name=\"vexpand\">true</property>\n          <property name=\"icon-name\">com.github.johnfactotum.Foliate-symbolic</property>\n          <property name=\"title\" translatable=\"yes\">No Books Yet</property>\n          <property name=\"description\" translatable=\"yes\">Open a book to start reading</property>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"halign\">center</property>\n              <property name=\"action-name\">win.open</property>\n              <property name=\"label\" translatable=\"yes\">Open…</property>\n              <style><class name=\"pill\"/></style>\n            </object>\n          </child>\n        </object>\n      </property>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkStackPage\">\n      <property name=\"name\">no-results</property>\n      <property name=\"child\">\n        <object class=\"AdwStatusPage\">\n          <property name=\"vexpand\">true</property>\n          <property name=\"icon-name\">edit-find-symbolic</property>\n          <property name=\"title\" translatable=\"yes\">No Results Found</property>\n          <property name=\"description\" translatable=\"yes\">Try a different search</property>\n        </object>\n      </property>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/library.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n<menu id=\"library-menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">List View</attribute>\n      <attribute name=\"action\">library.view-mode</attribute>\n      <attribute name=\"target\">list</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Grid View</attribute>\n      <attribute name=\"action\">library.view-mode</attribute>\n      <attribute name=\"target\">grid</attribute>\n    </item>\n  </section>\n</menu>\n<menu id=\"primary-menu\">\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Open…</attribute>\n      <attribute name=\"action\">win.open</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Fullscreen</attribute>\n      <attribute name=\"action\">win.fullscreened</attribute>\n    </item>\n  </section>\n  <section>\n    <!--\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Preferences</attribute>\n      <attribute name=\"action\">app.preferences</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Keyboard Shortcuts</attribute>\n      <attribute name=\"action\">win.show-help-overlay</attribute>\n    </item>\n    -->\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">About Foliate</attribute>\n      <attribute name=\"action\">app.about</attribute>\n    </item>\n  </section>\n</menu>\n<template class=\"FoliateLibrary\" parent=\"GtkBox\">\n  <property name=\"orientation\">vertical</property>\n  <child>\n    <object class=\"AdwBreakpointBin\" id=\"breakpoint-bin\">\n      <property name=\"height-request\">300</property>\n      <property name=\"width-request\">360</property>\n      <child>\n        <object class=\"AdwBreakpoint\"/>\n      </child>\n      <property name=\"child\">\n        <object class=\"AdwOverlaySplitView\" id=\"split-view\">\n          <property name=\"show-sidebar\">true</property>\n          <property name=\"sidebar-width-fraction\">0.2</property>\n          <child type=\"sidebar\">\n            <object class=\"AdwToolbarView\">\n              <child type=\"top\">\n                <object class=\"AdwHeaderBar\">\n                  <child type=\"end\">\n                    <object class=\"GtkMenuButton\" id=\"primary-menu-button\">\n                      <property name=\"icon-name\">open-menu-symbolic</property>\n                      <property name=\"tooltip-text\" translatable=\"yes\">Main Menu</property>\n                      <property name=\"menu-model\">primary-menu</property>\n                    </object>\n                  </child>\n                </object>\n              </child>\n              <child>\n                <object class=\"GtkScrolledWindow\">\n                  <child>\n                    <object class=\"GtkListBox\" id=\"sidebar-list-box\">\n                      <property name=\"activate-on-single-click\">True</property>\n                      <style><class name=\"navigation-sidebar\"/></style>\n                    </object>\n                  </child>\n                </object>\n              </child>\n            </object>\n          </child>\n          <child type=\"content\">\n            <object class=\"GtkStack\" id=\"main-stack\">\n              <child>\n                <object class=\"AdwToolbarView\" id=\"library-toolbar-view\">\n                  <child type=\"top\">\n                    <object class=\"AdwHeaderBar\">\n                      <property name=\"title-widget\">\n                        <object class=\"GtkLabel\">\n                          <property name=\"label\" translatable=\"yes\">Library</property>\n                          <property name=\"single-line-mode\">True</property>\n                          <property name=\"ellipsize\">end</property>\n                          <style><class name=\"title\"/></style>\n                        </object>\n                      </property>\n                      <child type=\"start\">\n                        <object class=\"GtkToggleButton\">\n                          <property name=\"icon-name\">sidebar-show-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Sidebar</property>\n                          <property name=\"active\" bind-source=\"split-view\" bind-property=\"show-sidebar\" bind-flags=\"sync-create|bidirectional\"/>\n                          <property name=\"visible\" bind-source=\"split-view\" bind-property=\"show-sidebar\" bind-flags=\"sync-create|invert-boolean\"/>\n                        </object>\n                      </child>\n                      <child type=\"start\">\n                        <object class=\"GtkButton\">\n                          <property name=\"icon-name\">list-add-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Open</property>\n                          <property name=\"action-name\">win.open-or-import</property>\n                        </object>\n                      </child>\n                      <child type=\"end\">\n                        <object class=\"GtkMenuButton\">\n                          <property name=\"icon-name\">view-more-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Library Menu</property>\n                          <property name=\"menu-model\">library-menu</property>\n                        </object>\n                      </child>\n                      <child type=\"end\">\n                        <object class=\"GtkToggleButton\">\n                          <property name=\"icon-name\">edit-find-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Search</property>\n                          <property name=\"active\" bind-source=\"search-bar\" bind-property=\"search-mode-enabled\" bind-flags=\"sync-create|bidirectional\"/>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                  <child type=\"top\">\n                    <object class=\"GtkSearchBar\" id=\"search-bar\">\n                      <child>\n                        <object class=\"GtkSearchEntry\" id=\"search-entry\">\n                          <property name=\"placeholder-text\" translatable=\"yes\">Search library…</property>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                  <child>\n                    <object class=\"FoliateLibraryView\" id=\"books-view\">\n                    </object>\n                  </child>\n                </object>\n              </child>\n              <child>\n                <object class=\"AdwToolbarView\" id=\"catalog-toolbar-view\">\n                  <style><class name=\"background\"/></style>\n                  <child type=\"top\">\n                    <object class=\"AdwHeaderBar\">\n                      <property name=\"title-widget\">\n                        <object class=\"GtkLabel\">\n                          <property name=\"single-line-mode\">True</property>\n                          <property name=\"ellipsize\">end</property>\n                          <style><class name=\"title\"/></style>\n                        </object>\n                      </property>\n                      <child type=\"start\">\n                        <object class=\"GtkToggleButton\">\n                          <property name=\"icon-name\">sidebar-show-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Sidebar</property>\n                          <property name=\"active\" bind-source=\"split-view\" bind-property=\"show-sidebar\" bind-flags=\"sync-create|bidirectional\"/>\n                          <property name=\"visible\" bind-source=\"split-view\" bind-property=\"show-sidebar\" bind-flags=\"sync-create|invert-boolean\"/>\n                        </object>\n                      </child>\n                      <child type=\"start\">\n                        <object class=\"GtkButton\">\n                          <property name=\"icon-name\">go-previous-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Back</property>\n                          <property name=\"action-name\">catalog.back</property>\n                        </object>\n                      </child>\n                      <child type=\"start\">\n                        <object class=\"GtkButton\">\n                          <property name=\"icon-name\">go-next-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Forward</property>\n                          <property name=\"action-name\">catalog.forward</property>\n                        </object>\n                      </child>\n                      <child type=\"end\">\n                        <object class=\"GtkButton\" id=\"catalog-search-button\">\n                          <property name=\"icon-name\">edit-find-symbolic</property>\n                          <property name=\"tooltip-text\" translatable=\"yes\">Search</property>\n                          <property name=\"action-name\">catalog.search</property>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                  <child>\n                    <object class=\"FoliateOPDSView\" id=\"opds-view\">\n                    </object>\n                  </child>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </property>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/media-overlay-box.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n<template class=\"FoliateMediaOverlayBox\" parent=\"GtkBox\">\n  <property name=\"orientation\">vertical</property>\n  <property name=\"spacing\">9</property>\n  <child>\n    <object class=\"GtkBox\">\n      <property name=\"spacing\">6</property>\n      <property name=\"margin-start\">6</property>\n      <child>\n        <object class=\"GtkImage\">\n          <property name=\"tooltip-text\" translatable=\"yes\">Volume</property>\n          <property name=\"icon-name\">audio-volume-high-symbolic</property>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkScale\" id=\"volume-scale\">\n          <property name=\"draw-value\">False</property>\n          <property name=\"hexpand\">True</property>\n          <property name=\"adjustment\">\n            <object class=\"GtkAdjustment\">\n              <property name=\"lower\">0</property>\n              <property name=\"upper\">1</property>\n              <property name=\"step-increment\">0.05</property>\n              <property name=\"page-increment\">0.25</property>\n              <property name=\"value\">1</property>\n            </object>\n          </property>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkSeparator\"/>\n  </child>\n  <child>\n    <object class=\"GtkBox\">\n      <property name=\"spacing\">6</property>\n      <property name=\"margin-start\">6</property>\n      <child>\n        <object class=\"GtkImage\">\n          <property name=\"tooltip-text\" translatable=\"yes\">Speed</property>\n          <property name=\"icon-name\">speedometer-symbolic</property>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkBox\">\n          <property name=\"spacing\">3</property>\n          <style><class name=\"chips\"/></style>\n          <child>\n            <object class=\"GtkToggleButton\">\n              <property name=\"label\" translatable=\"yes\">0.75</property>\n              <property name=\"action-name\">media-overlay.rate</property>\n              <property name=\"action-target\">0.75</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkToggleButton\">\n              <property name=\"label\" translatable=\"yes\">1</property>\n              <property name=\"action-name\">media-overlay.rate</property>\n              <property name=\"action-target\">1.0</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkToggleButton\">\n              <property name=\"label\" translatable=\"yes\">1.25</property>\n              <property name=\"action-name\">media-overlay.rate</property>\n              <property name=\"action-target\">1.25</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkToggleButton\">\n              <property name=\"label\" translatable=\"yes\">1.5</property>\n              <property name=\"action-name\">media-overlay.rate</property>\n              <property name=\"action-target\">1.5</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkToggleButton\">\n              <property name=\"label\" translatable=\"yes\">2</property>\n              <property name=\"action-name\">media-overlay.rate</property>\n              <property name=\"action-target\">2.0</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkSeparator\"/>\n  </child>\n  <child>\n    <object class=\"GtkBox\" id=\"media-buttons\">\n      <property name=\"halign\">center</property>\n      <property name=\"spacing\">12</property>\n      <property name=\"margin-top\">6</property>\n      <property name=\"margin-bottom\">6</property>\n      <property name=\"margin-start\">6</property>\n      <property name=\"margin-end\">6</property>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">media-overlay.backward</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Previous</property>\n          <property name=\"icon-name\">media-seek-backward-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkToggleButton\" id=\"play-button\">\n          <property name=\"action-name\">media-overlay.play</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Play/Pause</property>\n          <property name=\"icon-name\">media-playback-start-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"large-button\"/><class name=\"suggested-action\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">media-overlay.forward</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Next</property>\n          <property name=\"icon-name\">media-seek-forward-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">media-overlay.stop</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Stop</property>\n          <property name=\"icon-name\">media-playback-stop-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/navbar.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<template class=\"FoliateNavBar\" parent=\"GtkBox\">\n  <style><class name=\"toolbar\"/></style>\n  <child>\n    <object class=\"GtkButton\">\n      <property name=\"valign\">center</property>\n      <property name=\"action-name\">view.prev</property>\n      <property name=\"tooltip-text\" translatable=\"yes\">Previous</property>\n      <style><class name=\"image-button\"/></style>\n      <child>\n        <object class=\"GtkImage\" id=\"prev-image\">\n          <property name=\"visible\">True</property>\n          <property name=\"icon-name\">go-previous-symbolic</property>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkButton\">\n      <property name=\"valign\">center</property>\n      <property name=\"action-name\">view.back</property>\n      <property name=\"tooltip-text\" translatable=\"yes\">Back</property>\n      <style><class name=\"image-button\"/></style>\n      <child>\n        <object class=\"GtkImage\" id=\"back-image\">\n          <property name=\"visible\">True</property>\n          <property name=\"icon-name\">edit-undo-symbolic</property>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkButton\">\n      <property name=\"valign\">center</property>\n      <property name=\"action-name\">view.forward</property>\n      <property name=\"tooltip-text\" translatable=\"yes\">Forward</property>\n      <style><class name=\"image-button\"/></style>\n      <child>\n        <object class=\"GtkImage\" id=\"forward-image\">\n          <property name=\"visible\">True</property>\n          <property name=\"icon-name\">edit-redo-symbolic</property>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"AdwBreakpointBin\">\n      <property name=\"height-request\">1</property>\n      <property name=\"width-request\">1</property>\n      <child>\n        <object class=\"AdwBreakpoint\">\n          <condition>max-width: 300px</condition>\n          <setter object=\"location-button\" property=\"hexpand\">True</setter>\n          <setter object=\"progress-scale\" property=\"visible\">False</setter>\n        </object>\n      </child>\n      <property name=\"child\">\n        <object class=\"GtkBox\" id=\"progress-box\">\n          <child>\n            <object class=\"GtkMenuButton\" id=\"location-button\">\n              <property name=\"direction\">up</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Location</property>\n              <property name=\"popover\">location-popover</property>\n              <style><class name=\"numeric\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"FoliateProgressScale\" id=\"progress-scale\">\n                <property name=\"draw-value\">False</property>\n                <property name=\"hexpand\">True</property>\n                <property name=\"adjustment\">\n                  <object class=\"GtkAdjustment\">\n                    <property name=\"lower\">0</property>\n                    <property name=\"upper\">1</property>\n                    <property name=\"step-increment\">0.01</property>\n                    <property name=\"page-increment\">0.05</property>\n                    <property name=\"value\">0</property>\n                  </object>\n                </property>\n            </object>\n          </child>\n        </object>\n      </property>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkMenuButton\">\n      <property name=\"valign\">center</property>\n      <property name=\"direction\">up</property>\n      <property name=\"icon-name\">audio-headphones-symbolic</property>\n      <property name=\"tooltip-text\" translatable=\"yes\">Narration</property>\n      <property name=\"popover\">\n        <object class=\"GtkPopover\" id=\"tts-popover\">\n          <child>\n            <object class=\"GtkStack\" id=\"tts-stack\">\n              <property name=\"hhomogeneous\">False</property>\n              <property name=\"vhomogeneous\">False</property>\n              <child>\n                <object class=\"GtkStackPage\">\n                  <property name=\"name\">tts</property>\n                  <property name=\"child\">\n                    <object class=\"FoliateTTSBox\" id=\"tts-box\"/>\n                  </property>\n                </object>\n              </child>\n              <child>\n                <object class=\"GtkStackPage\">\n                  <property name=\"name\">media-overlay</property>\n                  <property name=\"child\">\n                    <object class=\"FoliateMediaOverlayBox\" id=\"media-overlay-box\"/>\n                  </property>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </property>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkButton\">\n      <property name=\"valign\">center</property>\n      <property name=\"action-name\">view.next</property>\n      <property name=\"tooltip-text\" translatable=\"yes\">Next</property>\n      <style><class name=\"image-button\"/></style>\n      <child>\n        <object class=\"GtkImage\" id=\"next-image\">\n          <property name=\"visible\">True</property>\n          <property name=\"icon-name\">go-next-symbolic</property>\n        </object>\n      </child>\n    </object>\n  </child>\n</template>\n<object class=\"GtkPopover\" id=\"location-popover\">\n  <child>\n    <object class=\"GtkBox\">\n      <property name=\"orientation\">vertical</property>\n      <child>\n        <object class=\"GtkStack\" id=\"location-popover-stack\">\n          <property name=\"transition-type\">slide-up-down</property>\n          <child>\n            <object class=\"GtkStackPage\">\n              <property name=\"name\">main</property>\n              <property name=\"child\">\n                <object class=\"GtkBox\">\n                  <property name=\"orientation\">vertical</property>\n                  <property name=\"margin-bottom\">12</property>\n                  <child>\n                    <object class=\"GtkBox\">\n                      <property name=\"orientation\">vertical</property>\n                      <child>\n                        <object class=\"GtkGrid\" id=\"timeBox\">\n                          <property name=\"row-spacing\">6</property>\n                          <property name=\"column-spacing\">18</property>\n                          <property name=\"margin-start\">12</property>\n                          <property name=\"margin-end\">12</property>\n                          <property name=\"margin-top\">9</property>\n                          <property name=\"hexpand\">True</property>\n                          <child>\n                            <object class=\"GtkLabel\">\n                              <property name=\"label\" translatable=\"yes\">Time Left in Section</property>\n                              <property name=\"hexpand\">True</property>\n                              <style><class name=\"caption\"/></style>\n                              <layout>\n                                <property name=\"row\">0</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\" id=\"time-section\">\n                              <style><class name=\"title-3\"/></style>\n                              <layout>\n                                <property name=\"row\">1</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkSeparator\">\n                              <property name=\"orientation\">vertical</property>\n                              <layout>\n                                <property name=\"row\">0</property>\n                                <property name=\"column\">1</property>\n                                <property name=\"row-span\">2</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\">\n                              <property name=\"label\" translatable=\"yes\">Time Left in Book</property>\n                              <property name=\"hexpand\">True</property>\n                              <style><class name=\"caption\"/></style>\n                              <layout>\n                                <property name=\"row\">0</property>\n                                <property name=\"column\">2</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\" id=\"time-book\">\n                              <style><class name=\"title-3\"/></style>\n                              <layout>\n                                <property name=\"row\">1</property>\n                                <property name=\"column\">2</property>\n                              </layout>\n                            </object>\n                          </child>\n                        </object>\n                      </child>\n                      <child>\n                        <object class=\"GtkSeparator\" id=\"time-sep\">\n                          <property name=\"margin-top\">12</property>\n                          <property name=\"margin-bottom\">12</property>\n                        </object>\n                      </child>\n                      <child>\n                        <object class=\"GtkGrid\">\n                          <property name=\"row-spacing\">6</property>\n                          <property name=\"column-spacing\">12</property>\n                          <property name=\"vexpand\">True</property>\n                          <child>\n                            <object class=\"GtkLabel\" id=\"page-label\">\n                              <property name=\"xalign\">1</property>\n                              <property name=\"label\" translatable=\"yes\">Page</property>\n                              <property name=\"margin-start\">12</property>\n                              <layout>\n                                <property name=\"row\">0</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkBox\" id=\"page-box\">\n                              <property name=\"spacing\">6</property>\n                              <layout>\n                                <property name=\"row\">0</property>\n                                <property name=\"column\">1</property>\n                              </layout>\n                              <child>\n                                <object class=\"FoliatePageListDropDown\" id=\"page-drop-down\">\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"GtkLabel\" id=\"page-total\"/>\n                              </child>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\" id=\"loc-label\">\n                              <property name=\"xalign\">1</property>\n                              <property name=\"label\" translatable=\"yes\">Location</property>\n                              <property name=\"margin-start\">12</property>\n                              <layout>\n                                <property name=\"row\">1</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkBox\" id=\"loc-box\">\n                              <property name=\"spacing\">6</property>\n                              <layout>\n                                <property name=\"row\">1</property>\n                                <property name=\"column\">1</property>\n                              </layout>\n                              <child>\n                                <object class=\"GtkEntry\" id=\"loc-entry\">\n                                  <property name=\"xalign\">1</property>\n                                  <property name=\"max-width-chars\">7</property>\n                                  <property name=\"input-purpose\">digits</property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"GtkLabel\" id=\"loc-total\"/>\n                              </child>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\">\n                              <property name=\"xalign\">1</property>\n                              <property name=\"label\" translatable=\"yes\">Identifier</property>\n                              <property name=\"margin-start\">12</property>\n                              <layout>\n                                <property name=\"row\">2</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkBox\">\n                              <style><class name=\"linked\"/></style>\n                              <child>\n                                <object class=\"GtkEntry\" id=\"cfi-entry\">\n                                  <property name=\"max-width-chars\">15</property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"GtkButton\" id=\"cfi-copy\">\n                                  <property name=\"icon-name\">edit-copy-symbolic</property>\n                                  <property name=\"tooltip-text\" translatable=\"yes\">Copy</property>\n                                  <property name=\"action-name\">navbar.copy-cfi</property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"GtkButton\" id=\"cfi-paste\">\n                                  <property name=\"icon-name\">edit-paste-symbolic</property>\n                                  <property name=\"tooltip-text\" translatable=\"yes\">Paste and Go</property>\n                                  <property name=\"action-name\">navbar.paste-cfi</property>\n                                </object>\n                              </child>\n                              <layout>\n                                <property name=\"row\">2</property>\n                                <property name=\"column\">1</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkLabel\">\n                              <property name=\"xalign\">1</property>\n                              <property name=\"label\" translatable=\"yes\">Section</property>\n                              <property name=\"margin-start\">12</property>\n                              <layout>\n                                <property name=\"row\">3</property>\n                                <property name=\"column\">0</property>\n                              </layout>\n                            </object>\n                          </child>\n                          <child>\n                            <object class=\"GtkBox\">\n                              <property name=\"spacing\">6</property>\n                              <layout>\n                                <property name=\"row\">3</property>\n                                <property name=\"column\">1</property>\n                              </layout>\n                              <child>\n                                <object class=\"GtkEntry\" id=\"section-entry\">\n                                  <property name=\"xalign\">1</property>\n                                  <property name=\"max-width-chars\">5</property>\n                                  <property name=\"input-purpose\">digits</property>\n                                </object>\n                              </child>\n                              <child>\n                                <object class=\"GtkLabel\" id=\"section-total\"/>\n                              </child>\n                            </object>\n                          </child>\n                        </object>\n                      </child>\n                    </object>\n                  </child>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkStackPage\">\n              <property name=\"name\">landmarks</property>\n              <property name=\"child\">\n                <object class=\"GtkScrolledWindow\">\n                  <property name=\"hexpand\">True</property>\n                  <property name=\"vexpand\">True</property>\n                  <child>\n                    <object class=\"FoliateLandmarkView\" id=\"landmark-view\">\n                      <property name=\"single-click-activate\">True</property>\n                      <style><class name=\"navigation-sidebar\"/></style>\n                    </object>\n                  </child>\n                </object>\n              </property>\n            </object>\n          </child>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkSeparator\">\n          <property name=\"margin-bottom\">9</property>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkBox\" id=\"section-buttons\">\n          <property name=\"spacing\">3</property>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"hexpand\">True</property>\n              <property name=\"action-name\">view.first-section</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">First Section</property>\n              <property name=\"icon-name\">go-first-symbolic</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"hexpand\">True</property>\n              <property name=\"action-name\">view.prev-section</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Previous Section</property>\n              <property name=\"icon-name\">go-previous-symbolic</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkToggleButton\" id=\"landmark-toggle\">\n              <property name=\"hexpand\">True</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Jump To…</property>\n              <property name=\"icon-name\">go-jump-symbolic</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"hexpand\">True</property>\n              <property name=\"action-name\">view.next-section</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Next Section</property>\n              <property name=\"icon-name\">go-next-symbolic</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n          <child>\n            <object class=\"GtkButton\">\n              <property name=\"hexpand\">True</property>\n              <property name=\"action-name\">view.last-section</property>\n              <property name=\"tooltip-text\" translatable=\"yes\">Last Section</property>\n              <property name=\"icon-name\">go-last-symbolic</property>\n              <style><class name=\"flat\"/></style>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n</object>\n</interface>\n"
  },
  {
    "path": "src/ui/selection-popover.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n<menu id=\"selection-menu\">\n  <section>\n    <attribute name=\"display-hint\">horizontal-buttons</attribute>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Copy</attribute>\n      <attribute name=\"action\">selection.copy</attribute>\n      <attribute name=\"verb-icon\">edit-copy-symbolic</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Highlight</attribute>\n      <attribute name=\"action\">selection.highlight</attribute>\n      <attribute name=\"verb-icon\">document-edit-symbolic</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Find</attribute>\n      <attribute name=\"action\">selection.search</attribute>\n      <attribute name=\"verb-icon\">edit-find-symbolic</attribute>\n    </item>\n  </section>\n  <section>\n    <!--\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Speak</attribute>\n      <attribute name=\"action\">selection.speak</attribute>\n    </item>\n    -->\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Speak from Here</attribute>\n      <attribute name=\"action\">selection.speak-from-here</attribute>\n    </item>\n  </section>\n  <section>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Copy with Citation</attribute>\n      <attribute name=\"action\">selection.copy-citation</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Copy Identifier</attribute>\n      <attribute name=\"action\">selection.copy-cfi</attribute>\n    </item>\n    <item>\n      <attribute name=\"label\" translatable=\"yes\">Print Selection…</attribute>\n      <attribute name=\"action\">selection.print</attribute>\n    </item>\n  </section>\n</menu>\n<template class=\"FoliateSelectionPopover\" parent=\"GtkPopoverMenu\">\n  <property name=\"menu-model\">selection-menu</property>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/tts-box.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n<template class=\"FoliateTTSBox\" parent=\"GtkBox\">\n  <property name=\"orientation\">vertical</property>\n  <property name=\"spacing\">9</property>\n  <child>\n    <object class=\"GtkGrid\">\n      <property name=\"column-spacing\">6</property>\n      <property name=\"row-spacing\">9</property>\n      <property name=\"margin-start\">6</property>\n      <!--\n      <child>\n        <object class=\"GtkLabel\">\n          <property name=\"label\" translatable=\"yes\">Voice</property>\n          <property name=\"xalign\">0</property>\n          <layout>\n            <property name=\"row\">0</property>\n            <property name=\"column\">0</property>\n          </layout>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkDropDown\" id=\"tts-voice-dropdown\">\n          <property name=\"hexpand\">True</property>\n          <layout>\n            <property name=\"row\">0</property>\n            <property name=\"column\">1</property>\n          </layout>\n        </object>\n      </child>\n      -->\n      <child>\n        <object class=\"GtkLabel\">\n          <property name=\"label\" translatable=\"yes\">Speed</property>\n          <property name=\"xalign\">0</property>\n          <layout>\n            <property name=\"row\">1</property>\n            <property name=\"column\">0</property>\n          </layout>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkScale\" id=\"tts-rate-scale\">\n          <property name=\"draw-value\">False</property>\n          <property name=\"width-request\">200</property>\n          <property name=\"hexpand\">True</property>\n          <property name=\"adjustment\">\n            <object class=\"GtkAdjustment\">\n              <property name=\"lower\">-100</property>\n              <property name=\"upper\">100</property>\n              <property name=\"step-increment\">5</property>\n              <property name=\"page-increment\">10</property>\n              <property name=\"value\">0</property>\n            </object>\n          </property>\n          <marks>\n            <mark value=\"0\"/>\n          </marks>\n          <layout>\n            <property name=\"row\">1</property>\n            <property name=\"column\">1</property>\n          </layout>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkLabel\">\n          <property name=\"label\" translatable=\"yes\">Pitch</property>\n          <property name=\"xalign\">0</property>\n          <layout>\n            <property name=\"row\">2</property>\n            <property name=\"column\">0</property>\n          </layout>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkScale\" id=\"tts-pitch-scale\">\n          <property name=\"draw-value\">False</property>\n          <property name=\"width-request\">200</property>\n          <property name=\"hexpand\">True</property>\n          <property name=\"adjustment\">\n            <object class=\"GtkAdjustment\">\n              <property name=\"lower\">-100</property>\n              <property name=\"upper\">100</property>\n              <property name=\"step-increment\">5</property>\n              <property name=\"page-increment\">10</property>\n              <property name=\"value\">0</property>\n            </object>\n          </property>\n          <marks>\n            <mark value=\"0\"/>\n          </marks>\n          <layout>\n            <property name=\"row\">2</property>\n            <property name=\"column\">1</property>\n          </layout>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"GtkSeparator\"/>\n  </child>\n  <child>\n    <object class=\"GtkBox\" id=\"media-buttons\">\n      <property name=\"halign\">center</property>\n      <property name=\"spacing\">12</property>\n      <property name=\"margin-top\">6</property>\n      <property name=\"margin-bottom\">6</property>\n      <property name=\"margin-start\">6</property>\n      <property name=\"margin-end\">6</property>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">tts.backward</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Previous</property>\n          <property name=\"icon-name\">media-seek-backward-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkToggleButton\" id=\"play-button\">\n          <property name=\"action-name\">tts.play</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Play/Pause</property>\n          <property name=\"icon-name\">media-playback-start-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"large-button\"/><class name=\"suggested-action\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">tts.forward</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Next</property>\n          <property name=\"icon-name\">media-seek-forward-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n      <child>\n        <object class=\"GtkButton\">\n          <property name=\"valign\">center</property>\n          <property name=\"action-name\">tts.stop</property>\n          <property name=\"tooltip-text\" translatable=\"yes\">Stop</property>\n          <property name=\"icon-name\">media-playback-stop-symbolic</property>\n          <style><class name=\"circular\"/><class name=\"flat\"/></style>\n        </object>\n      </child>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/ui/view-preferences-window.ui",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><interface>\n<template class=\"FoliateViewPreferencesWindow\" parent=\"AdwPreferencesDialog\">\n  <child>\n    <object class=\"AdwPreferencesPage\">\n      <property name=\"title\" translatable=\"yes\">Font</property>\n      <property name=\"icon-name\">font-select-symbolic</property>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <property name=\"title\" translatable=\"yes\">Font Size</property>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"default-font-size\">\n              <property name=\"title\" translatable=\"yes\">Default Font Size</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">1</property>\n                  <property name=\"upper\">72</property>\n                  <property name=\"step-increment\">1</property>\n                  <property name=\"page-increment\">1</property>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"minimum-font-size\">\n              <property name=\"title\" translatable=\"yes\">Minimum Font Size</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">1</property>\n                  <property name=\"upper\">72</property>\n                  <property name=\"step-increment\">1</property>\n                  <property name=\"page-increment\">1</property>\n                </object>\n              </property>\n            </object>\n          </child>\n        </object>\n      </child>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <property name=\"title\" translatable=\"yes\">Font Family</property>\n          <child>\n            <object class=\"AdwComboRow\" id=\"default-font\">\n              <property name=\"title\" translatable=\"yes\">Default Font</property>\n              <property name=\"model\">\n                <object class=\"GtkStringList\">\n                  <items>\n                    <item translatable=\"yes\">Serif</item>\n                    <item translatable=\"yes\">Sans-serif</item>\n                  </items>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Override Publisher Font</property>\n              <property name=\"activatable-widget\">override-font</property>\n              <child>\n                <object class=\"GtkSwitch\" id=\"override-font\">\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </child>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Serif Font</property>\n              <property name=\"activatable-widget\">serif-font</property>\n              <child>\n                <object class=\"GtkFontButton\" id=\"serif-font\">\n                  <property name=\"level\">family</property>\n                  <property name=\"use-font\">true</property>\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Sans-Serif Font</property>\n              <property name=\"activatable-widget\">sans-serif-font</property>\n              <child>\n                <object class=\"GtkFontButton\" id=\"sans-serif-font\">\n                  <property name=\"level\">family</property>\n                  <property name=\"use-font\">true</property>\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Monospace Font</property>\n              <property name=\"activatable-widget\">monospace-font</property>\n              <child>\n                <object class=\"GtkFontButton\" id=\"monospace-font\">\n                  <property name=\"level\">family</property>\n                  <property name=\"use-font\">true</property>\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"AdwPreferencesPage\">\n      <property name=\"title\" translatable=\"yes\">Layout</property>\n      <property name=\"icon-name\">document-page-setup-symbolic</property>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <property name=\"title\" translatable=\"yes\">Paragraph</property>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"line-height\">\n              <property name=\"title\" translatable=\"yes\">Line Height</property>\n              <property name=\"digits\">2</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">1</property>\n                  <property name=\"upper\">3</property>\n                  <property name=\"step-increment\">0.05</property>\n                  <property name=\"page-increment\">0.1</property>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Full Justification</property>\n              <property name=\"activatable-widget\">justify</property>\n              <child>\n                <object class=\"GtkSwitch\" id=\"justify\">\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Hyphenation</property>\n              <property name=\"activatable-widget\">hyphenate</property>\n              <child>\n                <object class=\"GtkSwitch\" id=\"hyphenate\">\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\"\n        </object>\n      </child>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <property name=\"title\" translatable=\"yes\">Page</property>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"gap\">\n              <property name=\"title\" translatable=\"yes\">Margins</property>\n              <property name=\"digits\">2</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">0</property>\n                  <property name=\"upper\">0.5</property>\n                  <property name=\"step-increment\">0.01</property>\n                  <property name=\"page-increment\">0.01</property>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"max-column-count\">\n              <property name=\"title\" translatable=\"yes\">Maximum Number of Columns</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">1</property>\n                  <property name=\"upper\">10</property>\n                  <property name=\"step-increment\">1</property>\n                  <property name=\"page-increment\">1</property>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"max-inline-size\">\n              <property name=\"title\" translatable=\"yes\">Maximum Inline Size</property>\n              <property name=\"subtitle\" translatable=\"yes\">Maximum column width (horizontal writing) or height (vertical writing)</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">100</property>\n                  <property name=\"upper\">5000</property>\n                  <property name=\"step-increment\">60</property>\n                  <property name=\"page-increment\">60</property>\n                </object>\n              </property>\n            </object>\n          </child>\n          <child>\n            <object class=\"AdwSpinRow\" id=\"max-block-size\">\n              <property name=\"title\" translatable=\"yes\">Maximum Block Size</property>\n              <property name=\"subtitle\" translatable=\"yes\">Maximum height (horizontal writing) or width (vertical writing)</property>\n              <property name=\"adjustment\">\n                <object class=\"GtkAdjustment\">\n                  <property name=\"lower\">100</property>\n                  <property name=\"upper\">5000</property>\n                  <property name=\"step-increment\">60</property>\n                  <property name=\"page-increment\">60</property>\n                </object>\n              </property>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"AdwPreferencesPage\">\n      <property name=\"title\" translatable=\"yes\">Color</property>\n      <property name=\"icon-name\">applications-graphics-symbolic</property>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <child>\n            <object class=\"GtkFlowBox\" id=\"theme-flow-box\">\n              <property name=\"selection-mode\">none</property>\n              <property name=\"homogeneous\">True</property>\n              <property name=\"row-spacing\">12</property>\n              <property name=\"column-spacing\">12</property>\n              <style><class name=\"theme-container\"/></style>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n  <child>\n    <object class=\"AdwPreferencesPage\">\n      <property name=\"title\" translatable=\"yes\">Behavior</property>\n      <property name=\"icon-name\">input-mouse-symbolic</property>\n      <child>\n        <object class=\"AdwPreferencesGroup\">\n          <child>\n            <object class=\"AdwActionRow\">\n              <property name=\"title\" translatable=\"yes\">Reduce Animation</property>\n              <property name=\"activatable-widget\">reduce-animation</property>\n              <child>\n                <object class=\"GtkSwitch\" id=\"reduce-animation\">\n                  <property name=\"valign\">center</property>\n                </object>\n              </child>\n            </object>\n          </child>\n        </object>\n      </child>\n    </object>\n  </child>\n</template>\n</interface>\n"
  },
  {
    "path": "src/utils.js",
    "content": "import Gtk from 'gi://Gtk'\nimport Adw from 'gi://Adw'\nimport GObject from 'gi://GObject'\nimport Gio from 'gi://Gio'\nimport GLib from 'gi://GLib'\nimport Gdk from 'gi://Gdk'\nimport GdkPixbuf from 'gi://GdkPixbuf'\nimport { gettext as _ } from 'gettext'\n\n// convert to camel case\nconst camel = x => x.toLowerCase().replace(/[-:](.)/g, (_, g) => g.toUpperCase())\n\nexport const memoize = f => {\n    const memory = new Map()\n    return obj => {\n        if (memory.has(obj)) return memory.get(obj)\n        else {\n            const result = f(obj)\n            memory.set(obj, result)\n            return result\n        }\n    }\n}\n\nexport const wait = ms => new Promise(resolve => setTimeout(resolve, ms))\n\nexport const debounce = (f, wait, immediate) => {\n    let timeout\n    return (...args) => {\n        const later = () => {\n            timeout = null\n            if (!immediate) f(...args)\n        }\n        const callNow = immediate && !timeout\n        if (timeout) clearTimeout(timeout)\n        timeout = setTimeout(later, wait)\n        if (callNow) f(...args)\n    }\n}\n\nexport const listDir = function* (path, attributes = 'standard::name') {\n    const dir = Gio.File.new_for_path(path)\n    if (!GLib.file_test(path, GLib.FileTest.IS_DIR)) return\n    const children = dir.enumerate_children(attributes, Gio.FileQueryInfoFlags.NONE, null)\n    let info\n    while ((info = children.next_file(null)) != null) try {\n        const name = info.get_name()\n        yield { file: dir.get_child(name), name, info }\n    } catch (e) {\n        console.error(e)\n    }\n}\n\nconst decoder = new TextDecoder()\nexport const readFile = (file, defaultValue = '') => {\n    try {\n        const [success, data/*, tag*/] = file.load_contents(null)\n        if (success) return decoder.decode(data)\n        else throw new Error()\n    } catch (e) {\n        console.debug(e)\n        return defaultValue\n    }\n}\nexport const readJSONFile = file => JSON.parse(readFile(file, '{}'))\n\nexport const JSONStorage = GObject.registerClass({\n    GTypeName: 'FoliateStorage',\n    Signals: {\n        'modified': {},\n        'externally-modified': {},\n    },\n}, class extends GObject.Object {\n    #modified\n    #file\n    #indent\n    #data\n    constructor(path, name, indent) {\n        super()\n        this.#indent = indent\n        this.#file = Gio.File.new_for_path(GLib.build_filenamev(\n            [path, `${encodeURIComponent(name)}.json`]))\n        this.#data = this.#read()\n        const monitor = this.#file.monitor(Gio.FileMonitorFlags.NONE, null)\n        monitor.connect('changed', () => {\n            if (this.#getModified() > this.#modified) {\n                console.debug('Externally modified: ' + this.#file.get_path())\n                this.#data = this.#read()\n                this.emit('externally-modified')\n            }\n        })\n        this.save = debounce(this.saveNow.bind(this), 1000)\n    }\n    #getModified() {\n        try {\n            const info = this.#file.query_info('time::modified',\n                Gio.FileQueryInfoFlags.NONE, null)\n            return info.get_attribute_uint64('time::modified')\n        } catch (e) {\n            console.debug(e)\n            this.#data = {}\n            this.emit('externally-modified')\n            return null\n        }\n    }\n    #read() {\n        this.#modified = this.#getModified()\n        return readJSONFile(this.#file)\n    }\n    saveNow() {\n        console.debug('Writing to ' + this.#file.get_path())\n        const parent = this.#file.get_parent().get_path()\n        const mkdirp = GLib.mkdir_with_parents(parent, parseInt('0755', 8))\n        if (mkdirp === 0) {\n            const contents = JSON.stringify(this.#data, null, this.#indent)\n            const [success/*, tag*/] = this.#file.replace_contents(contents,\n                null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, null)\n            if (success) {\n                this.#modified = this.#getModified()\n                this.emit('modified')\n                return true\n            }\n        }\n        throw new Error('Could not save file')\n    }\n    get(property, defaultValue) {\n        return property in this.#data ? this.#data[property] : defaultValue\n    }\n    set(property, value, save = true) {\n        this.#data[property] = value\n        if (save) this.save()\n    }\n    clear() {\n        try {\n            this.#file.delete(null)\n        } catch (e) {\n            console.warn(e)\n        }\n    }\n    get path() {\n        return this.#file.get_path()\n    }\n    export() {\n        return this.#data\n    }\n})\n\nexport const getClipboard = () => Gdk.Display.get_default().get_clipboard()\n\nexport const setClipboardText = (text, overlay) => {\n    getClipboard().set_content(Gdk.ContentProvider.new_for_value(text))\n    if (overlay) addClipboardToast(overlay)\n}\n\nexport const getClipboardText = () => new Promise((resolve, reject) => {\n    const clipboard = getClipboard()\n    clipboard.read_text_async(null, (_, res) => {\n        try {\n            resolve(clipboard.read_text_finish(res))\n        } catch (e) {\n            reject(e)\n        }\n    })\n})\n\nexport const addClipboardToast = overlay =>\n    overlay.add_toast(new Adw.Toast({ title: _('Copied to clipboard'), timeout: 1 }))\n\nexport const base64ToPixbuf = base64 => {\n    if (!base64) return null\n    try {\n        const data = GLib.base64_decode(base64)\n        const imageStream = Gio.MemoryInputStream.new_from_bytes(data)\n        return GdkPixbuf.Pixbuf.new_from_stream(imageStream, null)\n    } catch (e) {\n        console.warn(e)\n        return null\n    }\n}\n\nexport const connect = (object, obj) => {\n    for (const [key, val] of Object.entries(obj)) object.connect(key, val)\n    return object\n}\n\nexport const disconnect = (object, ids) => {\n    if (!object || !ids) return\n    for (const id of ids) object.disconnect(id)\n}\n\nconst connections = new WeakMap()\n\nexport const connectWith = (a, b, obj) => {\n    if (!connections.has(a)) connections.set(a, new Map())\n    connections.get(a).set(b, Array.from(Object.entries(obj), ([k, v]) => b.connect(k, v)))\n    return b\n}\n\nexport const disconnectWith = (a, b) => {\n    for (const id of connections.get(a).get(b)) b.disconnect(id)\n}\n\nexport const settings = name => {\n    const schema = pkg.name + (name ? '.' + name : '')\n    try { return new Gio.Settings({ schema }) } catch {}\n}\n\nexport const bindSettings = (name, target, arr) => {\n    const s = settings(name)\n    if (!s) return\n    for (const prop of arr)\n        s.bind(prop, target, prop, Gio.SettingsBindFlags.DEFAULT)\n    return s\n}\n\nexport const makeParams = obj => Object.fromEntries(Object.entries(obj).map(([k, v]) => {\n    const type = typeof v === 'string' ? v : 'object'\n    const flags = GObject.ParamFlags.READWRITE\n    return [k, GObject.ParamSpec[type](k, k, k, flags, ...(\n        type === 'string' ? ['']\n        : type === 'boolean' ? [false]\n        : type === 'double' ? [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, 0]\n        : type === 'int' ? [GLib.MININT32, GLib.MAXINT32, 0]\n        : type === 'uint' ? [0, GLib.MAXUINT32, 0]\n        : type === 'object' ? [GObject.Object.$gtype, null]\n        : [v, null]\n    ))]\n}))\n\nexport const makeDataClass = (name, params) => {\n    const keys = Object.keys(params)\n    return GObject.registerClass({\n        GTypeName: name,\n        Properties: makeParams(params),\n    }, class extends GObject.Object {\n        get keys() {\n            return keys\n        }\n        toJSON() {\n            return Object.fromEntries(keys.map(k => [k, this[k]]))\n        }\n        toCamel() {\n            return Object.fromEntries(keys.map(k => [camel(k), this[k]]))\n        }\n        connectAll(f) {\n            return keys.map(k => this.connect(`notify::${k}`, f))\n        }\n        bindProperties(obj) {\n            const flag = GObject.BindingFlags.BIDIRECTIONAL | GObject.BindingFlags.SYNC_CREATE\n            for (const [prop, [target, targetProp, invert]] of Object.entries(obj))\n                this.bind_property(prop, target, targetProp,\n                    flag | (invert ? GObject.BindingFlags.INVERT_BOOLEAN : 0))\n        }\n        bindSettings(name) {\n            return bindSettings(name, this, keys)\n        }\n        unbindSettings() {\n            for (const k of keys) Gio.Settings.unbind(this, k)\n        }\n    })\n}\n\nexport const addSimpleActions = (actions, group = new Gio.SimpleActionGroup()) => {\n    for (const [name, func] of Object.entries(actions)) {\n        const action = new Gio.SimpleAction({ name })\n        action.connect('activate', func)\n        group.add_action(action)\n    }\n    return group\n}\n\nexport const addPropertyActions = (obj, props, group = new Gio.SimpleActionGroup()) => {\n    for (const prop of props) group.add_action(Gio.PropertyAction.new(prop, obj, prop))\n    return group\n}\n\nexport const addMethods = (obj, { actions, props, signals }) => {\n    const group = typeof obj.add_action === 'function' ? obj : new Gio.SimpleActionGroup()\n    if (actions) addSimpleActions(Object.fromEntries(\n        actions.map(name => [name, () => obj[camel(name)]()])), group)\n    if (props) addPropertyActions(obj, props, group)\n    if (signals) connect(obj, Object.fromEntries(\n        signals.map(s => [s, obj[camel(`connect-${s}`)].bind(obj)])))\n    return group\n}\n\nexport const addShortcuts = (shortcuts, controller = new Gtk.ShortcutController()) => {\n    for (const [accel, action] of Object.entries(shortcuts))\n        controller.add_shortcut(new Gtk.Shortcut({\n            action: typeof action === 'string'\n                ? Gtk.NamedAction.new(action)\n                : Gtk.CallbackAction.new(action),\n            trigger: Gtk.ShortcutTrigger.parse_string(accel),\n        }))\n    return controller\n}\n\n// gliter, short for GList Iterator\nexport const gliter = model => ({\n    [Symbol.iterator]: () => {\n        let i = 0\n        return {\n            next: () => {\n                const item = model.get_item(i++)\n                if (item) return { value: [i - 1, item] }\n                else return { done: true }\n            },\n        }\n    },\n})\n\nexport const list = (arr, item) => {\n    const store = new Gio.ListStore()\n    for (const el of arr) store.append(new item(el))\n    return store\n}\n\nexport const tree = (arr, item, autoexpand = true) => {\n    const root = new Gio.ListStore()\n    const makeItems = (arr, list) => {\n        for (const el of arr) {\n            const subitems = Array.isArray(el.subitems)\n                ? makeItems(el.subitems, new Gio.ListStore())\n                : (el.subitems ?? null)\n            list.append(new item({ ...el, subitems }))\n        }\n        return list\n    }\n    if (arr) makeItems(arr, root)\n    return Gtk.TreeListModel.new(root, false, autoexpand, item => item.subitems ?? null)\n}\n\n// go through all child widgets\nexport const walk = (widget, callback) => {\n    const f = widget => {\n        callback(widget)\n        let child = widget.get_first_child()\n        while (child != null) {\n            f(child)\n            child = child.get_next_sibling()\n        }\n    }\n    f(widget)\n}\n\nexport const getGtkDir = dir =>\n    dir === 'rtl' ? Gtk.TextDirection.RTL : Gtk.TextDirection.LTR\n\n// recursively set direction\nexport const setDirection = (widget, dir) => {\n    if (typeof dir === 'string') dir = getGtkDir(dir)\n    walk(widget, widget => widget.set_direction(dir))\n}\n\nexport const RGBA = color => {\n    const rgba = new Gdk.RGBA()\n    rgba.parse(color)\n    return rgba\n}\n\nconst invert = rgba => {\n    rgba.red = 1 - rgba.red\n    rgba.green = 1 - rgba.green\n    rgba.blue = 1 - rgba.blue\n    return rgba\n}\n\n// replicate CSS's hue-rotate filter\nconst hueRotate = (rgba, deg) => {\n    const r = rgba.red * 255, g = rgba.green * 255, b = rgba.blue * 255\n    const lumR = 0.2126, lumG = 0.7152, lumB = 0.0722\n    const hueRotateR = 0.143, hueRotateG = 0.140, hueRotateB = 0.283\n    const rad = deg * Math.PI / 180\n    const cos = Math.cos(rad)\n    const sin = Math.sin(rad)\n    ;[rgba.red, rgba.green, rgba.blue] = [\n        r * (lumR + (1 - lumR) * cos - lumR * sin)\n            + g * (lumG - lumG * cos - lumG * sin)\n            + b * (lumB - lumB * cos + (1 - lumB) * sin),\n        r * (lumR - lumR * cos + hueRotateR * sin)\n            + g * (lumG + (1 - lumG) * cos + hueRotateG * sin)\n            + b * (lumB - lumB * cos - hueRotateB * sin),\n        r * (lumR - lumR * cos - (1 - lumR) * sin)\n            + g * (lumG - lumG * cos + lumG * sin)\n            + b * (lumB + (1 - lumB) * cos + lumB * sin),\n    ].map(x => Math.max(0, Math.min(255, x)) / 255)\n    return rgba\n}\n\nexport const invertColor = color => hueRotate(invert(RGBA(color)), 180).to_string()\n\nexport const addStyle = (widget, style) => {\n    const cssProvider = new Gtk.CssProvider()\n    cssProvider.load_from_data(style, -1)\n    const ctx = widget.get_style_context()\n    ctx.add_provider(cssProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)\n    return widget\n}\n\nexport const addClass = (widget, ...classes) => {\n    for (const c of classes) widget.add_css_class(c)\n    return widget\n}\n"
  },
  {
    "path": "src/webview.js",
    "content": "import GObject from 'gi://GObject'\nimport GLib from 'gi://GLib'\nimport Gio from 'gi://Gio'\nimport WebKit from 'gi://WebKit'\n\nconst registerScheme = (name, callback) =>\n    WebKit.WebContext.get_default().register_uri_scheme(name, req => {\n        try {\n            callback(req)\n        } catch (e) {\n            console.error(e)\n            req.finish_error(new GLib.Error(\n                Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND, 'Not found'))\n        }\n    })\n\nconst registerPaths = (name, dirs) => registerScheme(name, req => {\n    const path = pkg.MESON\n        ? req.get_path().replace(/(?<=\\/icons)\\/hicolor(?=\\/scalable\\/)/, '')\n        : req.get_path()\n    if (dirs.every(dir => !path.startsWith(dir))) throw new Error()\n    const mime = path.endsWith('.js') || path.endsWith('.mjs') ? 'application/javascript'\n        : path.endsWith('.svg') ? 'image/svg+xml' : 'text/html'\n    const file = Gio.File.new_for_uri(pkg.moduleuri(path))\n    req.finish(file.read(null), -1, mime)\n})\n\nregisterPaths('foliate', ['/reader/', '/foliate-js/'])\nregisterPaths('foliate-opds', ['/opds/', '/foliate-js/', '/icons/', '/common/'])\nregisterPaths('foliate-selection-tool', ['/selection-tools/', '/icons/', '/common/'])\n\n/*\n`.run_javascript()` is hard to use if you're running an async function. You have\nto use messaging which is quite cumbersome.\n\nSo the idea is that we create a promise that can be resolved from the outside\nwhenever we're calling an async function inside the webview.\n\nThen, after the function inside the webview resolves, we send a back a message\nthat will be used to resolve the aforementioned promise.\n*/\n\nconst makeToken = () => Math.random().toString()\n\nclass PromiseStore {\n    #promises = new Map()\n    make(token) {\n        return new Promise((resolve, reject) => this.#promises.set(token, {\n            resolve: value => (resolve(value), this.#promises.delete(token)),\n            reject: value => (reject(value), this.#promises.delete(token)),\n        }))\n    }\n    resolve(token, ok, value) {\n        const promise = this.#promises.get(token)\n        if (ok) promise.resolve(value)\n        else promise.reject(value)\n    }\n}\n\nconst pass = obj => typeof obj === 'undefined' ? ''\n    : `JSON.parse(decodeURI(\"${encodeURI(JSON.stringify(obj))}\"))`\n\nconst makeHandlerStr = name => `globalThis.webkit.messageHandlers[\"${name}\"]`\n\nexport const WebView = GObject.registerClass({\n    GTypeName: 'FoliateWebView',\n}, class extends WebKit.WebView {\n    #promises = new PromiseStore()\n    #handlerName = pkg.name + '.' + makeToken()\n    #handler = makeHandlerStr(this.#handlerName)\n    constructor(params) {\n        super(params)\n        this.registerHandler(this.#handlerName, ({ token, ok, payload }) =>\n            this.#promises.resolve(token, ok, payload))\n\n        this.connect('web-process-terminated', (_, reason) => {\n            switch (reason) {\n                case WebKit.WebProcessTerminationReason.CRASHED:\n                    console.error('My name is Oh-No-WebKit-Crashed, bug of bugs!')\n                    console.error('Look on this line, Developer -- despair!')\n                    break\n                case WebKit.WebProcessTerminationReason.EXCEEDED_MEMORY_LIMIT:\n                    console.error('Memory, all alone in the moonlight')\n                    console.error('I can dream of the old days')\n                    console.error('Life was beautiful then')\n                    console.error('I remember the time I knew what happiness was')\n                    console.error('Let the memory live again')\n                    break\n            }\n        })\n    }\n    // execute arbitrary js without returning anything\n    run(script) {\n        return new Promise(resolve =>\n            this.evaluate_javascript(script, -1, null, null, null, () => resolve()))\n    }\n    eval(exp) {\n        return new Promise((resolve, reject) =>\n            this.evaluate_javascript(`JSON.stringify(${exp})`, -1, null, null, null, (_, result) => {\n                try {\n                    const jscValue = this.evaluate_javascript_finish(result)\n                    const str = jscValue.to_string()\n                    const value = str != null ? JSON.parse(str) : null\n                    resolve(value)\n                } catch (e) {\n                    reject(e)\n                }\n            }))\n    }\n    // call async function with a parameter object\n    exec(func, params) {\n        const token = makeToken()\n        const script = `(async () => await ${func}(${pass(params)}))()\n            .then(payload => ${this.#handler}.postMessage(\n                JSON.stringify({ token: \"${token}\", ok: true, payload })))\n            .catch(e => ${this.#handler}.postMessage(\n                JSON.stringify({ token: \"${token}\", ok: false, payload:\n                    e?.message + '\\\\n' + e?.stack + '\\\\n' + \\`${func}\\` })))`\n        const promise = this.#promises.make(token)\n        this.evaluate_javascript(script, -1, null, null, null, () => {})\n        return promise\n    }\n    // call generator, get async generator object\n    async iter(func, params) {\n        const name = makeToken()\n        const instance = `globalThis[\"${this.#handlerName}\"][\"${name}\"]`\n        const script = `globalThis[\"${this.#handlerName}\"] ??= {}\n            ${instance} = ${func}(${pass(params)})`\n        await this.run(script)\n        const next = async args => {\n            const result = await this.exec(`${instance}.next`, args)\n            if (result.done) await this.run(`delete ${instance}`)\n            return result\n        }\n        return {\n            next,\n            [Symbol.asyncIterator]: () => ({ next }),\n            // technically these should return `IteratorResult`, but do not\n            return: async () => this.run(`${instance}?.return?.()`),\n            throw: async () => this.run(`${instance}?.throw?.()`),\n        }\n    }\n    // the revserse of the `exec` method\n    // scripts in the webview can get response from GJS as a promise\n    provide(name, callback) {\n        const handlerName = this.#handlerName + '.' + name\n        const handler = makeHandlerStr(handlerName)\n        this.registerHandler(handlerName, ({ token, payload }) => {\n            Promise.resolve(callback(payload))\n                .then(value => this.run(\n                    `globalThis.${name}.resolve(\"${token}\", true, ${pass(value)})`))\n                .catch(e => {\n                    console.error(e)\n                    this.run(`globalThis.${name}.resolve(\"${token}\", false)`)\n                })\n        })\n        return () => {\n            const script = `globalThis[\"${name}\"] = (() => {\n                const makeToken = () => Math.random().toString()\n                ${PromiseStore.toString()}\n                const promises = new PromiseStore()\n                const func = params => {\n                    const token = makeToken()\n                    const promise = promises.make(token)\n                    ${handler}.postMessage(JSON.stringify({ token, payload: params }))\n                    return promise\n                }\n                func.resolve = promises.resolve.bind(promises)\n                return func\n            })()`\n            this.run(script)\n        }\n    }\n    registerHandler(name, callback) {\n        const manager = this.get_user_content_manager()\n        manager.connect(`script-message-received::${name}`, (_, result) => {\n            try {\n                callback(JSON.parse(result.to_string()))\n            } catch (e) {\n                console.error(e)\n            }\n        })\n        const success = manager.register_script_message_handler(name, null)\n        if (!success) throw new Error('Failed to register script message handler')\n    }\n    #load(func, ...args) {\n        return new Promise((resolve, reject) => {\n            const changed = this.connect('load-changed', (_, event) => {\n                if (event === WebKit.LoadEvent.FINISHED) {\n                    this.disconnect(changed)\n                    resolve()\n                }\n            })\n            const failed = this.connect('load-failed', () => {\n                this.disconnect(failed)\n                reject()\n            })\n            func(...args)\n        })\n    }\n    loadURI(uri) {\n        return this.#load(this.load_uri.bind(this), uri)\n    }\n    loadHTML(html, base = null) {\n        return this.#load(this.load_html.bind(this), html, base)\n    }\n})\n"
  }
]